Architectures d'intégration de données



Documents pareils
Intégration de données

Intégration de données hétérogènes et réparties. Anne Doucet

Les Architectures Orientées Services (SOA)

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Module BDR Master d Informatique (SAR)

Urbanisation des Systèmes d'information

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Cours Bases de données

Urbanisme du Système d Information et EAI

Les nouvelles architectures des SI : Etat de l Art

Business & High Technology

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

UE 8 Systèmes d information de gestion Le programme

BI = Business Intelligence Master Data-ScienceCours 2 - ETL

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Les Entrepôts de Données

Module BD et sites WEB

Architecture Orientée Service, JSON et API REST

Bases de données avancées Introduction

Conception, architecture et urbanisation des systèmes d information

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Java et les bases de données

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Mise en œuvre des serveurs d application

DataStudio. Solution d intégration des données et de diffusion de l information

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

2 Chapitre 1 Introduction

Le modèle client-serveur

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Introduction à la conception de systèmes d information

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Architectures n-tiers Intergiciels à objets et services web

Business Intelligence avec Excel, Power BI et Office 365

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Introduction à Microsoft InfoPath 2010

Entreprises Solutions

4. SERVICES WEB REST 46

Programmation Web. Introduction

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Suite Jedox La Business-Driven Intelligence avec Jedox

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

MYXTRACTION La Business Intelligence en temps réel

NFP111 Systèmes et Applications Réparties

BES WEBDEVELOPER ACTIVITÉ RÔLE

Compte Rendu d intégration d application

Environnements de Développement

WEA Un Gérant d'objets Persistants pour des environnements distribués

Solutions de gestion de la sécurité Livre blanc

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Bases de Données OLAP

Présentation du module Base de données spatio-temporelles

MyReport, LE REPORTING SOUS EXCEL

Introduction aux applications réparties

Le cadre des Web Services Partie 1 : Introduction

Java pour le Web. Cours Java - F. Michel

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Introduction à la B.I. Avec SQL Server 2008

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Le 09 et 10 Décembre 09

BUSINESS INTELLIGENCE

Introduction aux Bases de Données

Business Intelligence

SQL SERVER 2008, BUSINESS INTELLIGENCE

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Easy to. report. Connexion. Transformation. Stockage. Construction. Exploitation. Diffusion

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Nouvelles technologies pour l intégration : les ESB

Mercredi 15 Janvier 2014

Gestion de données réparties. Cours 1

Architectures web/bases de données

L Information en Temp Réel

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Programmation Web Avancée Introduction aux services Web

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Petite définition : Présentation :

«Clustering» et «Load balancing» avec Zope et ZEO

Master Informatique et Systèmes. Architecture des Systèmes d Information. 02 Architecture Applicative

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Comment booster vos applications SAP Hana avec SQLSCRIPT

Systèmes d'informations historique et mutations

BI = Business Intelligence Master Data-ScienceCours 3 - Data

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Software Engineering and Middleware A Roadmap

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

4.2 Unités d enseignement du M1

et les Systèmes Multidimensionnels

Transcription:

Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration de données Médiateur Entrepôt de données Schémas d'intégration Intégration de schéma Mapping Architectures distribuées Architectures k-tiers Services web Cours IED (UC/M1): Architectures d'intégration de données age 2

Intégration de données Gestion de données traditionnelle Bases de données homogènes (modèle/schéma uniques) Architecture centralisée ou distribuée, transparente au niveau logique Évolution vers le "mélange" de données en provenance de plusieurs sources Sources d information nombreuses et variées SGBD relationnels/xml, pages Web HTML, LDA, tableurs, fichiers, applications, formulaires, services web, Interfaces d accès variées Langages d interrogation: SQL, Xath, XQuery, URL, Modèle de données: relationnel, XML, HTML, tableurs rotocoles de communication: JDBC, ODBC, SOA, HTT Interfaces d appel: ligne de commande, AI, formulaire, interface graphique Objectif général : utiliser ces données comme si elles constituaient une seule base de données homogène Cours IED (UC/M1): Architectures d'intégration de données age 3 Objectif lus particulièrement, l intégration de données doit fournir un accès (requêtes, éventuellement mises-à-jour) uniforme (comme si c était une seule BD homogène) à des sources (pas seulement des BD) multiples (déjà deux est un problème) autonomes (sans affecter leur comportement, indépendant des autres sources ou du système d intégration) hétérogènes (différents modèles de données, schémas) structurées (ou semi-structurées) Cours IED (UC/M1): Architectures d'intégration de données age 4

