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
36
Embed
Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI
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. Plan. Partie 1 : Médiation Historique Technologies de médiation Cilia : génération OSGi et multi-personnalités - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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 d’architecture Spécification d’instances Déploiement
Partie 4 : Cas d'usage Interopérabilité dans un Système d’Information 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'InformationUC1 : Décomposition de messages et aggrégation de messages
Description et analyse
Spécification de l’architecture
Spécification des instances
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 4
UC1 : descriptionUne 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-EndRequête FE :<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 17
Splitter
Scheduler = synchronisationBut : transmettre sans délai le message à la partie "traitement métier"
"immediate-scheduler" de la bibliothèque Cilia
Processor = traitement métierBut : découper le contenu sur expression et créer des messages
POJO "XmlSplitterProcessor"
Dispatcher = routageBut : 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
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 19
Translator
Scheduler = synchronisationBut : transmettre sans délai le message à la partie "traitement métier""immediate-scheduler" de la bibliothèque Cilia
Processor = traitement métierBut : traduire des éléments du contenu d'un message en utilisant un dictionnaire local au médiateur (paramètre)POJO TranslatorProcessor
Dispatcher = routageBut : 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
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 26
POJO UC1AggregatorProcessorpublic 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'InformationUC1 : Décomposition de messages et aggrégation de messages
Description et analyse
Spécification de l’architecture
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édiationSpé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<mediator-instance type="XsltTransformer" id="xslttransformer-1" >
Deuxième occurrence de Transformer dans la chaîne de médiation : supprimer un attribut<mediator-instance type="XsltTransformer" id="xslttransformer-2" >