Sie sind auf Seite 1von 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
tuples OQL objets

SGBD
relationnel

SGBD
objet

Agence
Chaine
de voyage htelire

Moteur de
XQuery
XML recherche

SGBD
Semi-Structur
Site horaire
des vols

HTML

API

instances

Fichiers
Fichiers
Fichiers
texte
texte
texte

Application

Informations
Pays

Mto

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


requte

rponse

Modle global

Donnes
matrialises

Niveau d intgration

Adaptateur1

Modle S1

Source1

Adaptateurn

........

Modle Sn

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

Entrept

D1++Dn

D1

Dn

Chargeur1

Chargeurn

........

Source1

Sourcen

Migration de donnes

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

Page 15

Architecture de mdiation

R=f(R1, , Rn)

Q1

R1

Qn

Adaptateur1

Source1

Rn

Adaptateurn

........

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

Migration de requtes

Mdiateur

Sourcen
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
Socit
Nom
Prnom

S2 : Acheteur

ID
Compagnie
Contact
Tlphone

Ma : Client Acheteur
Client.Numro Acheteur.ID
Client.Socit Acheteur.Compagnie
Client.Nom Acheteur.Contact
Client.Prnom Acheteur.Contact

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

Mc : create view Client


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

Md: create view Acheteur


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

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

S
S

P
P

Pair pair

Mdiateur
services

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
Niveau
prsentation

Client

...

Niveau
prsentation

Client

...

Niveau
prsentation

...

...

Niveau
application

Niveau
application

Niveau
application

Niveau
gestion donnes

Niveau
gestion donnes

Serveur

Middleware

...
Niveau
gestion donnes

...

Serveur

1-tier

2-tiers

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

3-tiers
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
RPC, RMI, CORBA, DCOM

Web homme-machine

web

HTTP, XML, services

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

Das könnte Ihnen auch gefallen