Exemple SQL tuples OQL objets XQuery Moteur de XML recherche HTML AI instances SGBD relationnel Agence de voyage SGBD objet Chaine hôtelière SGBD Semi-Structuré Site horaire des vols Fichiers Fichiers texte Fichiers texte texte Informations ays Application Météo Cours IED (UC/M1): Architectures d'intégration de données age 5 Enjeux Dans l entreprise Données dispersées dans une grande variété de sources hétérogènes: internes à l entreprise (protégées) externes, chez des fournisseurs, des partenaires ou des clients Objectif «business intégration»: accès efficace, facile et sûr à ces données Études: IBM: «pour 1$ dépensé pour une application, 5-9$ sont dépensés pour assurer son intégration» Gartner: «plus de 40% des budgets IT sont dépensés en intégration» Morgan Stanley: «l intégration de données est devenue la priorité n 1 des entreprises avant le e-business et le CRM» Grand public Accès simple, rapide et efficace aux informations disponibles sur le web Texte/HTML, images, vidéo XML, fils RSS, cartes Le web caché Services web Commerce électronique: comparateurs de prix, intégration de magasins en ligne Cours IED (UC/M1): Architectures d'intégration de données age 6

Applications Données d entreprise Données scientifiques + le Web!centaines de milliers de sources de données Cours IED (UC/M1): Architectures d'intégration de données age 7 La différence Cours IED (UC/M1): Architectures d'intégration de données age 8

Caractéristiques des sources de données qui rendent l intégration de données difficile Distribution Autonomie Hétérogénéité Cours IED (UC/M1): Architectures d'intégration de données age 9 Distribution Données stockées sur des supports répartis sur plusieurs sites Caractéristique importante: l échelle Avantages Disponibilité: ne tombent pas en panne en même temps Temps d accès: partage de la charge, parallélisme roblèmes Les temps de communication Localisation des sources contenant les données pertinentes Hétérogénéité en termes de puissance de traitement et de charge Les sources peuvent être temporairement indisponibles Cours IED (UC/M1): Architectures d'intégration de données age 10

Autonomie Conception : les sources décident de leur propre modèle de données, langage d interrogation, sémantique des données. Communication : les sources décident quand et comment répondre aux questions d autres sources Exécution : les sources décident de l ordre d exécution des transactions locales ou des opérations externes eu ou pas d informations fournies sur les détails internes d exécution Association des sources : connexion et déconnexion des sources partage de données et des fonctions Cours IED (UC/M1): Architectures d'intégration de données age 11 Hétérogénéité Concerne les données, les modèles, les langages, Système homogène : même logiciel gérant les données sur tous les sites même modèle de données / langage d accès même univers de discours / sémantique Système hétérogène : qui n est pas homogène sur au moins un critère Divers niveaux et degrés d hétérogénéité Aussi: hétérogénéité de la puissance / des capacités de traitement des sites Cours IED (UC/M1): Architectures d'intégration de données age 12

Architecture générale d intégration requête réponse Modèle global d intégration Données matérialisées Adaptateur 1 Modèle S 1 Adaptateur n Modèle S n Source 1........ Source n Cours IED (UC/M1): Architectures d'intégration de données age 13 Deux approches Intégration matérialisée entrepôt de données Les données provenant des sources sont transformées et stockées sur un support spécifique (entrepôt de données). L interrogation s effectue comme sur une BD classique Intégration virtuelle médiateur Les données restent dans les sources Les requêtes sont exprimées sur le schéma global, puis décomposées en sous-requêtes sur les sources Les résultats des sources sont combinés pour former le résultat final En pratique on peut avoir des architectures intermédiaires, entre ces deux extrêmes Cours IED (UC/M1): Architectures d'intégration de données age 14

Architecture d entrepôt Q R Entrepôt D 1 + +D n Chargeur 1 Source 1 D 1........ D n Chargeur n Source n Migration de données Cours IED (UC/M1): Architectures d'intégration de données age 15 Architecture de médiation Q R=f(R 1,, R n ) Médiateur Adaptateur 1 Q 1 R 1 Q n R n Adaptateur n Migration de requêtes Source 1........ Source n Cours IED (UC/M1): Architectures d'intégration de données age 16

