1
Framework orienté-service de médiation de données
Projet de Master présentée par Bassem DEBBABIle 24 Juin 2009Sous la direction de Philippe LALANDA
Université Joseph Fourier – Grenoble 1UFR IMAGMaster 2e année RechercheSpécialité : Systèmes d’Information et Ingénierie Avancée des Logiciels
ADELE
2
Introduction Etat de l’art : médiation Cilia mediation framework Expérimentation Conclusion & Perspectives
Plan de travail
3
IntroductionL’informatique « everywhere »
4
Nouveaux services informatiques Services web, domotiques, applications d’entreprises…
Interaction entre ces services Un grand besoin d’intégration de données et d’applications
Introduction
5
Problématiques Hétérogénéité
Données Protocoles
Passage à l’échelle Evolutivité Dynamicité
Solutions ? médiation
Introduction
6
Etat de l’artMédiation
Couched’applications
Couche ressources de donnée
Couche de médiation
Couche de médiation
S1S1 S2S2
A2A2A1A1
S3S3
7
M2M2M1M1
M3M3
Définition
Médiateur
Chaîne de médiation
Médiation
une couche intergicielle intelligente de services dans des systèmes d’information, liant des ressources de données aux applications [Wiederhold 92]
Module logiciel qui exploite des connaissances sur certains ensembles ou sous-ensembles de données pour créer de l’information pour une couche supérieure d’applications
8
Transformation de données
Filtrage de données Intégration de différentes
sources et applications Réutilisation Evolution du code
Importance de la médiation
MM
d1
d2
MM
d1
d2
d1 d2
MM
AA
SS
Protocole A
Protocole B
MM
AA
SS Version 1
Version 1
Version 1
Version 2
Version 2
MMMM
MMMM
9
Médiation de : données hétérogènes
Bases de données, fichiers, … Sémantique formelle
données pervasives M2M RFID, Capteurs
services (Intégration d’applications) JBI ESB
Types de médiation
10
Frameworks de médiation Niveaux de médiation
Transformation de données Communication Coordination Aspects non fonctionnels
Frameworks de médiation
11Managed System
B1B1 B2B2 B3B3 B4B4
C3C3 C4C4
C1C1 C2C2
Client
Client
Data Flow
Control Flow
Monitored Resource
Basic Probe
Composite Probe
BB
CC
Composite Probes
Frameworks de médiation (1)
12
Route 3Route 3Route 1Route 1
Content-based router
Content-based router
JMS Endpoint
JMS Endpoint
HTTP ComponentHTTP Component JMS ComponentJMS Component
Route 2Route 2
FTP ComponentFTP Component
HTTP Endpoint
HTTP Endpoint
FTP Endpoint
FTP Endpoint
CSV TranslatorCSV Translator
XML TranslatorXML Translator
JMS Endpoint
JMS Endpoint
IncomingOrderQueueIncomingOrderQueue OrderQueueOrderQueue
Frameworks de médiation (2)
Apache Camel
13
HTTP Adapter Endpoint
HTTP Adapter Endpoint
Input Messages ChanelInput Messages Chanel
Message Router
Endpoint
Message Router
Endpoint
XML Messages ChannelXML Messages Channel
CSV Messages ChannelCSV Messages Channel
Out Messages ChannelOut Messages Channel
XML HandlerXML Handler
CSV HandlerCSV Handler
RouterRouter
FTP SourceFTP Source
HTTP SourceHTTP Source
FTP Adapter Endpoint
FTP Adapter Endpoint
Service ActivatorService
Activator
Service ActivatorService
Activator
JMS Adapter Endpoint
JMS Adapter Endpoint
JMS TargetJMS Target
Spring Integration
Frameworks de médiation (3)
14
Médiation
Synthèse Manque de flexibilité Aspects non fonctionnels sont peu traités
Traitement des erreurs Persistance Sécurité
Complexité très élevée Recours à des experts
15
ContributionCilia : Framework orienté-service de médiation de données
16
Chaîne de médiation
CSV Transformer
XML Transformer
Gateway
17
CSV Transformer
XML Transformer
Gateway
Médiateur
XML Transformer
C
C
C
S
S
S
Processor
Sch
ed
ule
r
Dis
patc
he
r
18
Mediator
Collector
Comment ça marche?
d1
Scheduler
Processor
Dispatcher
Sender
metadata
d1
metadata
d2metada
ta
d3
metadata
d3
metadata
d3 d3
metadata
d1
Collector
d2
metadata
d1metada
ta
d2
19
Modèle de développement Composants à service (iPOJO)
Collectors, Scheduler, Processor, Dispatcher et Sender
Gestion des aspects non fonctionnels Handlers
Bibliothèque de fabriques d’instances
Composants de médiation
POJO
Handler
Handler
Han
dl
er
Han
dl
er
20
Mediation ADL
Mediation ADL
Service Components (Factories)Service Components (Factories)
Mediators (instances)Mediators (instances)
Mediation Chain Manager
Mediation Chain Manager
Création des médiateurs<cilia> <mediators> <mediator>
<collector ref=jms topic=T1> <Scheduler ref=periodic delay=1000> <processor
component=fr.imag.MyProcessor/> <dispatcher ref=default/> <Sender ref=jms topic=T2/>
</mediator> </mediators></cilia>
21
ExpérimentationIntégration d’applications
22
Intégration d’applications
Expérimentation
HTTP
SOAP
JMS
Application Web
Système de
facturation
Catalogue de
produits
23
Intégration d’applications Intégration monolithique
Expérimentation
HTTP
SOAP
JMS
Application Web
Système de
facturation
Catalogue de
produits
Nouveau Système
24
Expérimentation
Intégration d’applications Intégration avec Cilia
Application Web
Système de
facturation
Catalogue de
produits
Calculer les prix
Passer la command
e
Catalogue de produits
B
Price Counte
r
HTTP Collecto
r
Direct Sender
Transformer
Direct Collecto
r
JMS Sender
25
Intégration d’applications Intégration avec Cilia
Expérimentation
Application Web
Système de
facturation
Catalogue de
produits
Calculer les prix
Passer la command
e
Catalogue de produits
B
Calculer les prix B
AGGREGSPLITER
Spliter Dispatche
r
HTTP Collecto
r
Direct Sender
SpliterDirect Sender
AggregatorSchedul
er
DirectSende
r
Direct Collecto
r Aggregator
Direct Collecto
r
26
Conclusion & Perspectives
27
Conclusion Facilité de développement et création des médiateurs
Composants à service ADL
Modularité Chaines de médiation plus expressives
scheduler / dispatcher Hautement flexible Utiliser dans plusieurs projets internes
Perspectives Approche à conteneur
Domain Specific Component Model Autonomic computing
Conclusion & Perspectives
Mediator
Colle
ctor
Handle
r
Sender
Handle
r
SchedulerDispatche
r
LogPersistenc
eIHM
28
MERCIQuestion?