Vous êtes sur la page 1sur 17

Architectures

d'intgration de donnes

Dan VODISLAV

Universit de Cergy-Pontoise
Master Informatique M1
Cours IED

Plan

Intgration de donnes
Objectifs, principes, caractristiques

Architectures type d'intgration de donnes


Mdiateur
Entrept de donnes

Schmas d'intgration
Intgration de schma
Mapping

Architectures distribues
Architectures k-tiers
Services web

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 2


Intgration de donnes
Gestion de donnes traditionnelle
Bases de donnes homognes (modle/schma uniques)
Architecture centralise ou distribue, transparente au niveau logique
volution vers le "mlange" de donnes en provenance de plusieurs sources
Sources dinformation nombreuses et varies
SGBD relationnels/XML, pages Web HTML, LDAP, tableurs, fichiers, applications,
formulaires, services web,
Interfaces daccs varies
Langages dinterrogation: SQL, XPath, XQuery, URL,
Modle de donnes: relationnel, XML, HTML, tableurs
Protocoles de communication: JDBC, ODBC, SOAP, HTTP
Interfaces dappel: ligne de commande, API, formulaire, interface graphique

Objectif gnral : utiliser ces donnes comme si elles constituaient une seule
base de donnes homogne

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 3

Objectif

Plus particulirement, lintgration de donnes doit fournir


un accs (requtes, ventuellement mises--jour)
uniforme (comme si ctait une seule BD homogne)
des sources (pas seulement des BD)
multiples (dj deux est un problme)
autonomes (sans affecter leur comportement, indpendant des autres
sources ou du systme dintgration)
htrognes (diffrents modles de donnes, schmas)
structures (ou semi-structures)

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 4


Exemple

SQL
XQuery Moteur de
tuples OQL objets XML recherche HTML API instances

Fichiers
Fichiers Application
SGBD SGBD SGBD Fichiers
texte
texte
relationnel objet Semi-Structur texte
Agence Chaine Site horaire Informations Mto
de voyage htelire des vols Pays
Cours IED (UCP/M1): Architectures d'intgration de donnes Page 5

Enjeux

Dans lentreprise
Donnes disperses dans une grande varit de sources htrognes:
internes lentreprise (protges)
externes, chez des fournisseurs, des partenaires ou des clients
Objectif business intgration : accs efficace, facile et sr ces donnes
tudes:
IBM: pour 1$ dpens pour une application, 5-9$ sont dpenss pour assurer son
intgration
Gartner: plus de 40% des budgets IT sont dpenss en intgration
Morgan Stanley: lintgration de donnes est devenue la priorit n1 des entreprises
avant le e-business et le CRM

Grand public
Accs simple, rapide et efficace aux informations disponibles sur le web
Texte/HTML, images, vido
XML, fils RSS, cartes
Le web cach
Services web
Commerce lectronique: comparateurs de prix, intgration de magasins en ligne
Cours IED (UCP/M1): Architectures d'intgration de donnes Page 6
Applications

Donnes dentreprise

Donnes scientifiques

+ le Web ! centaines de milliers de sources de donnes


Cours IED (UCP/M1): Architectures d'intgration de donnes Page 7

La diffrence

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 8


Caractristiques des sources de donnes

qui rendent lintgration de donnes difficile


Distribution
Autonomie
Htrognit

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 9

Distribution

Donnes stockes sur des supports rpartis sur plusieurs sites


Caractristique importante: lchelle

Avantages
Disponibilit: ne tombent pas en panne en mme temps
Temps daccs: partage de la charge, paralllisme

Problmes
Les temps de communication
Localisation des sources contenant les donnes pertinentes
Htrognit en termes de puissance de traitement et de charge
Les sources peuvent tre temporairement indisponibles

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 10


Autonomie

Conception : les sources dcident de leur propre


modle de donnes,
langage dinterrogation,
smantique des donnes.

Communication : les sources dcident quand et comment rpondre aux


questions dautres sources

Excution : les sources dcident de lordre dexcution des transactions


locales ou des oprations externes
Peu ou pas dinformations fournies sur les dtails internes dexcution

Association des sources :


connexion et dconnexion des sources
partage de donnes et des fonctions

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 11

Htrognit

Concerne les donnes, les modles, les langages,


Systme homogne :
mme logiciel grant les donnes sur tous les sites
mme modle de donnes / langage daccs
mme univers de discours / smantique

Systme htrogne : qui nest pas homogne sur au moins un


critre
Divers niveaux et degrs dhtrognit

Aussi: htrognit de la puissance / des capacits de traitement des sites

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 12


Architecture gnrale dintgration

Modle global
requte rponse

Niveau d intgration Donnes


matrialises

Adaptateur1 Modle S1 Modle Sn


Adaptateurn

Source1 ........ Sourcen

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 13

Deux approches

Intgration matrialise entrept de donnes


Les donnes provenant des sources sont transformes et stockes sur un
support spcifique (entrept de donnes).
Linterrogation seffectue comme sur une BD classique

Intgration virtuelle mdiateur


