690 likes | 1.02k Views
Business Integration. Besoins en Business Integration Intégration de données (EII) Intégration d'applications (EAI) L'architecture SOA pour votre SI Le commerce électronique B2B. 1. Introduction. L’existant
E N D
Business Integration Besoins en Business Integration Intégration de données (EII) Intégration d'applications (EAI) L'architecture SOA pour votre SI Le commerce électronique B2B
1. Introduction • L’existant • 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 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 en conjonction avec le e-business et le CRM Introduction
2. Intégration de données (EII) • 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 • Difficultés de mises à jour Intégration de données
Exemple de scénario Systèmes classiques CLIENT Données techniques Site 5 Vue intégrée Commandes, Clients, Factures Site 4 Opérations des produits Site 1 Réseau de communication Données géographiques Données textuelles Site 2 Site 3 Descriptions des produits Localisation des clients SERVEUR Intégration de données
Hétérogénéité des modèles Source 2: Repository XML <!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é?)+> ... Source 1: SGBDR Nom DateN Pays Type Buveurs NV Cru Mill Degre Vins Source 4: LDAP personne Source 3: WEB buveur service chef employé boire Boisson Personne vins Région Description Intégration de données
Vue intégrée pour la médiation • 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) Schéma intégré mappings Schéma source Schéma source Source 2 Source 1 Intégration de données
Hétérogénéité des langages Source 1: RDBMS Source 2: XML Repository SOAP XQuery ODBC/JDBC SQL Source 4: LDAP Source 3: WEB LDAP QUERY Google Text Queries WEB Services Intégration de données
Traitement d’une requête globale Source 1 + Wrapper 1 Vue Intégrée Traduction q1 Q Décomposition Intégration q2 Traduction Vue utilisateur Médiateur Source 2 + Wrapper 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
Avantages des médiateurs • Support d’un langage de requêtes uniforme pour les données hétérogènes (SQL/XML ou XQuery) • Accès intégré par API objet et services Web (requêtes paramétrées) • Transparence à la localisation des données pour les applications • Disponibilité accrue des données en cas de pannes des serveurs par gestion de copies • Intrusion minimum au niveau des serveurs • Transparence à l’hétérogénéité des sources Intégration de données
Architecture DARPA I3 Services Interaction Applications objet Applications client Browser web Niveau Client Services Coordination Facilitateur 2 Facilitateur 1 Services Integration Niveau Médiation Médiateur 1 Médiateur N Services Translation Wrapper Wrapper Wrapper ... Niveau Source Services Accès Source 1 Source N Source 2 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
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 Des produits industriels Intégration de données
BO Data Integrator Server Server Server Site #2 • Intégré à BO XI • Solution mixte Relationnel/XML • Architecture récursive Site #1 Application#2 Données DR Application#1 Site #3 Données CD Application#3 Données NP Intégration de données
Liquid Data de BEA • Architecture intégrée à WebLogic Intégration de données
XLive (Open Source) • Schéma de médiation XML • Sources de données: • BDs, XML, fichiers, services Web • Interfaces applicatives : • XQuery en Java et Web Services, insertion dans des sources • Version Open source disponible • Industrialisée par start up fermée début 2003 • Médiateur en Open Source (www.prism.uvsq.fr) • Version issues de eXMLMedia (www.xquare.com) • Version industrielle commercialisée • DataDirect XQuery for data integration www.xquery.com 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 • 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
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 Intérêt d'un modèle pivot n+m versus n*m EAI et XML
Structure d'un EAI • Hub and Spoke • Bus (ESB) Application J2EE Application SAP Hub EAI Application .NET Application Siebel Application J2EE Application SAP Bus EAI Application .NET Application Siebel EAI et XML
Les couches • Couche transport • 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 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 S U P E R V I S I O N A D M I N I S T R A T I O N C O N F I G U R A T I O N Workflows Routage Messages Chemins Transformation Règles Connecteurs Formats TRANSPORT SGBD Progiciels Application Fichiers … … … EAI et XML
Types d'échanges • 3) Split • Needs ability to cache response from multiple requests to respond to one message Y • 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 Y A Z B EAI EAI X X EAI X C XREF • 5) Publish Subscribe • A, B and C subscribe to message • Can subscribe on different events • 6) External join • Needs data from Z to be • able to update Y • 4) External reference • Multiple Applications needed to satisfy request • 4A: XREF Look-up • 4B: XREF Update 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 BPEL • Support des standards de sécurité XML EAI et XML
Exemple de flux dans BizTalk Server Fichier plat Fichier plat XML XML XML MessageBox Processus métiers Orchestration Port destination Adresse de réception SendAdapter ReceiveAdapter Mapping SendPipeline ReceivePipeline <tag> <tag><tag> <tag> EAI et XML
Les outils de développement Item Header Item Customer Header Record Item Field1 Field2 PO Field3 Status Name Field3 UnitPrice Qty ItemID Field2 Field1 Field1 PO Date Field2 Status Field3 Title PO Status Order PO Date Detail FieldA FieldB Schémas Définition des documents métiers Orchestration Modélisation du processus métier Pipelines Visual Studio .net Mapping Analyse des Messages Transformation des données EAI et XML
Modélisation d'une activité commerciale Process Buyer (acheteur) Process Supplier (fournisseur) Génération et échange de message XML/SOAP Tests et contrôles de la demande de commande par l’acheteur Total < $1000 Réception commande et génération facture par le fournisseur Exemple de scénario B2B EAI et XML
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) Evolution du marché des EAI EAI et XML
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. 4. L’architecture SOA pour le SI Agilité Modèles de services Composants distribués Modèles objets procedures 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
Web services et Bus d’entreprise • Des Web Services encapsulant l’existant • Basés sur les standards WSDL, SOAP, UDDI • Assure l’interopérabilité des composants • Un bus d’entreprise • Médiateur entre services producteur et consommateur • Backbone pour la fiabilité des messages • Assure le routage des messages • Propose un cadre sécurisé • Couche transport des EAI mais distribuée (P2P) 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
Niveaux de composition: de la technique au métier • Des services gros grains composés en BP SOA
Architecture Fonctionnelle Outils de Conception Moteur BPEL Applications Composites Processus métiers Services Métiers et Données Messages XML Fiables et Sécurisés Bus Logiciel d’Entreprise (ESB) Plateformes hétérogènes 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
Une méthode de conception intégrée • Une méthodologie multi-niveaux • Stratégie du SI d’entreprise • Définition des processus métiers (BP) • Définition des Web services (WS) • Encapsulation de modules existants • Définition de nouveaux services • Aller retour BP WS • Prototypage et mesures de performance • Un pont depuis UML • Cas d’usages Processus métiers • Scénarios Workflows • Paquetages Web services SOA
Les niveaux de maturité • D’après Progress Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation. Business process optimisés Business process mesurés Business process Modélisés Services architecturés Services initaux (fonctionalités) SOA
SOA: Ce qu’il ne faut pas faire • Partir totalement des applications existantes • Encapsulation parfois lourde et service mal taillé • Refaire totalement les applications existantes • Réfaction coûteuse faisant perdre ce qui marche bien • Développer de nombreux services Web • Granularité et réutilisation sont les objectifs, pas le nombre • S’appuyer sur un pare-feu XML pour la sécurité • Solution lourde et insuffisante pour trapper les attaques • Ne pas user trop des attachements binaire SOAP • Compatibilité et évolution difficile • Utiliser trop ou pas assez d’outils mal évalués • Difficultés: intégration et performance; les benchmarks manquent SOA
Axway: Axway Synchrony Progress Software: Sonic ESB TIBCO: TIBCO ActiveMatrix BEA: Aqualogic Service Bus Casewise: SOA Accelerator Information Builders/iWay Software : iWay SOA Middleware Oracle: Oracle SOA Suite SAP: Sap Netweaver Software AG: suite Crossvision webMethods: webMethods Fabric Obeo : Acceleo Open sources JBoss ESB Open ESB ServiceMix Mule PEtALS Consortium ObjectWeb Intalio Quelques produits labellisés SOA 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
Quel futur pour SOA ? • De nombreux projets, peu de recul • SNCF • Impôts • 94 en France (2006) avec IBM • Sonic mentionne de multiples projets aux USA • Les outils sont là • Manque de méthodologie claire mais en progrès • Une nouvelle approche pour les SI • Modularité • Interopérabilité • Couplage lâche • Sécurité 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
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. Marché du B2B sur Internet B2B
Composants d’une plateforme d’échanges BtoB • Interface avec le système d’information de l’entreprise • Peut s’appuyer sur un EAI • Traduction des données • Mise au format EDIFACT, XML, … • Gestion des messages • Réseau d’échange RVA, Internet, … • Garantie de service et sécurité dans les échanges. • Gestion des processus métiers • Enchainement des traitements distribués (séquence, parallélisme) • Gestion de la sécurité • Trace, confidentialité, archivage … • Reporting et tableaux de bord
Architecture type (EDI-XML) Fournisseur Donneur d'ordre Internet Serveur d'échange Navigateur Message XML SYS. INFO. EDIXML EAI Sécurité Formulaires B2B