36
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

Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

  • Upload
    seanna

  • View
    30

  • Download
    2

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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

Page 2: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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é

Page 3: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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

Page 4: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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

Page 5: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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/">

<SOAP-ENV:Header/><SOAP-ENV:Body>

<suiviconso-requete xmlns:SOAP-ENV="http://www.example.org/SuiviConso/"> <idclient>CLIENT-ID 00114</idclient>

<debut>15052010</debut><fin>15062010</fin><produit>fixe,mobile,internet</produit>

</suiviconso-requete></SOAP-ENV:Body></SOAP-ENV:Envelope>

Réponse FE :<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Header/><SOAP-ENV:Body> <suiviconso-reponse xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<fixe>48</fixe><mobile>18</mobile><internet>17</internet><total>73</total>

</suiviconso-reponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

Page 6: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 6

Transformer : créer un message compositeRequête initiale du client (body) :<suiviconso-requete xmlns:SOAP-ENV="http://www.example.org/SuiviConso/"> <idclient>CLIENT-ID 00114</idclient>

<debut>15052010</debut><fin>15062010</fin><produit>fixe,mobile,internet</produit>

</suiviconso-requete>

Requête après transformation (body) :<suiviconso-requete produit="fixe" xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</ suiviconso-requete><suiviconso-requete produit="mobile" xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</ suiviconso-requete><suiviconso-requete produit="internet" xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</suiviconso-requete>

Page 7: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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êtes3) 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éponses8) Créer une réponse et y insérer une valeur calculée

1. Transform

2. Split

InternetMobileFixe

3. Translate

6. Aggregate

5) Transformer une requête (pour chaque BE)

5. InvokeS

4. Transform

Page 8: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</ suiviconso-requete>

<suiviconso-requete produit="mobile" xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</ suiviconso-requete>

<suiviconso-requete produit="internet" xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</suiviconso-requete>

Pour chaque sous-message, ajouter dans header :

- correlation_id,

- nb total de messages,

- n°seq

Page 9: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 9

Translator : traduire le contenuAvant traduction (exemple de FacturationInternet) :

<suiviconso-requete produit="internet" xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<idclient>CLIENT-ID 00114</idclient>

<debut>15052010</debut><fin>15062010</fin></suiviconso-requete>

Après traduction :

<suiviconso-requete produit="internet" xmlns:SOAP-ENV="http://www.example.org/SuiviConsoInternet/">

<idclient>CLIENT-IDENT 00114</idclient>

<debut>15052010</debut><fin>15062010</fin></suiviconso-requete>

Information de contexte :

- correlation_id,

- nb total de messages,

- n°seq

Page 10: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 10

Transformer : supprimer un attributAvant transformation (exemple de FacturationInternet) :

<suiviconso-requete produit="internet" xmlns:SOAP-ENV="http://www.example.org/SuiviConsoInternet/">

<idclient>CLIENT-ID 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</suiviconso-requete>

Après transformation :

<suiviconso-requete xmlns:SOAP-ENV="http://www.example.org/SuiviConsoInternet/">

<idclient>CLIENT-IDENT 00114</idclient><debut>15052010</debut><fin>15062010</fin>

</suiviconso-requete>

Information de contexte :

- correlation_id,

- nb total de messages,

- n°seq

Page 11: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 11

Appeler un WS Réponse de FacturationFixe :

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body>

<suiviconso-reponseFixe xmlns:SOAP-ENV="http://www.example.org/suiviconsoFixe/"> <conso>48</conso>

</suiviconso-reponseFixe> </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Réponse de FacturationMobile :…

<suiviconso-reponseMobile xmlns:SOAP-ENV="http://www.example.org/suiviconsoMobile/"> <conso>18</conso>

</suiviconso-reponseMobile>

Réponse de FacturationInternet :…

<suiviconso-reponseInternet xmlns:SOAP-ENV="http://www.example.org/suiviconsoInternet/"> <conso>17</conso>

</suiviconso-reponseInternet>

Page 12: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 12

Aggregator : créer une réponse

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Header/><SOAP-ENV:Body> <suiviconso-reponse xmlns:SOAP-ENV="http://www.example.org/SuiviConso/">

<fixe>48</fixe>

<mobile>18</mobile>

<internet>17</internet>

<total>73</total>

</suiviconso-reponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

Page 13: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 13

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

Page 14: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 14

Architecture

Catégories de médiateurs identifiésTransform, 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

Page 15: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 15

Transformer

Scheduler = synchronisationBut : transmettre sans délai le message à la partie "traitement métier"

"immediate-scheduler" de la bibliothèque Cilia

Processor = traitement métierBut : modifier la structure d'un message

POJO "XsltTransformerProcessor"

Dispatcher = routageBut : router un message vers le composant destinataire

"multicast-dispatcher" de la bibliothèque Cilia

Cilia compendium : XsltTransformer

Page 16: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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">

     <processor classname="XsltTransformerProcessor">          <property name="xslt-file" field="filepath" />       </processor> <scheduler name="immediate-scheduler" /> <dispatcher name="multicast-dispatcher" />