Les donnes restent dans les sources
Les requtes sont exprimes sur le schma global, puis dcomposes en
sous-requtes sur les sources
Les rsultats des sources sont combins pour former le rsultat final

En pratique on peut avoir des architectures intermdiaires, entre


ces deux extrmes

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 14


Architecture dentrept

Q R

Entrept D1++Dn

Migration de donnes
D1 Dn

Chargeur1 Chargeurn

Source1 ........ Sourcen

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 15

Architecture de mdiation

Q R=f(R1, , Rn)

Mdiateur
Migration de requtes

Q1 R1 Qn Rn

Adaptateur1 Adaptateurn

........
Source1 Sourcen

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 16


Entrept ou mdiateur?

Mdiateur : accs direct aux sources


approche paresseuse , pas de matrialisation
migration de requtes vers les sources
avantages : donnes toujours fraches, plus facile dajouter de nouvelles
sources, plus grande chelle, distribution de leffort
inconvnients : performances, traduction de requtes, capacits
diffrentes des sources

Entrept de donnes : accs efficace une copie des donnes


matrialisation des sources au niveau du modle global
migration de donnes vers l entrept
avantages : performances, personnalisation des donnes (nettoyage,
filtrage), versions
inconvnients : donnes pas toujours fraches, cohrence, gestion des
mises--jour, gestion de gros volumes de donnes

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 17

Entrepts de donnes

Lapproche la plus populaire dintgration de donnes


Gros avantage: performances
Autre gros avantage: contrle plus facile de lhtrognit des donnes

Utilisation pour les systmes dcisionnels OLAP


Transformation de donnes pour alimenter lentrept
Chargeurs = systmes ETL ( Extract, Transform, Load )
Outils graphiques pour dfinir des flots de traitements/transformations
Une fois le flot de traitement dfini appliqu au contenu des sources

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 18


Mdiateurs

Bien que moins utiliss en pratique, ils ont plus de potentiel


Meilleur passage lchelle
Acceptent mieux les changements dynamiques (nouvelles sources)

mieux adapts lintgration de sources web


En entreprise: EII
Enterprise Information
Integration
BEA Liquid Data
(AquaLogic Data),
IBM InfoSphere
Federation Server,

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 19

Schmas dintgration

Problmes
Intgration de schma: comment dfinir un schma (modle) global
dintgration partir des schmas (modles) des sources?
Fusion de donnes: comment rendre compatibles, transformer les
donnes en provenance des sources?
Mappings/vue dintgration: comment dcrire le lien entre le schma
global et les schmas des sources?

Modle de donnes global


Relationnel: mieux matris
XML: plus riche et flexible
Smantique (ontologie): intgration smantique
Mixte

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 20


Intgration de schma

Le lien entre schma global et schmas locaux est dfini


travers un mapping (correspondance structurelle)
Schma global M
Schma des sources Si

Deux faons principales de dfinir ce lien


Le schma global en fonction des schmas locaux global as view
Approche ascendante: on part des sources pour produire le schma global
M = V(S1, , Sn)
Avantages: approche naturelle, traduction des requtes simple
Les schmas locaux en fonction du schma global local as view
Approche descendante: on fixe le schma global et on dcrit les sources par
rapport ce schma fix
Si Vi(M)
Avantage: facile rajouter de nouvelles sources

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 21

Mapping

Mapping = correspondance entre le schma global et les schmas des sources


utilis pour la traduction des requtes et la structuration des rsultats
Diversit
les schmas : relationnel, XML, orient-objet, entit-association
le mapping : couples dlments correspondants, fonctions, contraintes, degrs de
similarit
Objectifs contradictoires
mapping complexe : prcision, pouvoir dexpression
mapping simple : dcouverte automatique, composition, maintenance simplifie
Intgration : sources nombreuses, htrognes, ajouts de sources
besoin de calcul (semi-)automatique du mapping
un mapping simple, structur est plus facile maintenir
solutions de compromis, privilgiant le mapping simple

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 22


Exemples de mapping

S1 : Client Numro S2 : Acheteur ID


Socit Compagnie
Nom Contact
Prnom Tlphone

Ma : Client Acheteur Mb : Client Acheteur


Client.Numro Acheteur.ID Client.Numro Acheteur.ID
Client.Socit Acheteur.Compagnie Client.Socit Acheteur.Compagnie
Client.Nom Acheteur.Contact concat(Client.Nom, Client.Prnom)
Client.Prnom Acheteur.Contact Acheteur.Contact

Mc : create view Client Md: create view Acheteur


select ID as Numro, select Numro as ID,
Compagnie as Socit, Socit as Compagnie,
getNom(Contact) as Nom, concat(Nom, Prnom) as Contact
getPrenom(Contact) as Prnom from Client
from Acheteur

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 23

La difficult de dfinir le mapping

En pratique la cration du mapping prend > 50% de leffort