Entrepôt ou médiateur? Médiateur : accès direct aux sources approche «paresseuse», pas de matérialisation migration de requêtes vers les sources avantages : données toujours fraîches, plus facile d ajouter de nouvelles sources, plus grande échelle, distribution de l effort inconvénients : performances, traduction de requêtes, capacités différentes des sources Entrepôt de données : accès efficace à une copie des données matérialisation des sources au niveau du modèle global migration de données vers l entrepôt avantages : performances, personnalisation des données (nettoyage, filtrage), versions inconvénients : données pas toujours fraîches, cohérence, gestion des mises-à-jour, gestion de gros volumes de données Cours IED (UC/M1): Architectures d'intégration de données age 17 Entrepôts de données L approche la plus populaire d intégration de données Gros avantage: performances Autre gros avantage: contrôle plus facile de l hétérogénéité des données Utilisation pour les systèmes décisionnels OLA Transformation de données pour alimenter l entrepôt Chargeurs = systèmes ETL («Extract, Transform, Load») Outils graphiques pour définir des flots de traitements/transformations Une fois le flot de traitement défini appliqué au contenu des sources Cours IED (UC/M1): Architectures d'intégration de données age 18

Médiateurs Bien que moins utilisés en pratique, ils ont plus de potentiel Meilleur passage à l échelle Acceptent mieux les changements dynamiques (nouvelles sources) mieux adaptés à l intégration de sources web En entreprise: EII «Enterprise Information Integration» BEA Liquid Data (AquaLogic Data), IBM InfoSphere Federation Server, Cours IED (UC/M1): Architectures d'intégration de données age 19 Schémas d intégration roblèmes Intégration de schéma: comment définir un schéma (modèle) global d intégration à partir des schémas (modèles) des sources? Fusion de données: comment rendre compatibles, transformer les données en provenance des sources? Mappings/vue d intégration: comment décrire le lien entre le schéma global et les schémas des sources? Modèle de données global Relationnel: mieux maîtrisé XML: plus riche et flexible Sémantique (ontologie): intégration sémantique Mixte Cours IED (UC/M1): Architectures d'intégration de données age 20

Intégration de schéma Le lien entre schéma global et schémas locaux est défini à travers un mapping (correspondance structurelle) Schéma global M Schéma des sources S i Deux façons principales de définir ce lien Le schéma global en fonction des schémas locaux «global as view» Approche ascendante: on part des sources pour produire le schéma global M = V(S 1,, S n ) Avantages: approche naturelle, traduction des requêtes simple Les schémas locaux en fonction du schéma global «local as view» Approche descendante: on fixe le schéma global et on décrit les sources par rapport à ce schéma fixé S i V i (M) Avantage: facile à rajouter de nouvelles sources Cours IED (UC/M1): Architectures d'intégration de données age 21 Mapping Mapping = correspondance entre le schéma global et les schémas des sources utilisé pour la traduction des requêtes et la structuration des résultats Diversité les schémas : relationnel, XML, orienté-objet, entité-association le mapping : couples d éléments correspondants, fonctions, contraintes, degrés de similarité Objectifs contradictoires mapping complexe : précision, pouvoir d expression mapping simple : découverte automatique, composition, maintenance simplifiée Intégration : sources nombreuses, hétérogènes, ajouts de sources besoin de calcul (semi-)automatique du mapping un mapping simple, structuré est plus facile à maintenir solutions de compromis, privilégiant le mapping simple Cours IED (UC/M1): Architectures d'intégration de données age 22

Exemples de mapping S 1 : Client Numéro S 2 : Acheteur ID Société Compagnie Nom Contact rénom Téléphone M a : Client Acheteur M b : Client Acheteur Client.Numéro Acheteur.ID Client.Numéro Acheteur.ID Client.Société Acheteur.Compagnie Client.Société Acheteur.Compagnie Client.Nom Acheteur.Contact concat(client.nom, Client.rénom) Client.rénom Acheteur.Contact Acheteur.Contact M c : create view Client select ID as Numéro, Compagnie as Société, getnom(contact) as Nom, getrenom(contact) as rénom from Acheteur M d : create view Acheteur select Numéro as ID, Société as Compagnie, concat(nom, rénom) as Contact from Client Cours IED (UC/M1): Architectures d'intégration de données age 23 La difficulté de définir le mapping En pratique la création du mapping prend > 50% de l effort d intégration! Il est important d'avoir des outils de génération (semi-)automatique mais la précision du mapping est très importante pour l intégration Les difficultés de la génération automatique du mapping Hétérogénéité des schémas et des modèles Les schémas ne captent jamais complètement la sémantique il faut la chercher partout, dans les données, les commentaires Il faut combiner plusieurs critères, proposer plusieurs variantes avec des degrés de confiance différents Technique générale: deux étapes Mise en correspondance d éléments individuels du schéma («matching») Utilisation des correspondances individuelles pour définir le mapping Union, jointure, composition, filtrage, agrégation, Cours IED (UC/M1): Architectures d'intégration de données age 24

