Intégration de données et applications via XML Intégration de données (EII) Intégration d'applications (EAI) Vers l'architecture SOA …
1. Introduction L’existant Le besoin Nombre croissant de données dispersées dans une grande variété de sources de données hétérogènes Données internes à l’entreprise (protégées par un firewall) et externes, chez des fournisseurs, des partenaires ou des clients Le besoin Les applications doivent accéder et combiner ces données efficacement, facilement et en toute sécurité Introduction
Les niveaux d'intégration Business Process EAI Intégration d'applications BD Fédérées EII Intégration de données Standards J2EE Web Services Intégration de plate-formes Systèmes Réseaux SGBD Introduction
Intégration données et d'applications (EIS) Intégration de données (EII) 1 serveur d'applications N sources de données Accès unifié par vues et requêtes Intégration d'applications (EAI) N serveurs d'applications 1 serveur d'intégration Échange de données inter-applications Pilotage par workflows Introduction
Enjeux de l’intégration Selon études IBM: pour 1$ dépensé pour une application packagée, de 5 à 9$ sont dépensés pour assurer son intégration Selon l’IDC: l’intégration d’information aura une croissance de 22% jusqu’en 2007, soit 3,5 B$ Selon le Gartner: 40% des budgets IT sont dépensés en intégration Selon Morgan Stanley: l’intégration de données est devenue la priorité N°1 des entreprises avant le e-business et la CRM Introduction
2. Intégration de données Base de données intégrée virtuelle approche où les données intégrées ne sont pas matérialisées dans un SGBD intégration à la demande pour répondre aux requêtes Seules les données utiles sont manipulées L’utilisation d’un cache augmente les performances Limitations performance calculs d’intégration complexes, sources lentes ou indisponibles Pas d’historique des données Intégration de données
Données géographiques Exemple de scénario Systèmes classiques CLIENT Données techniques Site 5 Vue intégrée Commandes, Clients, Factures Site 4 Site 1 Opérations des produits Réseau de communication Données géographiques Données textuelles Site 2 Site 3 Descriptions des produits SERVEUR Localisation des clients Intégration de données
Hétérogénéité des modèles Source 2: Repository XML Source 1: SGBDR <!ELEMENT Vin (Cru, Degre, Description+)> <!ATTLIST Vin nv CDATA #IMPLIED> <!ELEMENT Buveur (Nom, Place,Date, Type)> <!ATTLIST Buveur nb CDATA #IMPLIED> <!ELEMENT Catalogue (Vin, Offre, Publicité?)+> ... Nom DateN Pays Type Buveurs Vins NV Cru Mill Degre Source 4: LDAP personne Source 3: WEB buveur service chef employé boire Personne Boisson vins Région Description Intégration de données
Architecture de schémas Schéma de médiation mappings Schéma source Schéma source Source 1 Source 2 Méthodes de mapping Descendante (le schéma de médiation est une vue) - GAV Ascendante (le schéma source est une vue) - LAV Mixte (la combinaison de schémas sources est une vue) Intégration de données
Hétérogénéité des langages Source 1: RDBMS Source 2: XML Repository ODBC/JDBC SQL SOAP XQuery Source 4: LDAP Source 3: WEB LDAP QUERY Google Text Queries WEB Services Intégration de données
Traitement d’une requête Source 1 Schéma de médiation Traduction Décomposition Intégration q1 q2 Q Traduction Vue utilisateur Source 2 Dans tous les cas, le médiateur génère des sous-requêtes optimisées à partir de Q Intégration de données
Services Coordination Architecture DARPA I3 Services Interaction Applications objet Applications client Browser web Niveau Client Services Coordination Facilitateur 1 Facilitateur 2 Services Integration Niveau Médiation Médiateur 1 Médiateur N Services Translation Wrapper Wrapper Wrapper Niveau Source ... Services Accès Source 1 Source 2 Source N Intégration de données
Schéma de médiation XML Atouts Un modèle complet (XML Schema) plus riche que le relationnel Permet de mixer documents et données structurées Langages de requêtes normalisé: XQuery, SQL/XML Bien adapté aux échanges B2B: Unification des noms possible, mécanisme de "namespaces" Difficultés : Technologie complexe à maîtriser Performance de XML (texte) Intégration de données
Une réalité industrielle Enosys Médiateur XQuery Librairie de wrappers Nimble.com Racheté par Actuate Base d'intégration sémantique Correspondance entre Xpath IBM Xperanto XQuery au-dessus de SGBDR Compilation en SQL Médience (INRIABO) Relationnel + API XML Liquid Data (BEA) Dérivé de Enosys Vues XML/XQuery IBM Information Integrator Système hybride SQL et XML Basé sur SQL/XML OLE/DB.NET Extension de OLE/DB à XML Interrogation SQL for XML DENODO Plate-forme d'intégration SQL Extension à XQuery en cours Médiation
IBM DB2 Information Integrator Accès unifié à des vues SQL/XML Tables virtuelles avec colonnes XML docs Interrogation en SQL/XML SQL avec fonctions XPath Accès à toute source SQL (DB2, Oracle, Sybase, etc.) MQ message queues Lotus Notes Documentum Enterprise Content Management System web search engines and Web services MS Excel spreadsheets, XML docs and more Médiation
Liquid Data de BEA Schéma de médiation XML Sources de données Intégration de données par vues XML Interrogation uniforme en XQuery Sources de données Sources de données J2EE JCA, fichiers, XML Applications patrimoniales Adaptateurs intégrés au médiateur Interfaces applicatives JDBC orienté XML Méthode de mapping descendante Médiation
Liquid Data de BEA Architecture intégrée à WebLogic Médiation
XQuark Fusion (Open Source) Schéma de médiation XML Sources de données: BDs, XML, fichiers, services Web Interfaces applicatives : XDBC, insertion dans des sources Méthode de mapping descendante Version Open source disponible Industrialisée par start up fermée début 2003 Seul médiateur en Open Source (www.xquark.org) Médiation
Bilan Les bases fédérées s'orientent vers XML XQuery distribué est en marche Technologie idéale pour Portails BD Interrogation multi-sources Exemples d'applications Le dossier patient virtuel Le portail touristique Problèmes Architecture complexe Performance Médiation
3. Intégration d'applications Enterprise Application Integrator Échange de données entre applications Transformation et fusion des sources Stockage intermédiaire en BD Diffusion vers les cibles Pilotage des flots (Workflow) Connexion avec bus applicatif (CORBA, DCOM) De plus en plus souvent basés sur XML EAI et XML
Intérêt d'un modèle pivot L'intégration d'information nécessite un modèle pivot (global, fédérateur, d'échange) XML est conçu pour cela Les Services Web peuvent être invoqués pour produire/consommer du XML SOAP est de plus en plus présent n+m versus n*m EAI et XML
Les couches Couche transport Couche transformation et routage Transport des messages depuis l'EAI aux applications et vice-versa Peut ou non intégrer Intranet/Internet Couche transformation et routage Transformation des messages Routage vers les applications Couche modélisation métier Modélisation des flux (workflow) Définition des objets métiers De plus en plus basée sur BPM (Web services) EAI et XML
Le transport Connectivité du réseau Request Queue Application Response Queue Serveur EAI Connectivité du réseau Gestion des messages et files d'attentes Sécurité et cryptage Logging et répétition des messages Routage des messages Utilisation TCPIP, HTTP, SOAP, SMTP, IIOP, … Message-Oriented Middleware (MOM) EAI et XML
La transformation De l'application au modèle d'échange (XML) Connecteur, Adaptateur, Wrapper Transforme une source en XML De XML à XML Utilisation de XSL Fusionne N flots en 1 Du modèle d'échange à l'application Connecteur, Adaptateur Présente les données aux applications La gestion des méta-données Formats et règles Annuaire des applications et utilisateurs EAI et XML
Les processus métiers Modélisation de processus métiers Enchaînement d'activités Echange de messages XML Transactions courtes et longues Intégration des Services Web API standards décrites en WSDL Langages d'orchestration (WFSL, XLANG, BPEL, ...) Interpréteur de ces langages Généralement centralisé Pilote les processus et échanges EAI et XML
Architecture fonctionnelle Dévelop. Admin. Processus Métier C O N F I G U R A T S U P E R V I O N Activités A D M I N S T R O Routage Messages Chemins Transformation Règles Connecteurs Formats TRANSPORT SGBD Progiciels Application … … Fichiers … EAI et XML
Types d'échanges Y Y Y X X X A B C A Y Z B X X X C EAI EAI EAI EAI EAI 3) Needs ability to cache response from multiple requests to respond to one message 2) Request / Reply System makes request and gets response 1) Fire and Forget No Response required Y Y EAI X EAI X EAI X A B C A Y Z EAI B X EAI X EAI X C XREF 4A/B) Multiple Applications needed to satisfy request 4A: XREF Look-up 4B: XREF Update 5) Publish Subscribe A, B and C subscribe to message 6A) Needs data from Z to be able to update Y EAI et XML
Exemple: MS BizTalkServer BizTalk Server offre un moyen sophistiqué de créer une activité commerciale avec échanges de documents XML BizTalk Serveur est basé sur .NET, SQL Server et les Web Services Possibilité de création automatique des documents XML suivant une base de donnée existante (vues XML) Bibliothèque de schémas extensibles (Editor) Définition graphiques des mappings (Mapper) Support du Business Process Management et de transactions longues avec XLang (bientôt BPEL?) EAI et XML
Exemple de scénario Modélisation d'une activité commerciale Process Buyer Process Supplier Génération et échange de message XML Tests et contrôles Total < $1000 EAI et XML
Architecture Business Rules Host Tracking Config DB DB DB Message Format 2 Message Format 1 Send Port Receive Port Orchestration #1 Orchestration #2 Adapter Adapter Send Pipeline Receive Pipeline Publish and Subscribe Message Box (SQL) Tracking DB Config DB DB EAI et XML
Sun One Caractéristiques Totalement basé sur XML Transformations spécifiées en XSL Accès à de multiples sources (connecteurs Java, C++, ...) Intégration de services web via des "application proxies" Capacité de BPM spécifié via interface graphique Multiples plate-formes EAI et XML
Evolution des produits IBM WebSphere Interchange Server Anciennement nommé Crossworlds Interchange Server, ce serveur d'intégration est exploité dans le contexte d'une approche top-down, centrée donc sur l'intégration par les processus. WebSphere MQ Integrator Broker Anciennement nommé MQSeries Integrator, ce moteur prend en charge la logique d'intégration par les données. WebSphere MQ Workflow Comme son nom l'indique, ce moteur exécute la logique des processus qui incluent potentiellement des activités humaines. WebSphere Business Integrator Intégration des trois produits avec des composants: Modeler (Design) Adapters (Bibliothèque) Collaborations (Packages métiers télécom, distribution, assurance) EAI et XML
Evolution du marché des EAI Intégration des services web Intégration du business process management L'évolution d'IBM est typique ... Fusion avec les serveurs d'applications ? Vers les architectures SOA … Autres "key-players" : Sybase-NEON BEA WebLogic Integration Oracle Integration Server WebMethods Seebeyond Vitria Mercator Axway (Sopra) EAI et XML
Enterprise Service Bus (ESB) EAI à prises Web services Bus de services distribués Backbone pour messagerie fiable Routage intelligent basé contenu Coordination des processus Cadre sécurisé Transformation XML Exemple: SONIC Allows companies to integrate applications across the extended enterprise using a standards-based, service-oriented architecture (SOA).
4. Architecture SOA Service Oriented Architecture = Architecture Orientée Services Système d’information structuré de manière à ce que les différentes ressources (données, traitements, processus, infrastructure) soient accessibles uniquement par envoi de messages normalisés vers leurs interfaces. Modèles objets Composants distribués Modèles de services procedures Agilité SOA
Briques de base Modélisation des processus métiers A partir des Uses Cases avec UML Bibliothèque de service déclenchés messages Définis par des documents XML stables et homogènes Implémentation sur de multiples plate-formes Hétérogènes, encapsulation de l'existant SOA
Bénéfices S'appuie sur les standards Encapsule la complexité Favorise la réutilisation Facilite le développement de business process Fiabilise les business process Simplifie des échanges inter-entreprises Sécurise les échanges Choix de plate-formes inter-opérables .NET J2EE SOA
Plateformes hétérogènes Architecture Design Tools Composite Application Runtime Tools XML & Messaging Business Logic & Data Service Plateformes hétérogènes
Sous-modèles partagés Corrélateurs de modèles Outils de conception Modèle multi-niveaux de transformation Réalisation, déploiement, maintenance facilitées Ressource, Simulation, Règles business Sous-modèles partagés Stratégie Formulation de la stratégie Exigence en performances link Organisation Process & Information Gouvernance / Politique Opération Corrélateurs de modèles Liens Transformations Réconciliations Traceabilité transform Exécution (indépendant de la plate-forme ) Solution et composition Objets métiers adaptatifs Flux d'activités Connecteurs (EAI, B2B, HCI) Gestion des solutions Sécurité realize Implémentation (spécifique à la plate-forme) SOA
5. Bilan BDF et EAI XML XML fournit un cadre uniforme pour : échanger des données semi-structurées (XML) échanger des requêtes (XQuery) intégrer des sources de données hétérogènes contrôler des flux d'échanges Impact sur l'urbanisation des SI Intégration rapide des Web Services Les moteurs d'EAI pilotent des Web Services La base des échanges de données inter et intra-entreprises Architecture agile SOA (BPM) XML Bilan