Business Integration Intégration de données (EII) Intégration d'applications (EAI) Vers l'architecture SOA … Commerce électronique B2B
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é Le B2B nécessite l’intégration lâche des systèmes d’information par les données 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 le CRM Introduction
2. Intégration de données (EII et XML) 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 Intégration de données
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 Intégration de données
BO Data Integrator Site #2 Intégré à BO XI Solution mixte Relationnel/XML Architecture récursive Server Site #1 Application #2 Server Données DR Application #1 Site #3 Données CD Server Application #3 Données NP Intégration de données
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 Intégration de données
Liquid Data de BEA Architecture intégrée à WebLogic/AquaLogic Intégration de données
XQuare 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) Intégration de données
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 Services données dans SOA Exemples d'applications Le dossier patient virtuel Le portail touristique Problèmes Architecture complexe Performance Intégration de données
3. Intégration d'applications (EAI et XML) 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
Structure d'un EAI Hub and Spoke Bus (ESB) Bus EAI Application J2EE Application SAP Hub EAI Application Siebel Application .NET Application J2EE Application SAP Bus EAI Application Siebel Application .NET 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 et intégration 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, Extracteur Transforme une source en XML De XML à XML Utilisation de XSL Intégration de N flots en 1 Du modèle d'échange à l'application Connecteur, Adaptateur, Publisher 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 des workflows 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 Workflows 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) Intégration dans architecture SOA EAI et XML
Evolution du marché des EAI Intégration des services web Intégration du « business process management » Architectures en bus ESB Vers les architectures SOA L'évolution d'IBM est typique ... Fusion avec les serveurs d'applications ? Autres "key-players" : Tibco www.tibco.com BEA WebLogic Integration www.bea.com Oracle Integration Server www.oracle.com WebMethods www.webmethods.com Seebeyond www.seebeyond.com Vitria www.vitria.com Mercator www.mercator.com Axway (Sopra) EAI et XML
4. L’architecture SOA pour le SI 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
Niveaux de composition: de la technique au métier Des services gros grains composés en BP 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
Architecture Fonctionnelle Outils de Conception Moteur BPEL Applications Composites Processus métiers Messages XML Fiables et Sécurisés Services Métiers et Données Bus Logiciel d’Entreprise (ESB) Plateformes hétérogènes SOA
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 Exemples: SONIC, TIBCO IBM, WebMethods, … SOA
Un modèle multi-niveaux D’après IBM SOA
Exemple de Produits: IBM WebSphere + Business Modeler : Modélisation des processus Rational Architect : Modélisation des composants (WS) et messages Integration Developer : Développement du code ESB, Process Server : Déploiement et exécution Business Monitor Monitoring et surveillance SOA
5. Le Commerce B2B avec XML Reprise des objectifs de l'EDI Rationaliser les flux d'information de l'entreprise Optimiser les approvisionnements Supprimer les doubles saisies manuelles Améliorer la traçabilité des produits Permettre une réactivité plus forte des organisations Assurer une meilleure flexibilité et qualité de service Utiliser Internet et les échanges XML Réduction des coûts Support de standards Démocratisation de l'EDI B2B
Marché du B2B sur Internet Monde $ 800 milliards en 2002 $ 12 trillons en 2006 Europe € 150 milliards en 2002 € 2,2 trillons en 2006 22% du business D'après Forrester Research. B2B
Scénario Donneur d'ordre (EDI-XML) Réseau Réseau Fournisseur Fournisseur Serveur d'échange Message XML Navigateur SYS. INFO. EDIXML EAI Sécurité Formulaires B2B
Scénario Place de marché Donneur d'ordre Donneur d'ordre Réseau Réseau Fournisseur Fournisseur Adaptation et échange Serveur SYS. Gestion des offres et demandes Navigateur INFO. EDIXML BD Sécurité EAI Formulaires Service Web B2B
Apports de XML Prise en compte de messages « standardisés » Transactions sur catalogue (cXML, xCBL, UBL …) Cadres pour la composition (Rosettanet, ebXML, ….) Description des partenaires et artifacts Références des partenaires (annuaires) Description des messages et processus (registres) Gestion des processus d’échanges Modélisation par workflows (BPEL, BPSS …) Orchestration des messages (EAI) Garantie de sécurité Utilisation de messages cryptés, signés, … B2B
Quelques dialectes B2B Nom Description Organisation cXML xCBL Catalogue électronique et transactions Ariba xCBL Business components Pour commerce sur catalogue (product,catalog,...) Commerce One, ... http://www.xcbl.org UBL Librairie de business documents (purchase orders, invoices, etc.) OASIS RosettaNet Cadre XML pour l'industrie et référentiel de formats PIP = Partner Interface Process Consortium CommerceNet OAGIS Formats de messages pour les contenus (catalogues,livraison,.) OAG (Open Application group) FIX Formats de messages pour données financières (trading) De facto standard http://www.fixprotocol.org B2B
Exemple: FIX (Finance)
Autres Protocoles Santé Banque et Marchés Financiers Assurance HL7 – Gestion du Patient: diagnosics, traitements, prescriptions, etc. http://www.hl7.org Banque et Marchés Financiers IFX - Interactive Financial Exchange : trades, banque, transactions client, etc. http://www.ifxforum.org SWIFT http://www.swift.com Assurance ACORD – Gestion des Polices – Indemnités, réclamations, etc. http://www.acord.org Distribution IXRetail – Inventaire, transactions client, et gestion des employés http://www.nrf-arts.org Business to Business cross-industrie (y compris Gouvernement) UBL – Transactions B2B – Factures, Commandes, statut inventaire, etc.
UBL de l'OASIS Order, LineItem, Party, Item, Deliverery, ...
Nécessité d'ouvrir les protocoles Beaucoup de protocoles sont disponibles DTDs XML et schemas XML, Business Process Tout business doit pouvoir commercer avec tout autre business Nécessité d'étendre ou spécialiser des messages Nécessité de définir des nouveaux messages Respecter un guideline (comme EDIFACT) Intitiative ebXML Protocoles ouverts Architecture de référence
XML for e-business : ebXML Mission "To provide an open XML-based infrastructure enabling the global use of electronic business information in an interoperable, secure and consistent manner by all parties." Supporté par UN/CEFACT (EDIFACT) et OASIS Résultats Architecture patronnée par 850.000 entreprises Groupes de travail et spécifications associées: OASIS = Infrastructure UN/CEFACT = Sémantique Quelques applications et outils « conformes ». ebXML
Les groupes de travail La pile de travail OASIS UN/CEFACT Infrastructure de communication (Messaging) Référentiel et annuaires de documents (Registry) Recherche d'agréments entre partenaires (CPA) UN/CEFACT Librairie de vocabulaires XML (Components) Business Process Modeling Language (BPSS) ebXML
Architecture fonctionnelle M P L E N T A O DECOUVERTE et ECHANGES ebXML
Des dialectes ouverts Spécifications de composants de base Exemples : Adresse, Référence client, etc. Peuvent être spécifique d’un domaine (santé, etc.) Stockés en « core library » Assemblage pour un business Définition des objets et processus du business Stockage en référentiel (repository) Possibilité d’utiliser UML Pour assembler les « core components » Pour générer les schémas XML ebXML
Exemples de « Core Components » Person Name: text Birth: date Residence address: Address Official address: Address Address Street: text Town: text Country: identifier Post code: text Amount Binary Object (plus Graphic, Picture, Sound, and Video) Code Date Time (plus Date and Time) Identifier Indicator Measure Numeric (plus Value, Rate, and Percent) Quantity Text (plus Name) ebXML
Où va ebXML ? Des comités productifs Quelques outils open source Business Process Core Components Collaboration Protocol Messaging Registry / Repository Implementation Quelques outils open source Repository Quelques protocoles de base UBL ebXML
6. Bilan Business Integration Intégration de données BD fédérées via XML Support de XQuery et/ou SQL/XML Intégration d’applications EAI XML et Web Services Business Process et SOA Support de BPML B2B Protocoles ouverts standards Plate-forme ouverte B2B en perspective Intégration des web services (UDDI, SOAP et BPEL) Questions ? Bilan