cilia, un framework de médiation ouvert, léger, multi-personnalités partie 4 : cas d'usage

22
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

Upload: charity-mccarty

Post on 03-Jan-2016

20 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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

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

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

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é

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

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

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

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

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

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

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

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

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

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>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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>

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

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>

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

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>

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

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>

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

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

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

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

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

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

Annexe