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.

Slides:



Advertisements
Présentations similaires
Le moteur
Advertisements

Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
Les Web Services Schéma Directeur des Espaces numériques de Travail
Cilia, un framework de médiation ouvert, léger, multi-personnalités
Mon carnet De comportement
Génie Logiciel 2 Julie Dugdale
Classe : …………… Nom : …………………………………… Date : ………………..
Story-board version 1.1 Statut : à valider Rédacteur : Nicole Djuissi
Les Prepositions.
Projet n°4 : Objecteering
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.
Cilia, un framework de médiation ouvert, léger, multi-personnalités
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.
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.
Le Modèle Logique de Données
Directeur de Thèse : Pr. Witold Litwin
Architecture de réseaux
Calcul mental 3ème 2 Septembre 2010
Autorisations Utilisation eCATT
Atelier Portail SAP Durée : 2h.
Plan de formation Chapitre 1 : Présentation de SAP
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
Webex.
Conception d’une application de gestion de fiches études
Logiciel de Mobile Device Management
Les Enterprise Service Bus
Développement d’applications web
ON SQUATTE AUSSI CODING4FUN LIKE A BOSS SQUATTEUR : RUDY HUYN.
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
L’utilisation des bases de données
Patterns et maintenabilité dans lindustrie : un cas concret Christophe Saint-Marcel Silicomp Ingénierie.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
SYSTEMES D’INFORMATION
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Projet Génie Logiciel & UML, Bases de Données & Interfaces
JSD et algèbre de processus
Programmation concurrente
Gilbert TOUT NEST QUE CALCUL Vous vous êtes certainement déjà demandé ce que voulait dire « se donner à 100% » ?
Notre calendrier français MARS 2014
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.
Cilia Mediation Framework v0.9.0 Implantation.. Plan Cilia: c'est quoi? Capacités. Cilia: Modèle d'implantation. Mise en œuvre: Médiateur Cilia. Assemblage.
C'est pour bientôt.....
Veuillez trouver ci-joint
Sécurité et Vie Privée Dans les Réseaux Sociaux
BLOGS (carnets web, cybercarnets) Didactiques des NTICS.
Patrons de conceptions de créations
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
Stage 2A CS80 pour Origin 1/28. 1) Presentation of the internship 2) The Multi-Oscillator 3) Connection-GUI’s API Conclusion Stage 2A CS80 pour Origin.
1 Modèle pédagogique d’un système d’apprentissage (SA)
Introduction.
Bases de données   J-L Hainaut Partie 1 - Comprendre les bases de données Partie 2 - Utiliser les bases de données Partie 3 - Développer une base.
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
CALENDRIER-PLAYBOY 2020.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
USAM BRIDGE H O W E L L -CLASSIQUE
Centre d’échange d’informations sur la Convention sur la Diversité Biologique Bienvenue dans le cours sur l’ajout d’une page web sur un site web développé.
9 paires séries de 3 étuis ( n° 1 à 27 )
Projet de stage d’année IIR4 sous le thème:
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
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.
Cilia, un framework de médiation ouvert, léger, multi-personnalités
Transcription de la présentation:

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 4 : Cas d'usage SI 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 Partie 1 : Médiation Historique Technologies de médiation Cilia : génération OSGi et multi-personnalités Partie 2 : Framework Cilia Modèle d'implantation Modèle de conception Médiation de données et médiation de service Partie 3 : Processus logiciel Spécification darchitecture Spécification dinstances Déploiement Partie 4 : 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 Cas d'usage Système d'Information UC1 : Décomposition de messages et aggrégation de messages Description et analyse Spécification de larchitecture Spécification des instances

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 4 UC1 : description Une application de suivi de consommation envoie des messages à destination de back-ends en charge de la facturation des communications fixe, mobile et internet

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 5 Requêtes et réponses Front-End Requête FE : CLIENT-ID fixe,mobile,internet Réponse FE :

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 6 Transformer : créer un message composite Requête initiale du client (body) : CLIENT-ID fixe,mobile,internet Requête après transformation (body) : CLIENT-ID CLIENT-ID CLIENT-ID

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 7 UC1 : analyse 2) Découper le contenu et créer n requêtes 3) Router les messages par le contenu 6) Appeler un service (pour chaque BE) 4) Traduire le contenu d'une requête (pour chaque BE) 1) Créer une requête composite 7) Regrouper les réponses associées à une requête et créer une liste de n réponses 8) Créer une réponse et y insérer une valeur calculée 1. Transform 2. Split Internet Mobile Fixe 3. Translate 6. Aggregate 5) Transformer une requête (pour chaque BE) 5. InvokeS 4. Transform

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 8 Splitter : créer n requêtes <suiviconso-requete produit="fixe" xmlns:SOAP-ENV=" CLIENT-ID <suiviconso-requete produit="mobile" xmlns:SOAP-ENV=" CLIENT-ID <suiviconso-requete produit="internet" xmlns:SOAP-ENV=" CLIENT-ID Pour chaque sous-message, ajouter dans header : - correlation_id, - nb total de messages, - n°seq

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 9 Translator : traduire le contenu Avant traduction (exemple de FacturationInternet) : CLIENT-ID Après traduction : CLIENT-IDENT Information de contexte : - correlation_id, - nb total de messages, - n°seq

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 10 Transformer : supprimer un attribut Avant transformation (exemple de FacturationInternet) : CLIENT-ID Après transformation : CLIENT-IDENT Information de contexte : - correlation_id, - nb total de messages, - n°seq

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 11 Appeler un WS Réponse de FacturationFixe : 48 Réponse de FacturationMobile : … 18 Réponse de FacturationInternet : … 17

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 12 Aggregator : créer une réponse

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 13 Cas d'usage Système d'Information UC1 : Décomposition de messages et aggrégation de messages Description et analyse Spécification de larchitecture Spécification des instances

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 14 Architecture Catégories de médiateurs identifiés Transform, Split, Translate, InvokeS, Aggregate Types de médiateur identifiés pour le cas d'usage Types spécifiques : - FacturationFixe, FacturationMobile, FacturationInternet - UC1Aggregator Types de la bibliothèque Cilia : - XsltTransformer, - XmlSplitter, - Translator

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 15 Transformer Scheduler = synchronisation But : transmettre sans délai le message à la partie "traitement métier" "immediate-scheduler" de la bibliothèque Cilia Processor = traitement métier But : modifier la structure d'un message POJO "XsltTransformerProcessor" Dispatcher = routage But : router un message vers le composant destinataire "multicast-dispatcher" de la bibliothèque Cilia Cilia compendium : XsltTransformer

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 16 Spécification de Transformer <mediator-component category="Transform" name="XsltTransformer"> Cilia compendium : XsltTransformer

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 17 Splitter Scheduler = synchronisation But : transmettre sans délai le message à la partie "traitement métier" "immediate-scheduler" de la bibliothèque Cilia Processor = traitement métier But : découper le contenu sur expression et créer des messages POJO "XmlSplitterProcessor" Dispatcher = routage But : insérer un numéro de séquence et le nombre total de destinataires dans le header des messages, router les messages par le contenu vers les destinataires "content-based-dispatcher-with-correlation" de la bibliothèque Cilia Cilia compendium : XmlSplitterWithCorrelation

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 18 Spécification de Splitter <mediator-component category="Split" name="XmlSplitterWithCorrelation"> Cilia compendium : XmlSplitterWithCorrelation

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 19 Translator Scheduler = synchronisation But : transmettre sans délai le message à la partie "traitement métier" "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 "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 20 Spécification de Translator Cilia compendium : Translator

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 21 FacturationInternet Scheduler = synchronisation But : transmettre sans délai le message à la partie "traitement métier" "immediate-scheduler" de la bibliothèque Cilia Processor = traitement métier But : transmettre la requête au service InternetBilling et récupérer la réponse POJO développé pour le projet UC1 – utilisation de CXF public class FacturationInternetProcessor {…} Dispatcher = routage But : router un message vers le composant destinataire "multicast-dispatcher" de la bibliothèque Cilia UC1 projet : FacturationInternet

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 22 Spécification de FacturationInternet <mediator-component category ="InvokeS" name = "FacturationInternet"> UC1 projet : FacturationInternet

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 23 POJO FacturationInternetProcessor public class FacturationInternet { private FacturationInternetService service; public Data process(Data data) { String content = (String) data.getContent(); String responseContent = service.getConsommation(content); data.setContent(responseContent); return data; }

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 24 Aggregator Scheduler : synchronisation But : regrouper les messages sur identifiant de corrélation, puis transmettre la liste des messages corrélés au processor "correlation-scheduler" de la bibliothèque Cilia Processor : traitement métier But : créer un message unique et y insérer une valeur calculée POJO développé pour le projet UC1 public class UC1AggregatorProcessor implements IProcessor {…} Dispatcher : routage But : router les messages vers le composant destinataire "multicast-dispatcher" de la bibliothèque Cilia UC1 projet : UC1Aggregator

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 25 Spécification de Aggregator UC1 projet : UC1Aggregator <mediator-component category="Aggregate" name = "UC1Aggregator">

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 26 POJO UC1AggregatorProcessor public class UC1AggregatorProcessor implements IProcessor{ public List process(List dataSet) { String fixe = "0",mobile = "0",internet = "0"; int total = 0; Document document = null; for(int i=0;i<dataSet.size();i++){ document = getDocumentFromData((Data)dataSet.get(i)); if (isDocumentFromMobile(document)) mobile = getConsommation(document); else if (isDocumentFromInternet(document)) internet = getConsommation(document); else if (isDocumentFromFixe(document)) fixe = getConsommation(document); } //calcul du total total=Integer.valueOf(mobile)+Integer.valueOf(fixe)+Integer.valueOf(internet); Data data = (Data) ((Data) dataSet.get(0)).clone(); data.setContent(buildReponse(fixe, mobile, internet, total)); //composition de la réponse List returnList= Collections.singletonList(data); return returnList; }

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 27 Cas d'usage Système d'Information UC1 : Décomposition de messages et aggrégation de messages Description et analyse Spécification de larchitecture Spécification des instances Déploiement

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 28 Instances Chaîne ou graphe de médiation Spécification des instances des types identifiés Spécification séparée des liaisons (binding )

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 29 Exemple de deux instances de Transformer Première occurrence de Transformer dans la chaîne de médiation : créer une requête composite Deuxième occurrence de Transformer dans la chaîne de médiation : supprimer un attribut

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 30 Une instance de Splitter <mediator-instance type= "XmlSplitterWithCorrelation" id="xmlsplitterwithcorrelation-1">

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 31 Trois instances de Translator FacturationFixe FacturationMobile FacturationInternet

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 32 Trois instances pour appeler un WS FacturationFixe : <mediator-instance type="FacturationFixe " id="facturationfixe-1"/> FacturationMobile : <mediator-instance type="FacturationMobile " id="facturationmobile-1"/> FacturationInternet : <mediator-instance type="FacturationInternet " id="facturationinternet-1"/>

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 33 Une instance de UC1Aggregator <mediator-instance type="UC1Aggregator" id="uc1aggregator-1"/>

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 34 Spécification des 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" /> …

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 35 Liaison avec le premier médiateur Front End Chain Proxy Premier médiateur (xslttransformer-1) dernier médiateur topic= splitaggregate/input Le composant chain-proxy est un gestionnaire de requête qui sert aussi de façade pour laccès à la passerelle sender.send(data); … public void notifyData(Data data){…} Gestionnaire de RQ/R

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 36 Communication vers lextérieur La chaîne de médiation communique avec des services externes en utilisant des technologies dimportation de services (ROSE, DOSGi- CXF, …) Cette solution permet davoir des médiateurs uniquement dédiés au code métier