dintgration!
Il est important d'avoir des outils de gnration (semi-)automatique
mais la prcision du mapping est trs importante pour lintgration
Les difficults de la gnration automatique du mapping
Htrognit des schmas et des modles
Les schmas ne captent jamais compltement la smantique il faut la
chercher partout, dans les donnes, les commentaires
Il faut combiner plusieurs critres, proposer plusieurs variantes avec des
degrs de confiance diffrents
Technique gnrale: deux tapes
Mise en correspondance dlments individuels du schma (matching)
Utilisation des correspondances individuelles pour dfinir le mapping
Union, jointure, composition, filtrage, agrgation,

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 24


Architectures distribues

Intgration de donnes architectures distribues


Les sources = serveurs de donnes, le mdiateur = client
Mdiateur = serveur de donnes, lapplication = client

Mdiateur = architecture distribue trs simple


Un client, plusieurs serveurs
Les sources: limites en gnral linterrogation de donnes

En principe, on pourrait avoir:


Des rles mlangs client/serveur pour les sites architectures
distribues pair pair
Des sites qui offrent dautres services que linterrogation des donnes et
qui collaborent applications rparties de gestion de donnes bass sur
ces services

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 25

Mdiateur, pair pair, rparti

M P

S S P P
S S P P

Mdiateur Pair pair

services

P P
P P

Rparti gnral

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 26


Applications rparties

Applications rparties
Accs plusieurs ressources / applications individuelles
Sparation entre clients et serveurs

Architectures k-tiers
1-tier : centralis
2-tiers: un serveur, plusieurs clients (client - serveur)
3-tiers: plusieurs serveurs, plusieurs clients (avec middleware)
n-tiers: spcifique la diffusion sur le web
Ex: serveurs web avec architecture 3-tiers + clients web
Clients n-tiers serveurs (n+1) - tiers

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 27

Architectures

Client Client Client


... ...
Niveau Niveau
Niveau prsentation prsentation
prsentation
... ...
Niveau Niveau Niveau
application application application

Niveau Niveau Middleware


gestion donnes gestion donnes ...
Serveur Niveau
gestion donnes ...
Serveur

1-tier 2-tiers 3-tiers


Cours IED (UCP/M1): Architectures d'intgration de donnes Page 28
Communication

Application rpartie communication entre les tiers qui


ralisent des traitements
Moyens de communication traditionnels
Middleware
RPC ( Remote Procedure Call ): appel de fonctions distance
Moniteurs transactionnels ( TP monitors ): bases de donnes
Object brokers : RPC en orient-objet (ex. CORBA, DCOM)
Moniteurs dobjets ( object monitors ): object broker + TP monitor
Middleware orient-messages: asynchronisme, files dattente
EAI ( Enterprise Application Integration )
Communication entre systmes plus htrognes (ex. entre systmes 3-tiers)
Ex: WebSphere MQ, BEA WebLogic Integration, webMethods, etc.
Visent souvent aussi des aspects workflow (squence de traitements)

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 29

Services web

Sur le web: contraintes qui napparaissent pas dans les


environnements dentreprise
Contrle limit des sites
Dbit faible
Clients lgers
Prsentation/Interaction moins riches (HTML)

Objectif:
Raliser des applications distribues (architectures k-tiers) avec les
contraintes imposes par le web

services web

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 30


Caractristiques des services web

Demande de service adresse par un client un serveur


Appel dune fonction distante
Utilise les protocoles web: TCP/IP, HTTP

Donnes transportes sur le web


Gnralement du texte (HTTP: pages HTML)
Services web texte en format XML
Format dchange flexible
Standardisation

Services web: volution des architectures


Architectures distribues classiques web
RPC, RMI, CORBA, DCOM HTTP, XML, services
Web homme-machine web machine-machine

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 31

Web machine-machine

Web dynamique homme-machine


HTML + HTTP + scripts
Scripts: tches excutes par un serveur web
HTML: contenu gnr dynamiquement par les scripts
HTTP: utilisation manuelle travers un navigateur web
Interface informelle
Paramtres de type texte
Rsultat: HTML

Web machine-machine
XML + SOAP + code
Code: programme/fonction appel distance
XML: format dchange gnral
SOAP: utilisation par des programmes (automatique)
Interface formalise (WSDL)
Paramtres et rsultat typs XML Schema

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 32


Avantages des services web

Flexibilit
Indpendance du langage et du systme
Donnes XML

Interoprabilit dans des environnements distribus


Interfaces formalises
Communication entre services, composition
Automatisation

Adapts la communication sur le web


Protocoles web bien connus et accepts (HTTP, SMTP, )
Invocation travers des pare-feux ( la diffrence de CORBA)

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 33

REST vs. SOAP

SOAP (Simple Object Access Protocol)


Principal standard W3C pour les services web
Associ WSDL pour la description du service
Protocole de communication change de messages XML
Services appelables travers des points daccs sur le web

REST (Representational State Transfer)


Appel de services web directement en HTTP
Messages HTTP : POST, GET, PUT, DELETE
Utilisation codes derreur, options dappel HTTP, caching
Description WADL (peu utilise)
Tout objet (ressource) manipul par le service doit avoir une URI
Services sans tat: excution indpendante des appels prcdents

Cours IED (UCP/M1): Architectures d'intgration de donnes Page 34

Vous aimerez peut-être aussi