Architectures distribuées Intégration de données architectures distribuées Les sources = serveurs de données, le médiateur = client Médiateur = serveur de données, l application = client Médiateur = architecture distribuée très simple Un client, plusieurs serveurs Les sources: limitées en général à l interrogation de données En principe, on pourrait avoir: Des rôles mélangés client/serveur pour les sites architectures distribuées pair à pair Des sites qui offrent d autres services que l interrogation des données et qui collaborent applications réparties de gestion de données basés sur ces services Cours IED (UC/M1): Architectures d'intégration de données age 25 Médiateur, pair à pair, réparti M S S S S Médiateur air à pair services Réparti général Cours IED (UC/M1): Architectures d'intégration de données age 26

Applications réparties Applications réparties Accès à plusieurs ressources / applications individuelles Séparation 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: spécifique à la diffusion sur le web Ex: serveurs web avec architecture 3-tiers + clients web Clients n-tiers serveurs (n+1) - tiers Cours IED (UC/M1): Architectures d'intégration de données age 27 Architectures Client «présentation» «application» Client «présentation»... «application» Client «présentation»......... «application» «gestion données» «gestion données» Serveur «gestion données» Serveur Middleware...... 1-tier 2-tiers 3-tiers Cours IED (UC/M1): Architectures d'intégration de données age 28

Communication Application répartie communication entre les «tiers» qui réalisent des traitements Moyens de communication traditionnels Middleware RC («Remote rocedure Call»): appel de fonctions à distance Moniteurs transactionnels («T monitors»): bases de données «Object brokers»: RC en orienté-objet (ex. CORBA, DCOM) Moniteurs d objets («object monitors»): «object broker» + «T monitor» Middleware orienté-messages: asynchronisme, files d attente EAI («Enterprise Application Integration») Communication entre systèmes plus hétérogènes (ex. entre systèmes 3-tiers) Ex: WebSphere MQ, BEA WebLogic Integration, webmethods, etc. Visent souvent aussi des aspects «workflow» (séquence de traitements) Cours IED (UC/M1): Architectures d'intégration de données age 29 Services web Sur le web: contraintes qui n apparaissent pas dans les environnements d entreprise Contrôle limité des sites Débit faible Clients légers résentation/interaction moins riches (HTML) Objectif: Réaliser des applications distribuées (architectures k-tiers) avec les contraintes imposées par le web services web Cours IED (UC/M1): Architectures d'intégration de données age 30

Caractéristiques des services web Demande de service adressée par un client à un serveur Appel d une fonction distante Utilise les protocoles web: TC/I, HTT Données transportées sur le web Généralement du texte (HTT: pages HTML) Services web texte en format XML Format d échange flexible Standardisation Services web: évolution des architectures Architectures distribuées classiques web RC, RMI, CORBA, DCOM HTT, XML, services Web «homme-machine» web «machine-machine» Cours IED (UC/M1): Architectures d'intégration de données age 31 Web «machine-machine» Web dynamique «homme-machine» HTML + HTT + scripts Scripts: tâches exécutées par un serveur web HTML: contenu généré dynamiquement par les scripts HTT: utilisation «manuelle» à travers un navigateur web Interface informelle aramètres de type texte Résultat: HTML Web «machine-machine» XML + SOA + code Code: programme/fonction appelé à distance XML: format d échange général SOA: utilisation par des programmes (automatique) Interface formalisée (WSDL) aramètres et résultat typés XML Schema Cours IED (UC/M1): Architectures d'intégration de données age 32

Avantages des services web Flexibilité Indépendance du langage et du système Données XML Interopérabilité dans des environnements distribués Interfaces formalisées Communication entre services, composition Automatisation Adaptés à la communication sur le web rotocoles web bien connus et acceptés (HTT, SMT, ) Invocation à travers des pare-feux (à la différence de CORBA) Cours IED (UC/M1): Architectures d'intégration de données age 33 REST vs. SOA SOA (Simple Object Access rotocol) rincipal standard W3C pour les services web Associé à WSDL pour la description du service rotocole de communication échange de messages XML Services appelables à travers des points d accès sur le web REST (Representational State Transfer) Appel de services web directement en HTT Messages HTT : OST, GET, UT, DELETE Utilisation codes d erreur, options d appel HTT, caching Description WADL (peu utilisée) Tout objet (ressource) manipulé par le service doit avoir une URI Services sans état: exécution indépendante des appels précédents Cours IED (UC/M1): Architectures d'intégration de données age 34