</mediator-component>

Cilia compendium : XsltTransformer

Page 17: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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

Page 18: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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">

     <processor classname="XmlSplitterProcessor">          <property name="separator" field="expression" />         </processor> <scheduler name="immediate-scheduler" /> <dispatcher name="content-based-dispatcher-with-correlation" />

</mediator-component>

Cilia compendium : XmlSplitterWithCorrelation

Page 19: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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

Page 20: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 20

Spécification de Translator

<mediator-component category="Translate" name="Translator">

     <processor classname="TranslatorProcessor">          <property name="dictionary" field="dictionary" />         </processor> <scheduler name="immediate-scheduler" />

<dispatcher name="multicast-dispatcher" />

</mediator-component>

Cilia compendium : Translator

Page 21: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 21

FacturationInternet

Scheduler = synchronisationBut : transmettre sans délai le message à la partie "traitement métier"

"immediate-scheduler" de la bibliothèque Cilia

Processor = traitement métierBut : 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 = routageBut : router un message vers le composant destinataire

"multicast-dispatcher" de la bibliothèque Cilia

UC1 projet : FacturationInternet

Page 22: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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">

<processor classname ="FacturationInternetProcessor" >

          <proxy value ="uc1-cxf-proxy" />         </processor>

  <scheduler name="immediate-scheduler" /><dispatcher name="multicast-dispatcher" />

 </mediator-component >

UC1 projet : FacturationInternet

Page 23: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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;

}

}

Page 24: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 24

Aggregator

Scheduler : synchronisationBut : 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étierBut : 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 : routageBut : router les messages vers le composant destinataire

"multicast-dispatcher" de la bibliothèque Cilia

UC1 projet : UC1Aggregator

Page 25: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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">

<processor classname ="UC1AggregatorProcessor" />  <scheduler name="correlation-scheduler" />

<dispatcher name="multicast-dispatcher" />

 </mediator-component >

Page 26: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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; }}

Page 27: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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

Page 28: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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)

Page 29: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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" >

<processor><property name="xslt-file" value="trans-1.xslt" />

</processor></mediator-instance>

Deuxième occurrence de Transformer dans la chaîne de médiation : supprimer un attribut<mediator-instance type="XsltTransformer" id="xslttransformer-2" >

<processor><property name="xslt-file" value="trans-2.xslt" />

</processor></mediator-instance>

Page 30: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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"><processor>

  <property name="separator" value="//suiviconso-requete" /></processor><dispatcher>

  <property name="language" value="xpath" /> <property name="condition">  <property name="//suiviconso-requete[@produit='fixe']"

value="fixe" />   <property name="// suiviconso-requete[@produit='mobile']"

value="mobile" />   <property name="// suiviconso-requete[@produit='internet']"

value="internet" />   </property>

</dispatcher></mediator-instance>

Page 31: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 31

Trois instances de Translator<mediator-instance type="Translator" id="translator-1">

<processor>  <property name=“dictionary">

<item key=“SuiviConso" value=“SuiviConsoFixe"/></property></processor>

</ mediator-instance >

<mediator-instance type="Translator" id="translator-2"><processor>

  <property name=“dictionary"> <item key=“SuiviConso" value=“SuiviConsoMobile"/></property></processor>

</ mediator-instance >

<mediator-instance type="Translator" id="translator-3"><processor>

  <property name=“dictionary"> <item key="CLIENT-ID" value="CLIENT-IDENT"/> <item key=“SuiviConso" value=“SuiviConsoInternet"/></property></processor>

</ mediator-instance >

FacturationFixe

FacturationMobile

FacturationInternet

Page 32: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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"/>

Page 33: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

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"/>

Page 34: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 34

Spécification des liaisons<bindings>

<!-- Instance de Transformer vers instance de Splitter --><binding from="xslttransformer-1”

to="xmlsplitterwithcorrelation-1”/>

<!-- Instance de Splitter vers les 3 instances de Translator --><binding from="xmlsplitterwithcorrelation-1:fixe“

to="translator-1" />

<binding from="xmlsplitterwithcorrelation-1:mobile“

to="translator-2" />

<binding from="xmlsplitterwithcorrelation-1:internet“

to="translator-3" />

</bindings>

Page 35: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 35

Liaison avec le premier médiateur<!-- point d'entrée pour le premier médiateur-->

<binding to="xslttransformer-1">

<property name="topic" value="splitaggregate/input"/>

</binding>

Front End

Chain ProxyPremier médiateur (xslttransformer-1)

dernier médiateur

topic= splitaggregate/inputLe composant chain-proxy est un gestionnaire de requête qui sert aussi de façade pour l’accès à la passerelle

sender.send(data);…public void notifyData(Data data){…}

Gestionnaire de RQ/R

Page 36: Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage SI

Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 36

Communication vers l’extérieur

La chaîne de médiation communique avec des services externes en utilisant des technologies d’importation de services (ROSE, DOSGi-CXF, …)

Cette solution permet d’avoir des médiateurs uniquement dédiés au code métier