cilia, un framework de médiation ouvert, léger, multi-personnalités partie 4 : cas d'usage
DESCRIPTION
Cilia, un framework de médiation ouvert, léger, multi-personnalités PARTIE 4 : Cas d'usage 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 PresentationTRANSCRIPT
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
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 Core Médiation de données 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 agrégation de messages
Application PervasiveUC2 : Système de remonté de données RFID
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 4
UC2 : descriptionL’application produit de façon périodique un ou plusieurs rapports
(documents généralement en XML) qui contiennent les étiquètes qui ont été lues par un ensemble de lecteurs (des dispositifs RFID).
Chaque cycle de production des rapports est connu comme Event Cycle (EC). Les étiquètes lues par les lecteurs pendant un EC doivent être traitées avant de produire les rapports. Le traitement consiste en :
Agrégation de données de différents lectuers
Eliminitation de doublons
Calcul de l’ensemble
Filtrage
Génération
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 5
UC2 : description
Enorme quantité de données
Données traitées
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 6
UC2 : analyse
2) Agréger les étiquetes lues par de differents lecteurs3) Ajouter l’identifiant de l’event cycle EC
6) Filtrage des etiquetes (en utilisant des expressions)
4) Eliminatation des doublons
1) Lecture périodique (poll) des étiquètes
7) Generation du rapport
4) Ordonnance des messages5) Calcul de l’ensemble (CURRENT, ADDITION, DELETION)
1. Logical Reader
2. Aggregate
(EC)
3. Duplicate
4. ReportSet
5. Filtrage
6. Génération
7) Notification des rapports aux clients 7. Notification
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 7
Format de rapport<?xml version="1.0" encoding="UTF-8"?>
<tag-list round="5">
<count>10</count>
<tag>urn:epc:pat:gid-96:145.56.99</tag>
<tag>urn:epc:pat:gid-96:145.56.100</tag>
<tag>urn:epc:pat:gid-96:145.56.101</tag>
<tag>urn:epc:pat:gid-96:145.56.102</tag>
<tag>urn:epc:pat:gid-96:145.56.103</tag>
<tag>urn:epc:pat:gid-96:145.56.104</tag>
<tag>urn:epc:pat:gid-96:145.56.105</tag>
<tag>urn:epc:pat:gid-96:145.56.106</tag>
<tag>urn:epc:pat:gid-96:145.56.107</tag>
<tag>urn:epc:pat:gid-96:145.56.91</tag>
</tag-list>
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 8
Cas d'usage
Système d'InformationUC1 : Décomposition de messages et agrégation de messages
Application PervasiveUC2 : Système de remonté de données RFID
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 9
Architecture
Catégories de médiateurs identifiésDuplicate, Calculate, Filter, InvokeS, Aggregate
Types de médiateur identifiés pour le cas d'usage Types spécifiques :
- EventCycle, Duplicate, Filter, Notifier
- CurrentSet, AdditionSet, DeletionSet
Types de la bibliothèque Cilia :
…
- Dispatchers et scheduler
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 10
Event Cycle
Scheduler = synchronisationBut : transmettre sans délai le message à la partie "traitement métier"
Handler “periodic-scheduler" de la bibliothèque Cilia
Processor = traitement métierBut : agrégation des étiquètes qui proviennent de différents lecteurs
POJO "EventCycle"
Dispatcher = routageBut : router un message vers le composant destinataire
Handler "multicast-dispatcher" de la bibliothèque Cilia
Aspire RFID compendium : Aspire-EventCycle
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 11
Spécification de Filter
<mediator-component category="Aggregator" name="aspire-event-cycle">
<processor name="EventCycle"/> <scheduler name="periodic-scheduler" /> <dispatcher name="multicast-dispatcher" />
</mediator-component>
Cilia compendium : Aspire-Filter
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 12
Filter
Scheduler = synchronisationBut : transmettre sans délai le message à la partie "traitement métier"
Handler "immediate-scheduler" de la bibliothèque Cilia
Processor = traitement métierBut : filtrage des étiquètes en utilisant des expressions réguliers
POJO "Filter"
Dispatcher = routageBut : router un message vers le composant destinataire
Handler "multicast-dispatcher" de la bibliothèque Cilia
Aspire RFID compendium : Filter
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 13
Spécification de Filter
<mediator-component category="Filter" name="aspire-filter">
<processor name="Filter"/> <scheduler name="inmediate-scheduler" /> <dispatcher name="multicast-dispatcher" />
</mediator-component>
Cilia compendium : Aspire-Filter
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 14
Cas d'usage
Système d'InformationUC1 : Décomposition de messages et agrégation de messages
Application PervasiveUC2 : Système de remonté de données RFID
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 15
InstancesChaî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 16
N instances de Logical-Reader
Un ensemble de lecteurs sont disponibles…
<mediator-instance type=“aspire-logical-reader" id="logical-reader-1">
<scheduler>
<property name="period" value="2000" />
</scheduler>
<property name="requires.from">
<item key="reader-id" value="simulator-reader-1" />
</property>
</mediator-instance>
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 17
Une instance de EventCycle
Un aggregator EventCycle qui va grouper les données des differents lecteurs…
<mediator-instance type="aspire-event-cycle" id="event-cycle">
<scheduler>
<property name="delay" value="500" />
<property name="period" value="5000" />
</scheduler>
</mediator-instance>
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 18
M instance de Filter
<mediator-instance type="aspire-filter" id="filter">
<property name="includeList" value="urn:epc:pat:gid-96:145.56.*" />
</mediator-instance>
Une instance de Duplicate
<mediator-instance type= "aspire-duplicate" id="duplicate">
</mediator-instance>
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 19
Spécification des liaisonsLes instances sont liées en utilisant de bindings.
<bindings>
<binding from="logical-reader-1:end" to="event-cycle:begin1" />
<binding from="logical-reader-2:end" to="event-cycle:begin2" />
<binding from="event-cycle:end" to="duplicate:begin" />
<binding from="duplicate:end" to="filter:begin" />
<binding from="filter:end" to="xml-generator:begin" />
<binding from="xml-generator:end" to="notifier:begin" />
</bindings>
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 20
Liaison avec le premier médiateur
Utilisation du patron proxy
Chaque lecteur RFID doit implementer une interface AbstractAdaptor
Logical Reader
Mediator
Reader Adaptor
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP ― slide 21
Cas d'usage
Système d'InformationUC1 : Décomposition de messages et aggrégation de messages
Application PervasiveUC2 : Système de remonté de données RFID
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 22
Annexe