Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 3 : Processus Logiciel Auteurs : LIG/Adèle – Orange Labs/MAPS/MEP Workshop Cilia : 21 juin 2010
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 2 Plan Médiation Historique Technologies de médiation Cilia : génération OSGi et multi-personnalités Framework Cilia Modèle dimplantation Modèle de conception Médiation de données et de service Processus logiciel Vue densemble Spécification darchitecture Spécification dinstances Déploiement Cas d'usage Interopérabilité dans un Système dInformation Remontée de données dans un Système Embarqué
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 3 Processus Logiciel Vue densemble Spécification darchitecture Spécification dinstances Déploiement
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 4 Branche "spécification darchitecture" Modèle de médiation Cilia Spécification des médiateurs du projet en DSL XML Modèle de programmation Code du Processor Conception détaillée + Cilia Data Conception Développeur Code du scheduler Code du dispatcher Déclaration de la classe dimplantation du processor
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 5 Branche "spécification des instances" Machine d'exécution iPOJO Service Client Déploiement générer Spécification des médiateurs du projet Instances de médiateur iPOJO Spécification de la chaîne de médiation : modèle DSL XML ou API Java Conception Modèle de médiation Cilia
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 6 Processus Logiciel Vue densemble Spécification darchitecture Spécification dinstances Déploiement
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 7 Conception des médiateurs Un médiateur est composé de trois constituants : Un scheduler, un processor, un dispatcher Un médiateur est typé et le type fait partie dune famille ("category") Exemple : Transform, Split, Aggregate, etc. Les types sont uniques dans l'espace d'un projet Garanti par construction
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 8 Bibliothèques Cilia Quest-ce quune bibliothèque ? Une bibliothèque est un bundle regroupant : - des spécifications de médiateurs (fichiers XML), - des spécifications de dispatchers et de schedulers, - des fichiers.class de processor, scheduler et dispatcher Les médiateurs, schedulers et dispatchers sont réutilisables La bibliothèque Cilia (Cilia compendium) Elle contient des médiateurs, des schedulers et des dispatchers prédéfinis Bibliothèques liées à des domaines Les entreprises doivent développer leur propre bibliothèque pour apporter des réponses spécifiques Exemples : Médiation de service/Système dInformation, Médiation de données/Habitat
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 9 Exemple : Translator Scheduler = synchronisation But : transmettre sans délai le message à la partie "traitement métier" Handler "immediate-scheduler" de la bibliothèque Cilia Processor = traitement métier But : traduire des éléments du contenu d'un message en utilisant un dictionnaire local au médiateur (paramètre) POJO TranslatorProcessor Dispatcher = routage But : router un message vers le composant destinataire Handler "multicast-dispatcher" de la bibliothèque Cilia Cilia compendium : Translator
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 10 Spécification de types de médiateur DSL XML Utilisation dune syntaxe spécifique à la médiation Basé sur le modèle conceptuel Cilia Réutilisation possible de Scheduler et Dispatcher
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 11 Exemple : spécification de Translator Cilia compendium : Translator
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 12 Processus Logiciel Vue densemble Spécification darchitecture Spécification dinstances Déploiement
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 13 Instances et liaisons Instances de médiateur Elles sont typées (nom du médiateur) Elles peuvent être spécifiées en DSL XML ou en utilisant lAPI Java qui sont conformes au modèle conceptuel de Cilia Liaisons Elles sont liées à la logique de création et de déploiement dune chaîne Elles sont définies par des noms de port (outport – inport) et un protocole - Exemple 1 : event-admin pour léchange dévénements entre deux instances de médiateur co-localisées. Les événements peuvent être envoyés de façon asynchrone ou synchrone - Exemple 2 : jms pour léchange dévénements entre deux instances de médiateur distribuées
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 14 Exemple de deux instances de Translator FacturationFixe FacturationMobile
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 15 Exemple de spécification de liaisons … <binding from="xslttransformer-1 to="xmlsplitterwithcorrelation-1/> <binding from="xmlsplitterwithcorrelation-1:fixe to="translator-1" /> <binding from="xmlsplitterwithcorrelation-1:mobile to="translator-2" /> <binding from="xmlsplitterwithcorrelation-1:internet to="translator-3" /> … Ports de sortie
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 16 Processus Logiciel Vue densemble Spécification darchitecture Spécification dinstances Déploiement
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 17 Déploiement Machine d'exécution iPOJO Service Client Déploiement générer Spécification des médiateurs du projet : Maven => bundle (.jar) Instances de médiateur iPOJO Spécification de la chaîne de médiation : fichier XML