! " " # $" "%"&' "( ))*+," %+" - (+!" #..- AGENDA 1 2 Introduction à l'intégration ERP (Enterprise Resource Planning) 3 EAI (Enterprise Application Integration) 4 5 WS (Web Services) Conclusion 2 1
INTRODUCTION - Notion de SI - Problématique - Concept d'intégration - Enjeux et Moteurs - Approches d'intégration - Champs d'intégration - Typologie des applications - Architectures d'intégration - Technologies d'intégration 3 Notion de SI d'entreprise Importance du SI Système nerveux Système d'information d'entreprise (SI) Partie de l'entreprise qui se charge de collecte mémorisation traitement et communication de l'information Système de d information Décision (SD) Système d'information (SI) Objectifs Du point de vue systémique Partie assurant le couplage entre le SO et SD Système Opérant (SO) Source: Le Moigne J.-L., Les systèmes d information dans les organisations, PUF, 1973. Tardieu H., Rochfeld A., Colletti R., La méthode Merise: Principes et Outils. Ed d'organisation, 2002 4 2
SI et Informatique Rôle de l'informatique Rapidité et efficacité dans la réalisation des fonctions du SI (collecte, mémorisation, traitement, communication) Système d'information (SI) (système d'information Organisationnel - SIO) Indépendamment de tout recours à l'informatique Système d'information Informatisé (SII) Ne pas confondre Système d'information Système d'information informatisé Système informatique Partie du SI informatisée Système Informatique (SInf) Ensemble des matériels et logiciels du SII 5 Rôle des SI au sein des entreprises Stratégique Recherche d'efficience au niveau stratégique (e.g: SI pour dirigeants, SI inter-entreprises, ) Niveau de gestion Recherche d'efficience par l'automatisation de processus répétitifs Recherche d'efficience dans les processus de gestion (e.g: Systèmes de rapports, systèmes d'aide à la décision, ) Sens de l'évolution Opérationnel (e.g: Systèmes de traitement des transactions, ) Faible Degré de complexité Elevé Source: Daft R. L., Organization theory and design, West Publishing Company, 1992 Reix R., Systèmes d'information et management des organisations, Ed Vuibert, 1995 6 3
Evolution des SI Globalisation Explosion de l'internet et des échanges e-business Fusions et acquisitions d entreprises Management par fonctions Management par processus 1960 Tendance évolution 2005 Application Applications monolithiques Systèmes d information intégrés Application Systèmes d information intégrés Application Application Vers des SI de plus en plus complexes 7 SI = une diversité de sous-si Analyse du SI à travers le Modèle d'organisation Processus et activités de l'entreprise (aspect temporel) les processus enchaînent les activités qui sont réalisées par les fonctions Domaines d'information de l'entreprise (aspect informationnel) les fonctions créent et utilisent des informations fonctions de l'entreprise (aspect intemporel) SI = ensemble de sous-si (isolés, "usines à gaz") un sous-si par domaine fonctionnel, permettant de répondre aux besoins des fonctions du domaine. Source: Meinadier J.-P., Le métier d'intégration des systèmes, Lavoisier, 2002. 8 4
Conséquence sur les SI Systèmes HADI Boite noire (pas d'accès au code, pas d'interfaces) Distribution Immuabilité Boite grise (Interfaces ou API disponibles) Boite blanche (modif. Possible, code dispo.) Distribution Centralisation Exécution Complexité HADI Hétérogénéité Communication Conception Technique (matérielle, logicielle) Syntaxique Sémantique Autonomie Nécessité de l'integration 9 Problématique générale d'intégration Aujourd'hui on peut trouver au sein d'une entreprise une situation de chaos différents systèmes complexes, isolés, peu flexibles, peu réactifs, coût de maintenance élevés Conséquence du fait que ces SI sont Hétérogènes Autonomes Distribuées et souvent Immuables et qui nécessitent le partage d'informations et de traitements (fonctionnalités, services) Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. 10 5
Problématique générale d'intégration Aujourd'hui on peut trouver au sein d'une entreprise une situation de chaos différents systèmes complexes, isolés, peu flexibles, peu réactifs, coût de maintenance élevés Conséquence du fait que ces SI sont Hétérogènes Autonomes Distribuées et souvent Immuables et qui nécessitent le partage d'informations et de traitements (fonctionnalités, services) Intégration Problématique Pb 1: comment partager des infos entre les SI (domaines fonctionnels)? Pb 2: comment partager des traitements entre les SI? Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. 11 Concept d'intégration de SI Définition Le terme "intégration" désigne l action d intégrer. Étymologie latine "integrare": intégrer = "rendre entier". Intégration: acte d incorporation d éléments constitutifs par lequel on va rendre un ensemble complet, lui conférer les propriétés attendues (interopérabilité et cohérence des SI). Autrement dit Intégration = processus qui va permettre d'interconnecter différents SI - afin de les faire interagir de manière optimale, - en donnant l'illusion d'un système unique et cohérent *, - tout en permettant le partage des données et des services**. Source: * Ziegler P., Dittrich K. R., Three Decades of Data Integration - All Problems Solved??, in Building the Information Society, Toulouse, 2004. ** Bussler C., The ROle of Semantic Web Technology in EAI, In the Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 2003. Izza S., Vincent L., Burlat P., Solignac H., Lebrun P, Intégration d'applications: Etat de l'art et Perspectives, 2èmes Journées d'informatique pour l'entreprise JIE 2' 04 - Université Blida, Algérie, 2004. 12 6
Positionnement de l'exposé Positionnement / niveaux d'intégration Intégration B2B (Partenaires: EDI, ebxml, Web services) Intégration de processus (BPI, Workflow: Process broker, moteur Wf) Intégration d'applications (EAI: Adaptateurs, message broker) Intégration de composants (ERP: Serveurs d'application, Moniteurs transactionnels) Intégration de données (Réplication, fédération, extraction) Intégration technique (intégration de plate-formes, de matériels, d'os: Messagerie, ORB, RPC, ) Source: Hurwitz Group 13 Périmètre de la présentation: Intégration d'application Positionnement de l'exposé Positionnement / niveaux d'intégration Intégration B2B (Partenaires: EDI, ebxml, Web services) Intégration de processus (BPI, Workflow: Process broker, moteur Wf) Intégration d'applications (EAI: Adaptateurs, message broker) Intégration de composants (ERP: Serveurs d'application, Moniteurs transactionnels) Intégration de données (Réplication, fédération, extraction) Intégration technique (intégration de plate-formes, de matériels, d'os: Messagerie, ORB, RPC, ) Source: Hurwitz Group 14 7
Moteurs d'intégration d'applications Réconcilier les différences Diversité des technologique, des données, et des applications Déploiement rapide d'applications nouvelles Interconnecter facilement les nouvelles avec les anciennes applications. Déplacer les données au-delà des contraintes traditionnelles Industrialiser et rationnaliser les échanges Trop-plein d'applications Récente transition au best-of-breed Prolifération de logiciels tels que: PGI (Progiciel de Gestion Intégrée), COTS (Commercial Off The Shelf) qui constituent des îlots d'information * et aussi des îlots de traitements automatisés Multiplication des fusions, acquisitions d'entreprises et des réorganisations Fusion et acquisitions: Consolider les activités et les applications, Eliminer les redondances Réorganisation: organisations orientées processus (au lieu d'org. fonctionnelle) e-commerce et e-business Qui imposent avant tout une intégration d'applications Source: Erasala N., Yen D. C., Rajkumar T. M., EAI in the electronic commerce world, Elsevier, Computer Standards & Interfaces, 25 (pp 69-82), 2003. * Stonebraker M., Integrating Islands of Information, EAI Journal - Septembre-Octobre, 1999. Lublinsky B., Achieving the Ultimate EAI Implementation, EAI Journal, February, 2001. 15 Moteurs d'intégration d'applications Cas d'optimisation d'objectifs d'une entreprise industrielle Informatisations indépendantes de différentes fonctions Gestion des Ventes Gestion des Achats Gestion de stocks Gestion de Production Supervision Atelier Prod. Conception Produit Conception Outil fabricat.... Intégration Intégration Objectif 1 Diminution de délais, de stocks et de pannes Objectif 2 Mise rapide de nouveaux produits sur le marché Source: Meinadier J. P., Le métier d'intégration de systèmes, Ed. Lavoisier, 2002. 16 8
Moteurs d'intégration d'applications Passage d'une structure fonctionnelle à une structure orientée processus Entreprise Entreprise Processus métier 1 Processus métier 2 Achat Stock Production Vente Achat Stock Production Vente Intégration d'applications d'entreprise Application 1 Application 2 Application 3 Application 4 Application 1 Application 2 Application 3 Application 4 Organisation fonctionnelle Organisation orientée processus Source: Johannesson P., Perjons E., Design principles for process modelling in enterprise application integration, Pergamon, 2001. Chelli H., Urbaniser l'entreprise et son système d'information. Guide des entreprises agiles, Vuibert, 2003. 17 Moteurs d'intégration d'applications Cas d'une fusion d'entreprise Système d information A Intégration d'applications Système d information B Entreprise A achète Objectif Extension internationale Source: Meinadier J. P., Le métier d'intégration de systèmes, Ed. Lavoisier, 2002. Entreprise B 18 9
Motivations Enjeux de l'intégration d'applications Amélioration de la Productivité Réduire les efforts Améliorer l'efficacité Diminuer le time-to-market (réactivité) Création de valeur ajoutée Se distinguer de ses concurrents Flexibilité (Externalisation, alignement métier) Retour sur investissement rapide Gain financiers réalisées grâce à l'intégration Réduire les coûts d'interconnexion traditionnelle Intégration: 40% du budget IT des entreprises Coût (d'intégration + non intégration) = 1 trillion $ Une meilleure maîtrise technique Mieux structurer le système d'information Rationaliser et rendre performants les échanges d' infos entre les applications 19 Difficultés d'intégration d'applications Connaissances des processus métiers Connaissances profondes des PM Poids de l'existant Applications légataires difficilement intégrables Complexité de certains progiciels Majorité des logiciels souffrent du manque d'interopérabilité (îlots informationnels) Pléthore de fournisseurs Multiplicité des acteurs, des solutions, des technologies --> complexité dans le choix du client Problèmes humains et sociaux Réticences et appréhensions qui freinent l'intégration Cause: on doit toucher à la manière de travailler des groupes et des utilisateurs Expérience: Aspect humain = Principal problème rencontré au déploiement de certaines solutions Source: Pontacq M., Gestion des flux d'informations: workflow, Techniques de l'ingénieur, 2000. 20 10
Approches d'intégration d'applications Approches non nécessairement exclusives Orientation métier Intégration par les données (sujet: données) Intégration par les traitements (Sujet: fonctionnalités) Intégration par les processus (Sujet: processus) Intégration par les présentations (sujet: fenêtres, écrans) Complexité technique Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. Linthicum D. S., Next Generation Aplication Integration, Addison-Wesley, 2004. 21 Approches d'intégration d'applications - Intégration par déplacements de données. Entrepôts de données (Warehouses). Féderation de données, réplication de données - Avantages et Inconvénients + Coût bas, pas de modification des applications - Maintien de la cohérence! Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. Linthicum D. S., Next Generation Aplication Integration, Addison-Wesley, 2004. 22 11
Approches d'intégration d'applications - Intégration par la logique applicative. API (Application Programming Interface). Message Broker - Avantages et Inconvénients + Partage de la logique applicative - Complexité d'utilisation des API! Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. Linthicum D. S., Next Generation Aplication Integration, Addison-Wesley, 2004. 23 Approches d'intégration d'applications - Intégration par les interfaces utilisateurs. Screen-Scraping. Portails d entreprise - Avantages et Inconvénients + Parfois c est la seule possibilité - Approche souvent archaique, pas d'intégration de D, T! Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. Linthicum D. S., Next Generation Aplication Integration, Addison-Wesley, 2004. 24 12
Approches d intégration d'applications - Intégration par l orchestration des processus. Process broker (Moteur BPI (*), Workflow) - Avantages et Inconvénients: + Visibilité des processus + Alignement Métier - IT - Complexité! (*) BPI: Business Process Integration Source: Lithicum D. S., Enterprise Application Integration, Mercator, 2001. Linthicum D. S., Next Generation Aplication Integration, Addison-Wesley, 2004. 25 Champs d Intégration d'applications Intégration A2A ou EAI Intégration d'app. internes (back, front-office) A2A: Application to Application EAI: Enterprise Application Integration B2C: Business to Customer B2B: Business to Business 26 13
Champs d Intégration d'applications Intégration B2C Intégration d Applications web avec des applications front-office A2A: Application to Application EAI: Enterprise Application Integration B2C: Business to Customer B2B: Business to Business Intégration A2A ou EAI Intégration d'app. internes (back, front-office) 27 Champs d Intégration d'applications Intégration extra-entreprise Intégration B2B Intégration d Applications inter-entreprises Intégration intra-entreprise Intégration B2C Intégration d Applications web avec des applications front-office A2A: Application to Application EAI: Enterprise Application Integration B2C: Business to Customer B2B: Business to Business Intégration A2A ou EAI Intégration d'app. internes (back, front-office) 28 14
Typologie d'applications Légende: R: Rythme de fonctionnement (L: par lot, U: par unité, D: différé, R: temps réel), F: Format des événements (S: simple, C: complexe: bases de données, XML), V: Volume des données (G: grand, T: très grand), C: Capacité à échanger avec d'autres apps (+: grande, -: faible), T: Type d'architecture (1: 1-tiers, 2: 2-tiers, 3: 3-tiers, N: n-tiers), A: Approches typiques d'intégration (I: présentations, D: Données, T: Traitements, P: Processus) 29 Architecture d'intégration d'applications 5 types Architecture intégrée Architecture point-à-point Architecture centralisée Architecture décentralisée (en bus) Architecture semi-centralisée 30 15
Architectures d'intégration d'applications Architecture intégré (ERP - Enterprise Resource Planning) Cohésion forte échanges transparents transitant entre les modules Intégration implicite réalisée lors de l'assemblage des modules en "usine" Complexité d'intégration: o(1) 31 Architecture d'intégration d'applications Architecture point-à-point Les applications sont reliées les unes aux autres Pas de structure d'intégration intermédiaire Complexité: o(n²) n: nombre d'applications 32 16
Architectures d Intégration d'applications Architecture centralisée (EAI - Enterprise Application Integration) Les échanges transitent par un hub central Référentiel centralisé (règles de routage et de transformation) Simplicité d'administration mais gestion complexe de la charge Complexité: o(n) n: nombre d'applications 33 Architecture d'intégration d'applications Architecture décentralisée ou en bus (ESB: Enterprise Service Bus) Les applications sont reliées au bus L'infrastructure d'intégration est distribuée sur l'ens. des applications de manière à rapprocher ses services des applications (scalabilité) Complexité: o(n) n: nombre d'applications 34 17
Architecture d'intégration d'applications Architecture hybride (semi-décentralisée) Référentiel des règles de routage et de transformation et les gestionnaires de messages sont distribués sur l'ensemble des nœuds Complexité d'administration mais la gestion de la charge est répartie sur les nœuds Complexité: o(n + m²) n: nombre d'applications m: nombre de nœuds 35 Architecture d'intégration Comparaison et choix Choix Choix d'architecture en fonction des besoins et des moyens de chaque entreprise Critères Métiers (support aux processus) Organisationnels (compatibilité avec l'org.) Techniques (performances, sécurité, ) Financiers (coût d'acquisition, de maintenance, ) Exemple de déploiement 1. PE avec des processus standard et en voie d'informatisation: Arch. Intégrée 2. PE avec 3 applications codées en interne: Arch. Point-à-point 3. ME avec des applications légataires: Arch. Centralisée 4. ME avec des applications légataires et à forte charge: Arch. bus 5. GE avec plusieurs sites (de type 3): Arch. hybride 36 18
Démarche générique d intégration " Acteurs stratégie (Consultant e-business) Acteurs métier (Consultant métier) Acteurs métier (Consultant métier) Urbanistes SI # Architectes SI Ingénieurs Intégrateurs $% Acteurs exploitation Managers, analystes métier 37 Démarche générique d'intégration Stratégie Déterminer le modèle métier le plus approprié (à la volonté du client, à son contexte, et à celui du marché) Détecter les opportunités, les critères différentiateurs, et les stratégies de repli Analyse Analyse métier cartographie fonctionnelle Analyse technique cartographie applicative Mise en œuvre Mise en place d'une solution d'intégration Optimiser le SI (rationaliser les échanges) Installer la solution Développer les passerelles, Exploitation Utilisation du système Administration et gestion Exploitation des tableaux de bord Exploitation données techniques 38 19
Technologies d Intégration Une mixture de technologies MOM WSUI UDDI EAI WSRP EDI SOAP XML ETL B2B WSDL WSIA BPI RPC RMI HTTP IIOP CORBA EJB ORB.NET ERP MQ XPDL ebxml WSFL DCOM XSL FTP XAML OBD J2EE BPM RosettaNet WSTx ODBC API XUP Web Services 39 Principales Technologies d Intégration (11 catégories) Solution Description Rapidité traitement Volume des données Sujet d'intégration Utilisation typique ERP Enterprise Resource Planing Progiciel de gestion intégré temps réel variable variable (Données, règles métier) en interne (back-end) EAI Enterprise Application Integration échange de données entre applications temps réel faible règles métier en interne (back-end) EII Enterprise Information Agrégation logique de données temps-réel faible schéma de données en interne (back-end) Integration ETL Extract, Transform and Load agrégation physique de données Batch important schéma de données en interne (back-end) EIP Enterprise Information Portal unification de l'accès aux infos pour un utilisateur temps-réel faible schéma de données en interne (front-end) EAP Enterprise Application Portal unification de l'accès aux applications temps-réel faible règles métier en interne (front-end) B2C Business to Customer Intégration du client temps-réel faible variable (plutôt règles métier) en externe (front-end) B2B Business to Business collaboration entre partenaires rapide (variable) variable variable (plutôt règles métier) en externe (front-end) BPI Business Process Integration intégration d'applications au niveau processus temps réel faible (variable) variable (plutôt règles métier) variable (interne) Wf Workflow Intégration au niveau des processus et des acteurs temps réel faible règles métier interne WS Web Services intégration faiblement couplée d'applications et de processus temps réel faible variable (plutôt règles métier) variable (externe) 40 20
Solution ERP Enterprise Resource Planing EAI Enterprise Application Integration EII Enterprise Information Integration ETL Extract, Transform and Load EIP Enterprise Information Portal EAP Enterprise Application Portal B2C Business to Customer B2B Business to Business BPI Business Process Integration Wf Workflow WS Web Services Principales Technologies d Intégration (11 catégories) Description Progiciel de gestion intégré échange de données entre applications Agrégation logique de données agrégation physique de données unification de l'accès aux infos pour un utilisateur unification de l'accès aux applications Intégration du client collaboration entre partenaires intégration d'applications au niveau processus Intégration au niveau des processus et des acteurs intégration faiblement couplée d'applications et de processus Rapidité traitement temps réel temps réel temps-réel temps-réel rapide (variable) temps réel temps réel temps réel Volume des données variable faible faible faible variable faible (variable) faible faible Sujet d'intégration variable (Données, règles métier) règles métier schéma de données Batch important schéma de données Suite de la temps-réel faible schéma de données présentation temps-réel faible règles métier variable (plutôt règles métier) variable (plutôt règles métier) variable (plutôt règles métier) règles métier variable (plutôt règles métier) Utilisation typique en interne (back-end) en interne (back-end) en interne (back-end) en interne (back-end) en interne (front-end) en interne (front-end) en externe (front-end) en externe (front-end) variable (interne) interne variable (externe) 41 ERP Enterprise Resource Planning - Définition - Positionnement - Principe - Architecture - Mise en oeuvre - Offre du marché - Résumé 42 21
Définition ERP Enterprise Resource Planning Traduction: Planification des Ressources de l Entreprise appelés Progiciels de Gestion Intégrés (PGI) Origine du terme ERP Introduit en 1991 Méthode MRP (Manufacturing Resource Planning) utilisée depuis les années 70 pour la gestion et la planification de la production industrielle. Définition Système d information intégré d entreprise adressant l ensemble des fonctions classiques d une entreprise comptabilité, commercial et ventes, production et gestion des matières, administration des Ventes, maintenance, 43 ERP Positionnement de l'erp Positionnement / niveaux d'intégration Intégration B2B (Partenaires: Web services) Intégration de processus (BPI, Workflow: Process broker, moteur Wf) Intégration d'applications (EAI: Adaptateurs, message broker) Intégration de composants (ERP: Serveurs d'application, Moniteurs transactionnels) Intégration de données (Réplication, fédération, extraction) Intégration technique (intégration de plate-formes, de matériels, d'os: Messagerie, ORB, RPC, ) Source: Hurwitz Group 44 22
Principe Module à personnaliser Module à personnaliser Module à personnaliser Intégration "en usine" de l'erp L'intégration "en usine" s'effectue dans le respect des règles de l'art : sur les plans de l'organisation et fonctionnel (processus types plus ou moins adaptables) sur le plan technique (ergonomie, modularité, ) ERP Modules intégrés à personnaliser ERP Modules intégrés et personnalisés La personnalisation consiste à : adapter les processus de l'entreprise après éventuel ré-ingénierie des processus obtenir le consensus des personnels de l'entreprise (conduite du changement, ) paramétrer le système 45 Caractéristiques des ERP Modules intégrés pas d'hétérogénéité, pas d'interfaces Exhaustivité Support de la quasi-totalité des processus opérationnels de l'entreprise Base de données unique supporte une vue unique et intégrée des informations opérationnelles Ubiquité en temps réel rend transparent et immédiat la répartition des informations au travers des différentes fonctions Uniformisation de l'outil pour tous est fourni et maintenu par un seul éditeur/producteur Uniformiser les procédures au sein des grandes entreprises Quasiment les mêmes fonctions couvertes par tous les ERP Fortement paramétré 46 23
Structure des ERP Assemblage de Briques applicatives (modules) Comptabilité générale et financière Contrôle de gestion et trésorerie Achat et gestion des stocks Gestion commerciale Gestion de production Gestion des ressources humaines Les ERP proposent généralement des outils de Groupware et de workflow afin d'assurer la transversalité et la circulation de l'information entre les différents services de l'entreprise. 47 Architecture technique d'un ERP Architecture par couche Généralement 3-Tiers Couche présentation Couche applicative (modules applicatifs) Base de données UNIQUE Couche Données 48 24
Architecture fonctionnelle d'un ERP Source: http://www.cyber.uhp-nancy.fr/demos/main-013/chapitre3/index.html http://prisma.insa-lyon.fr/groupeerp/accueil.html 49 Principaux flux couverts par les ERP (hors production et ressources humaines) 50 25
Potentiel d adéquation d un ERP Configurabilité l ERP est-il plus ou moins paramétrisable? l espace des valeurs des paramètres est-il assez large? la paramétrisation est-elle adaptable dans le temps (pilotage de l ERP)? Positionnement vertical comment l ERP s adapte-t-il au métier(s) de l entreprise? production industrielle grande distribution tourisme et hôtellerie production et transport d énergie services de télécommunications adaptation par modules «métier» spécifiques? ou par paramétrisations pré-définies de modules génériques? 51 Configurabilité d un ERP ERP générique vs. ERP structurant nb paramètres x espace des valeurs ERP générique (plus flexible) ERP structurant (peu flexible) idéale moyenne excessive durée du déploiement (J-L. Tomas - 1999) 52 26
Effets ERP sur l organisation expliciter les processus opérationnels introduire un langage commun aux différentes fonctions uniformiser les outils de contrôle / reporting expliciter les workflows ERP structurant peu flexible l entreprise adapte son organisation au modèle proposé par l ERP difficulté: modification de la culture collective de l entreprise ERP générique plus flexible (plus paramétrisable) l entreprise doit traduire son organisation en termes de paramètres difficulté: expliciter ce modèle complètement et configurer l ERP 53 Mise en œuvre d'un ERP Un ERP : Plus qu'un simple logiciel un ERP est un véritable projet demandant une intégration totale d'un outil logiciel au sein d'une organisation et d'une structure spécifique et donc des coûts importants d'ingénierie entraîne des modifications importantes des habitudes de travail d'une grande partie des employés. Généralement le coût de l'outil logiciel représente moins de 20% du coût total de mise en place d'un ERP 54 27
Mise en œuvre d'un ERP Initialisation du projet Schéma directeur de passage à l'erp Sélection d'un ERP Adéquation du progiciel aux systèmes opérationnels Planification et estimation de l'implantation Plan de développement, PAQ et budget Analyse des Processus Formation des équipes projet Développement Configuration (Paramétrage) Prototypage du progiciel et itération Tests d'intégration des modules et SI Développement informatique Reprise des données Interfaces Intégration avec l'environnement Spécifiques Ferméture des trous fonctionnels Recette Documentation Formation des utilisateurs Site pilote Recette Production et déploiement Exploitation au quotidien Source: J-L. Tomas - 1999 55 Mise en œuvre d'un ERP Sélection ERP Schéma directeur Dévelop. Informat. Site Pilote et Recette Analyse des processus Tests Formation utilisateurs Planification implantation Formation équipes projet Config. ERP Documentation Production et déploiement Initialisation du projet Développement Recette Production et déploiement 56 28
Le marché des ERP Offre par taille d'entreprise et système d'exploitation 57 Le marché des PGI / ERP En Europe: la majorité des grandes entreprises ont déjà installé un ERP, préparent l intégration ERP <-> e-business entreprises de taille moyenne (50-1000 pers.): début 1998: 27% utilisent un ERP septembre 2000: 56% auront installé un ERP marché de $5 milliards par année 58 29
Panorama du marché Top 5 des ERP en 2000 Source: CAP 2000 59 Un exemple: SAP/R3 PP Production QA Assurance qualité MM Gestion des matières SD Ventes R/3 Client/Serveur PM Maintenance HR Ressources humaines FI Comptabilité IS Solutions sectorielles CO Contrôle de gestion WF Workflow AM immobili- sations PS Gestion de projets 60 30
Résumé Avantages possibles Coûts maîtrisés Délais réduits Pérennité Disponibilité de l'information Mais difficilement atteignables 61 Résumé Mais aussi des inconvénients Systèmes complexes, centralisés, et non-flexibles Retour sur investissement long Tendance à l'uniformisation de la gestion interne des entreprises Nécessité d'impliquer les utilisateurs Activité de paramétrage très lourde pour mieux supporter BP Conflit possible avec BP et organisation Coûts maintenance élevés Non conçus pour collaborer avec d'autres applications autonomes (Pas de stratégie best-of-breed, limités à leur périmètre de déploiement) Les ERP ont échoué dans leur tentative d'intégration d'applications. Nécessité d'autres outils d'intégration: EAI, Source: Themistocleous M., Irani Z., Towards a Novel Framework for the Assessment of Enterprise Application Integration Packages, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS 03), 2003. 62 31
EAI Enterprise Application Integration - Définition - Positionnement - Principe - Architecture - Démarche - Offre du marché - Résumé 63 Définition EAI Enterprise Application Integration Traduction: Intégration d'applications de l Entreprise Origine du terme EAI Gartner Group, 1997 Mais l'intégration d'applications a toujours existé Définition Application particulière permettant d'interconnecter de manière optimale diverses applications d'entreprise (CRM, ERP, SCM, ) Fondamentalement des outils de l'intégration intra-entreprise 64 32
EAI Positionnement de l'erp Positionnement / niveaux d'intégration Intégration B2B (Partenaires: Web services) Intégration de processus (BPI, Workflow: Process broker, moteur Wf) Intégration d'applications (EAI: Adaptateurs, message broker) Intégration de composants (ERP: Serveurs d'application, Moniteurs transactionnels) Intégration de données (Réplication, fédération, extraction) Intégration technique (intégration de plate-formes, de matériels, d'os: Messagerie, ORB, RPC, ) Source: Hurwitz Group 65 Positionnement / B2B Différence Fondamentale EAI: Intégration Interne très structurée très contrôlée B2B: Integration Externe Ouverte Fluide Mais les deux outils peuvent travailler ensemble Source: [Pinkston, 2001] 66 33
Principe Applications en tant que boites grises ou noires Degré d'accessibilité la boîte blanche où l'accès au code source permet de modifier l'application de manière à ce qu'elle puisse être intégrée avec les autres applications ; la boîte grise où le code source n'est pas disponible mais l'application fournit son propre langage d'extension ou une interface programmable (API) à partir desquels il est possible de l'intégrer ; la boîte noire où ni le code source ni un langage d'extension ou une interface programmable ne sont disponibles. Seul point d'accès Interface d'une application 67 Principe Intégration d'interface (Adaptateur, Connecteur) Définition Composant logiciel permettant de fournir un moyen de transférer le contrôle et les données Concilier l'hétérogénéité au niveau du format des données, du protocole de communication, Principe: Connexion de deux apps existantes et autonomes Adaptateur 1 Adaptateur 2 Application 1 Application 2 L adaptateur 1 (source). Observe l application 1 afin de capturer des actions auxquelles l application 2 s intéresse. Signale à l adaptateur 2 lorsqu une telle action survient. L adaptateur 2 (cible). Recevoir une demande de l adaptateur 1 et les données associées. Transformer ces données au format utilisé par l application 2. Passer la demande et les données à l application 2 en respectant son protocole de communication. 68 34
Types d'eai Typologie d'adaptateurs 69 Principe d'interconnexion Topologie point à point vs.topologie structurelle Topologie point à point Chaque application doit connaître les interfaces de tous les "vis-à-vis" concernés Les règles (transformation, routage et d'ordonnacement) sont codées en dur Complexité : N(N-1)/2 Topologie structurelle Chaque application n'a à connaître que l'interface de l'infrastructure EAI Les règles (transformation, routage et d'ordonnacement) sont externalisées et centralisées Complexité : N 70 35
Principe de fonctionnement d'une solution EAI Transport Transport Diffusion d'événement 71 Modèle EAI Couches du modèle - modèle de base & Modèle de base '( # Moteur d'intégration ' Réseau Source: Puschmann T., Alt R., EAI - The Case of the Robert Bosch Group, Proceedings of the 34th Hawaii International Conference on System Sciences - IEEE, 2001. Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 72 36
&( Modèle EAI Couches du modèle - modèle étendu! Modèle étendu & '( # ' Réseau Source: Puschmann T., Alt R., EAI - The Case of the Robert Bosch Group, Proceedings of the 34th Hawaii International Conference on System Sciences - IEEE, 2001. Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 73 &( Modèle EAI Couches du modèle - modèle complet! & '( # )$% (* " # ' Réseau Source: Puschmann T., Alt R., EAI - The Case of the Robert Bosch Group, Proceedings of the 34th Hawaii International Conference on System Sciences - IEEE, 2001. Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 74 37
Couche Transport Middleware pour les données Définition Acheminer les informations ou messages entre les applications Caractéristiques S'appuie sur les services de la couche TRANSPORT du modèle OSI Middleware ou couche plate-forme Le point sur les Middlewares Bidirectionel, unidirectionel Broadcast, multicast, unicast Asynchrone (MSMQ), synchrone (HTTP) Publication (publish & subscribe), Request & Reply Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 75 Couche Transport Normes et standards 76 38
Couche Transport MOM - Middleware Orienté Message File d'atente Application File d'atente Application Mettre dans / Enlever des files d'attente partagées Asynchrone, persistent, transactionnel Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 77 Couche Transport Publish-and-Subscribe : MOM le plus répandu 3 2 Application 1 1 (Sujet, Canal de communication) 4 Application 2 Exemple: Le bus Rendez-vous de TIBCO Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 78 39
Couche Connectivité Définition Permettre de connecter les applications au système EAI Caractéristiques Adaptateur (Connecteur) composant logiciel (généralement non intrusifs) qui offre la connectivité nécessaire à l interfaçage avec les applications et les sources de données Typologie fonctionnels (Applications) Techniques (BD, MOM, ) Spécifiques (applications propriétaires) Et pour les applications spécifiques légataires Kit de développement de connecteurs spécifiques (ADK: Adapter Development Kit) Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 79 Couche Connectivité Normes et standards Plusieurs Générations 1G: Connecteurs API rapidité de déploiement propriétaires meilleures performances Eg: CWS (CICS Web Support), IMS, Net.Data, 2G: Connecteurs JAVA Standards outillés portabilité moins performantes que 1G Eg: ODBC, SQLJ, 3G: Connecteurs Enterprise Java Amélioration de 2G Transaction sécurité Eg: JDBC 2.0, Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 80 40
Couche Transformation Définition Transformer les messages des application en un format PIVOT Caractéristiques Transformations Réalisés par Message broker PIVOT: Formats propriétaires vs. XML Niveaux de transformation Sémantique Transformer une classe en une autre classe "CLIENT" "TIERS" Structurel Transformer le type d'une donnée en un autre type Date-Commande: Date String Syntaxique Transformer le format "JJ/MM/AAAA" "AA-MM-JJ" Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 81 Couche Transformation Normes et standards 82 41
Couche Routage Définition Permet d'aiguiller les messages entre les applications émettrices et les applications réceptrices Caractéristiques Message broker Typologie des communications Exemples de techonologies Technologie propriétaire Code applicatif dans le Message broker pour gérer le routage (webmethods, ActiveEnterprise) Initiative: WS-Routing (Web Services Routing) pour le routage des messages SOAP (Simple Object Access Protocol) Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 83 Couche Processus Définition Permet de modéliser les processus et de les exécuter Séparation métier/technique Caractéristiques Aiguillage conditionnel Gestion d alertes et notification automatique Rendez-vous et synchronisation entre les différents processus Exemple de technologies Moteur BPI Moteur Workflow (avec intervention humaine) Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 84 42
Couche Processus Normes et Standards 85 Couche B2B Définition Étendre l'intégration à l'extérieur de l'entreprise Caractéristiques Gestion des partenaires Gestion des échanges entre partenaires Exemples de technologies EDI (échange de données informatisé) ebxml (e-business XML) RosettaNet Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Rivard F., EAI. De l'intégration à l'e-business, Cosmosbay, 2000. 86 43
Référentiel Définition Bibliothèque qui centralise l'ensemble des informations (metadat) sur les structures de données manipulées les processus métiers les partenaires les règles de transformation et de routage, Typologie Référentiel de configuration et d'opération processus, formats, structures, canaux de communication, partenaires, etc. Référentiel de messages stocker tous les messages en transit dans l'attente qu'ils soient consommés par les applications Référentiel d'exploitation garder trace de tous les flux entrants et sortants et des informations portant sur le traitement de ces flux. Exemples de technologies Référentiels propriétaires, bases de données, XML LDAP (Lightweight Directory Access Protocol ) 87 Référentiel L'exemple de BusinessWare de VITRIA Nom du serveur d'intégration Nom du nœud d'intégration Utilisation typiques - Développement Macro-Processus - Certification (Gestion de commande) - Production Processus métier (si Gestion de commande) - Nouvelle commande Orchestration - Modification des activités comande - Pour Suppression - Suppression commande Commande Points d'entrée. Validation (Application) -. CRM Notification - Application Web 88 44
Couche Développement et Paramétrage Développement Permet d'ajouter des fonctionnalités à la plate-forme EAI Notamment le développement de connecteurs (ADK: Adapter Development Kit) Paramétrage Sert à adapter le comportement des autres couches (transport, connectivité, ) pour répondre aux besoins spécifiques de l'entreprise 89 Couche Management Administration Gérer l'ensemble de la solution EAI Au niveau technique Restauration des référentiels Gestion de l'authentification et du contrôle d'accès des utilisateurs Scheduler: planification des tâches Au niveau fonctionnel Constater un problème et d'en diagnostiquer les causes fonctionnelles Permettre par exemple, suite à une erreur - un nouvel envoi des informations par l'émetteur original - de corriger l'erreur et relancer le message - de rediriger le message vers les administrateurs techniques Exploitation Fournir des informations décisionnelles sur les flux (Reporting) et des Tableaux de bord (Indicateurs clés de performance) --> BAM - Business Activity Monitoring --> Elément fédérateur du SI de façon verticale: Opérationnel / Décisionnel 90 45
Couche Sécurité Sécurisation des flux d'authentification, d'intégrité, de confidentialité et garantie de délivrance des messages transitant par l'eai Sécurisation des fonctions d'administration et d'exploitation gestion des accès à la plate-forme EAI 91 Couche Sécurité 92 46
Typologie des projets EAI Typologie en fonction du besoin Projet d'intégration de l'informatique existante EAI = Intégration environnements propriétaires, applicatifs spécifiques, bases de données non standard Projet d'intégration de progiciels PGI et CRM EAI = Accélérateur dans la mise en place et la maintenance de ces progiciels Projet d'intégration de progiciels e-business EAI = moyen pour ouvrir le SI vers l'extérieur Projet d'intégration par le haut (urbanisation) EAI = moyen de mise en oeuvre de l'urbanisme Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. 93 Typologie des projets EAI Typologie en fonction de la couverture BPM Nature projet 94 47
Etapes du projet EAI Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. 95 TTT: Trips, Travels & Tours Un exemple de projet EAI le cas de la société TTT Société du secteur du tourisme Spécialisée dans la Vente de voyages organisés collabore avec des compagnies aériennes et de grandes chaînes d hôtels pour constituer un catalogue de prestations packagées Société traditionnelle (Brick et Mortar) Objectif: extension rechercher de nouveaux canaux de croissance pour supporter son développement déployer un site e-commerce. Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. 96 48
Un exemple de projet EAI Système d'information existant - Applications et Acteurs Légende: Progiciel de production - gestion du catalogue des produits - gestion des ventes clients - gestion des achats fournisseurs CRM - gestion des clients - Gestion de l'historique des événements clients Facturation et Comptabilité - Facturation client - Règlement fournisseur - Comptabilité, paie Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. DW et outils d'analyse - Gestion décisionnelle de l'activité 97 Un exemple de projet EAI Système d'information existant - Flux Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. TTT: Trips, Travels & Tours 98 49
Un exemple de projet EAI Système d'information futur Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. 99 TTT: Trips, Travels & Tours Un exemple de projet EAI SI futur - Modification et rationalisation des flux Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. 100 TTT: Trips, Travels & Tours 50
Un exemple de projet EAI Système d'information avec plateforme EAI Solution WebSphere d'ibm Source: Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. 101 TTT: Trips, Travels & Tours Un exemple de projet EAI Exemple de vues modélisées 102 51
Un exemple de projet EAI Exemple de connecteurs utilisés 103 Le marché des EAI Principaux éditeurs 104 52
Panorama de l'offre 105 Critères de choix Source: GuidesComparatif.com, EAI- Intégration d'applications, GuidesComparatifs.com, 2003. Thévenon, D., Gueguen, E., Galpultos, M., Kolawa, A., K'Dual, E., Revue Programmez! Hors Série: Réussir votre intégration: XML, EAI, WS, Go-o2 SARL, 2003. Themistocleous M., Irani Z., Towards a Novel Framework for the Assessment of Enterprise Application Integration Packages, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS 03), 2003. 106 53
Critères de choix Brique Critères à prendre en compte Connecteur ADK (Adapter Development Kit) - Nombre de connecteurs applicatifs et techniques fournis et/ou disponibles Capacité du Kit de développement à créer rapidement des connecteurs sur mesure ou à adapter ceux fournis Broker Bus Transport Moteur BPM Sécurité Scalabilité: capacité à monter en charge Ouverture: prise en compte de différents langages (Java, XSLT, ) Rapidité et fiabilité du bus Scalabilité, Ouverture Capacité à importer les Formats de scénarios (BPML, BPEL4WS, ) Support des transactions longues Support de mécanismes de sécurité (Single Sign On, ) Source: GuidesComparatif.com, EAI- Intégration d'applications, GuidesComparatifs.com, 2003. Thévenon, D., Gueguen, E., Galpultos, M., Kolawa, A., K'Dual, E., Revue Programmez! Hors Série: Réussir votre intégration: XML, EAI, WS, Go-o2 SARL, 2003. Themistocleous M., Irani Z., Towards a Novel Framework for the Assessment of Enterprise Application Integration Packages, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS 03), 2003. 107 Offre commerciale!! ""#"# $ % 108 54
Uu exemple d'outil BEA WebLogic Platform 8.1 109 WebLogic Integration! "#$%&! 110 55
111 112 56
WebLogic Adapters ' "#$%&' ((')*('+(, ()*$ "&'%-.%/(0, + 12342''452(&678 (+210,-" 92&%((/((#, ('./00#1 2%()2%()0%2.1&)'2%2% ': '' ',"'-(;"&& "&-2('%221'"0236 : 113 Résumé Les outils EAI permettent d'apporter une plus grande souplesse, flexibilité et une meilleure réactivité dans l'évolution des SI et ce en réduisant le nombre d'interfaces entraînant du coup une baisse des coûts de maintenance et d'évolution des interfaces Facile d'intégrer de nouvelles applications permettre à une nouvelle application d'exploiter à moindre coûts les services déjà existants et permettre de faire bénéficier aux autres applications des nouveaux services que la nouvelle application offre Source: Themistocleous M., Irani Z., Towards a Novel Framework for the Assessment of Enterprise Application Integration Packages, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS 03), 2003. 114 57
Résumé Mais les outils EAI souffrent de Lourdeur Coût excessif Importance de l'effort pour leur déploiement Manque d'adaptation Manque d'ouverture Manque d'abstraction Les EAI : limités dans l'intégration d'applications Nécessité d'autres outils plus légers, plus ouverts: WS Source: Themistocleous M., Irani Z., Towards a Novel Framework for the Assessment of Enterprise Application Integration Packages, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS 03), 2003. 115 WS Web Services - Définition - Positionnement - Principe - Architecture - Démarche - Offre du marché - Résumé 116 58
Définition «Les services web (SW) sont une nouvelle race d applications web. Ce sont des applications auto-descriptives, modulaires et faiblement couplées pouvant être publiées, localisées et invoquées à travers le web. Les SW effectuent des tâches allant de simples requêtes à des processus métier complexes.» (Source IBM) Source: www.ibm.com 117 Caractéristiques fondamentales Les services Web sont identifiés par un URI (localisation), Source: www.w3c.org leurs interfaces et leurs liens (binding) sont décrits en XML, leur définition peut être découverte par d autres web services, peuvent interagir directement avec d autres web services à travers le langage XML et en utilisant des protocoles Internet. sont faiblement couplés sont réutilisables indépendamment de la plate-forme (UNIX, Windows, ) leur implémentation (Java, C++, Visual Basic, ) l architecture sous-jacente (.NET, J2EE, ) 118 59
Objectifs des WS & '(%)* ) )) & %+ Informatique distribuée sur le Web rendre le Web un dispositif distribué de calcul où les services peuvent interagir de manière intelligente en étant capables de se découvrir automatiquement, de négocier entre eux, et de se composer en services plus complexes (Fensel 2002) Intégration Permettre une intégration d'applications plus rapide, moins coûteuse et avec des perspectives d'évolution et de réutilisation réelles 119 WS - Evolution du Web Dernière génération de l'évolution du Web Pages Web statiques (HTML) (Pages Web dynamiques, ASP, JSP, PHP,...) (basés sur XML) 120 60
WS: Implémentation du Concept de Service Concept de Service Evolution naturelle du logiciel Fonction Composant Service Unité d activité autonome Apporte de la valeur au consommateur Communique par message (couplage faible) Peut utiliser d autres services Service Concept de SOA (Serive Oriented Architecture) le système d information est structuré de manière à ce que données, logique et infrastructure soient accessible uniquement par routage de messages entre interfaces d'applications.!' Composants Fonctions 121 WS Positionnement de l'erp Positionnement / niveaux d'intégration Intégration B2B (Partenaires: Web services) Intégration de processus (BPI, Workflow: Process broker, moteur Wf) Intégration d'applications (EAI: Adaptateurs, message broker) Intégration de composants (ERP: Serveurs d'application, Moniteurs transactionnels) Intégration de données (Réplication, fédération, extraction) Intégration technique (intégration de plate-formes, de matériels, d'os: Messagerie, ORB, RPC, ) Source: Hurwitz Group 122 61
Principe Principe Faire interagir des composants hétérogènes, distants, et indépendants avec un protocole standard (SOAP) Plus concrètement: Permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui Demandeur de service Find (Trouver) WSDL/UDDI Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. Bind (invoquer) SOAP Bind (répondre) Annuaire de services Fournisseur de service Publish (Publier) WSDL/UDDI Description Service Description Service Description Service Service Description Service Service Description Service 123 Architecture de base des Services Web./# 0 +" +",",", " +" +"$ - " # $ "1 2 *2 " '3'' Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 124 62
Standards de base utilisés SOAP protocole de communication inter-applicatif, au dessus de HTTP, comportant un ensemble de règles pour structurer des messages (XML) et invoquer un SW. SOAP est un moyen de faire du RPC sur le web. WSDL permet de décrire l interface d un SW. On y définit un service comme une collection de points terminaux du réseau ou ports. Un port est l association d une adresse réseau et d une liaison ou binding. UDDI fournit un mécanisme aux clients pour trouver des SW. Un annuaire UDDI est un registre interrogeable mis à jours par des fournisseurs Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 125 SOAP SOAP Simple Object Access Protocol Standard du Consortium W3C, 2000 Objectif permet une communication par message d un expéditeur vers un récepteur en s'appuyant sur HTTP et XML Structure d un message Envelope (Enveloppe) élément englobant et structurant du message Header (entête) : métadonnées du message Body (Corps): corps du message lui-même Envelope Header Body Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 126 63
SOAP Un exemple d'échange SOAP Situation On suppose que SF est un fournisseur de services (Valider_Carte, ) SD veut connaître la validité d'une carte bancaire. SD envoie une requête sous forme de message SOAP à SF SD renvoie à SD la réponse sous forme de message SOAP SD (Demandeur de service) Requête SOAP Réponse SOAP SF (Fournisseur de service) Service: Valider_Carte Description Service Service Description Service Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 127 SOAP Un exemple d'échange SOAP Situation On suppose que SF est un fournisseur de services (Valider_Carte, ) SD veut connaître la validité d'une carte bancaire. <SOAP:Envelope xmlns:soap="urn:schemas-xmlsoap-org:soap.v1 > <SOAP:Body> SD envoie une <m:valider_carte requête sous forme de message SOAP à SF SD renvoie à SD la <NumeroCarte>1234</ réponse sous forme NumeroCarte de message > SOAP </m:valider_carte> </SOAP:Body> </SOAP:Envelope> xmlns:m="http://bnp.com/france > SD (Demandeur de service) Requête SOAP Réponse SOAP SF (Fournisseur de service) Service: Valider_Carte Description Service Service Description Service Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 128 64
SOAP Un exemple d'échange SOAP Situation On suppose que SF est un fournisseur de services (Valider_Carte, ) SD veut connaître la validité d'une carte bancaire. <SOAP:Envelope xmlns:soap="urn:schemas-xmlsoap-org:soap.v1 > <SOAP:Body> SD envoie une requête sous forme <m:valider_carte_reponse message SOAP à SF xmlns:m="http://bnp.com/france > SD renvoie à SD la réponse sous forme <Valide>OUI</ message Valide > SOAP </m:valider_carte_reponse> </SOAP:Body> </SOAP:Envelope> SD (Demandeur de service) Requête SOAP Réponse SOAP SF (Fournisseur de service) Service: Valider_Carte Description Service Service Description Service Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 129 WSDL WSDL Web Service Description Language Standard du W3C, 2000 Objectif Décrire les services web offerts par un composant applicatif en se basant sur XML et SOAP Séparation entre la partie abstraite et concrète Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 130 65
WSDL Eléments d'une description WSDL <types> Types des paramètres <message> Appel et retour d'opération <porttype> Groupe d'opérations <binding> Spécifie une liaison d un <porttype> à un protocole concret (SOAP1.1, HTTP1.1). Type de protocole <port> Spécifie un point d entrée (endpoint) comme la combinaison d un <binding> et d une adresse réseau. <service> Une collection de points d entrée (endpoint) relatifs. Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 131 UDDI UDDI Universal Description, Discovery and Integration Né en 2000 de l'initiative d'un ensemble d'entreprise dont Ariba, IBM, Microsoft +260 autres sociétés Objectifs Annuaire mondial d'entreprises pour permettre d'automatiser les communications entre prestataires, clients, etc. Permet de publier et de découvrir des infos sur une entreprise et ses services web. Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 132 66
UDDI Registre de Services UDDI e Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 133 UDDI Structure du registre UDDI Fournisseur de service (infos sur le propriétaire du service ) Service tmodel (infos sur le service mode d'accès offert au ) service) Service (infos (infos sur sur le le service service offert offert ) ) Service Liaison (infos sur le service offert ) (infos sur le lieu d'hébergement du service) Source: Kadima H., Monfort V., Les Web Services, Dunod, 2003. 134 67
UDDI Registres de Services Metadata: éléments keyeredreference Elt KeyeredReference possède 3 attributs KeyValue (utilisation dans la recherche) KeyName (utilisation humaine) tmodelkey (retrouver schéma de catégorie) <categorybag> <keyedreference tmodelkey=" UUID:DB77450D-9FA8-45D4-A7BC-04411D14E384". $. 4 0&. " # ( 6 & ( 6 & ( keyname= UNSPSC: Tax preparation software" 4 4 keyvalue= 43.16.17.02" /> 6 5 6 5 6 7 </categorybag> 6 7 $ $.. " " # # 4 # 4 5 4 5 ' ' 6 & ( 6 & ( 4 6 5 4 6 5 6 7 6 7 Source: Dogac 04 135 UDDI 3 Taxonomies standard dans UDDI 1. NAICS - North American Industrial Classification Scheme (Industry codes - US Govt.) tmodelkey="uuid:c0b9fe13-179f-413d-8a5b-5004db8e5bb2 http://www.naics.com 2. UN/SPSC - Universal Standard Products and Services Classification (ECMA) tmodelkey="uuid:db77450d-9fa8-45d4-a7bc-04411d14e384 http://eccma.org/unspsc 3. ISO 3166 Geographical taxonomy tmodelkey="uuid:4e49a8d6-d5a2-4fc2-93a0-0411d8d19e88 http://www.iso.ch/iso/en/prods-services/iso3166ma/ index.html 136 68
UDDI UNSPSC - Universal Standard Products and Services Classification 137 UDDI Processus de découverte dans UDDI Comment trouver un Service lié avec "Tax Preparation Software dans UDDI? SI un service possède tmodel Key correspondant à UNSPSC, et La keyedreference ( 43.16.17.02") correspondante à ''Tax '' est dans son category bag ALORS On sait que ce service est relié à "Tax Preparation Software" FINSI 138 69
UDDI Processus de publication dans UDDI Comment relier un Web service avec le code UNSPSC correspondant à "Tax Preparation Software"? <categorybag> <keyedreference tmodelkey UDDI correspondant à UNSPSC tmodelkey=" UUID:DB77450D-9FA8-45D4-A7BC- 04411D14E384" keyname= UNSPSC: Tax preparation software" keyvalue= 43.16.17.02" /> </categorybag> 139 XLANG Spécification Proposée par Microsoft S'appuie sur WSDL Objectif Décrire formellement des processus comme des interactions entre participants Spécifier tous les comportements et seulement les comportements que chaque participant désire exposer à ses partenaires afin de faciliter l'intégration. Fonctions couvertes Orchestration des flots de contrôle séquentiel et parallèle Gestion des transactions longues Gestion des corrélations des messages entre eux Gestion des défaillances et des erreurs Gestion des contrats multipartites 140 70
XLANG Les éléments de XLANG XLANG porttype Binding Conforme à la syntaxe WSDL Service Port Xlang: behavior Xlang: context Enchaînement des activités Transactions et références utilisées Xlang: contract Relations entre services XLANG 141 Développement et déploiement Plate-forme 2 Infrastructure principales J2EE (java 2 Enterprise Edition) ---> Standard.NET de Microsoft --> propriétaire Pour le développement et l'exécution des services Web Développement sous J2EE Sous forme de Servlets Sous forme de JSP (Java Pages Server) Exemple de frameworks Sun One (Open Network Environnement) Framework Biztalk de Microsoft 142 71
Standards pour les WS J2EE : Principale référence en vue de développement et d'intégration de WS RMI, IIOP, JMS Client (Browser, application) Business logic tier EJB Server EJB EJB Container Java CICS gateway, JCA, JDBC JNI Données Client (Browser, application) HTTP HTML RMI, IIOP, JMS Servlet JSP Servlet Container Web Application Server Applications externes HTTP SOAP Applications externes Client tier Web tier EIS tier 8 9,,",' 8 9- -.' 8 9,,' 8 #9,",#//". 8 '9,0,'0',0",'0"!-! 143 Plate-forme.NET Framework VB C++ C# J# Python ASP.NET CLR MSMQ COM+ ADO.NET Active Directory Win32 Enterprise Services IIS WMI Programmation d objets d Transactionnels.NET, bénéficiant des services de COM+ Interface à n importe quelle base de données (ADO.NET, ODBC, OLE DB) et support natif de XML Composant «plomberie» : messaging,, connecteurs Support natif des Services Web XML, pionnier dans l impll implémentation mentation des nouveaux standards 144 72
Marché des Services Web Challengers Leaders Ability to Execute Fujitsu BEA Oracle HP CA IBM Sun Novell SAP Microsoft Siebel Peoplesoft Niche Players Visionaries Source: Gartner Aug 2003 Completeness of Vision 145 Résumé La 3ème génération du Web Technologies Standards du Web SOAP WSDL, UDDI, Apport Calcul distribué sur le Web Intégration Approche flexible, universelle pour l'intégration des applications en s'appuyant sur un couplage faible (peer-to-peer) et en exploitant les standards du Web. Plus souples que les EAI qui sont des applications propriétaires Mais Manque de maturité transaction, sécurité, composition et intégration automatique 146 73
CONCLUSION - Récapitulatif 147 Résumé Amélioration industrielle Système d information Nécessité de pilotage des processus Réduire la complexité et les coûts Agilité (Chgts stratégiques, métiers et technologiques) Nécessité de partage des fonctionnalités Nécessite de partage de l'information Intégration d'applications d'entreprise (Enterprise Application Integration) 148 74
Résumé 149 Critère Comparaison ERP - EAI - WS ERP EAI Web Services Distribution, fédération Tout intégré Solution centralisée (peu de solutions distribuées existent: multi-hub ou netwok centric) Distribution élevée (Architecture Peer to Peer mais référentiel centralisé pour la découverte) Couplage faible Cohésion forte (DI élevé) Intégration fortement couplée (DI moyen) Faible couplage (DI faible) Standards Non (mais en cours ) Non (Solutions propriétaires: connecteurs, architecture) Oui (Standards existants et en cours) Coût d'intégration Très Elevé Elevé Bas Intégration legacy (BD, EIS) Non (CO faible) Facile (multitude de connecteurs disponibles pour une multitude de BD et d'eis) (CO moyen) Difficile (les connecteurs n'existent pas encore. Sauf quelques EIS qui supportent des interfaces SOAP. Mais en cours ) (CO élevé) Transformation et routage implicite Solutions prêtes à installer En cours de formalisation Intégration Web Non (CO faible) Caractéristiques disponibles mais encombrantes (CO faible) Facile (CO élevé) Risques Conflit avec BP et Org Lourdeur et évolutivité Non maturité 150 75
Degré d informatisation d une entreprise Fonction de deux paramètres: CO: la Couverture Opérationnelle étendue des moyens informatisés qui augmentent la productivité des processus de l entreprise DI: le Degré d Intégration la capacité à fournir une image homogène et cohérente des informations échangées par les processus de l entreprise Source: Tomas J.-L., ERP et progiciels intégrés - La mutation des systèmes d information, InterEditions Dunod, Paris 1999. 151 Degré d informatisation d une entreprise CO couverture opérationnelle Entreprise traditionnellement informatisée Entreprise intégralement informatisée Entreprise peu ou pas informatisée Entreprise partiellement informatisée DI degré d intégration Source: Tomas J.-L., ERP et progiciels intégrés - La mutation des systèmes d information, InterEditions Dunod, Paris 1999. 152 76
Comparaison ERP - EAI - WS Degré d informatisation d une entreprise CO Couverture Opérationnelle Entreprise traditionnellement informatisée WS Entreprise intégralement informatisée EAI Entreprise peu ou pas informatisée ERP Entreprise partiellement informatisée DI Degré d Intégration Source: Tomas J.-L., ERP et progiciels intégrés - La mutation des systèmes d information, InterEditions Dunod, Paris 1999. 153 Comparaison ERP - EAI - WS Coûts d'intégration ERP System 154 77
Références 155 Références Général Vernadat F. B., Enterprise modeling and integration (EMI)- Current status and research perspectives, Pergamon - Annual Reviews in Control 26 (2002) 15-25, 2002. Hohpe G. Woolf B., Enterprise Integration Patterns, Adison Wesley, 2003. Izza S., Vincent L., Burlat P., Solignac H., Lebrun P, Intégration d'applications: Etat de l'art et Perspectives, 2èmes Journées d'informatique pour l'entreprise JIE 2' 04 - Université Blida, Algérie, 2004. http://www.bijournal.com/ 156 78
Références ERP Tomas J.-L., ERP et progiciels intégrés - La mutation des systèmes d information, InterEditions Dunod, Paris 1999. O Leary D. E. Enterprise Resource Planning Systems, Systems, Life Cycle, Electronic Commerce, and Risk», Cambridge University Press, 2000. Buck-Emden R., The SAP R/3 System - An introduction to ERP and business software technology, Addison-Wesley, London 2000. http://www.cio.com/research/erp/ http://directory.google.com/top/computers/software/erp/resour ces/ 157 Références EAI Lithicum D. S., Enterprise Application Integration, Mercator, 2001. Linthicum D. S., Next Generation Aplication Integration, Addison- Wesley, 2004. Thévenon, D., Gueguen, E., Galpultos, M., Kolawa, A., K'Dual, E., Revue Programmez! Hors Série: Réussir votre intégration: XML, EAI, WS, Goo2 SARL, 2003. Schmidt J., Enabling next generation enterprises, eai Journal, 2000. Rivard F., Plantain T., L'EAI par la pratique, Eyrolles, 2003. Gorton I., Thrman D., Thomson J., Next Generation Application Integration: Challenges and New Approaches, Information Sciences and Engineering, Richland, 2003. Puschmann T., Alt R., Enterprise Application Integration - The Case of the Robert Bosch Group, Proceedings of the 34th Hawaii International Conference on System Sciences - IEEE, 2001. Themistocleous M., Irani Z., Towards a Novel Framework for the Assessment of Enterprise Application Integration Packages, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS 03), 2003. 158 79
Références WS Chauvet J.-M., De XML aux services Web pour les entreprises, Techniques de l'ingénieur, 2002. Kadima H., Monfort V., Les Web Services, Dunod, 2003. Alonso G., Casati F., Kuno H., Machiraju V., Web Services - Concepts, Architetcures and Applications, Springer Verlag, 2004. Cordoso J., Bussler C., Sheth A., Fensel D., Semantic Web Services and Processes: semantic Composition and Quality of Service, On the Move to meaningful Internet Computing and Ubiquitous Computer, Irvine CA, 2002. Cosmosbay, Les Web Services - un nouvel atout pour l'entreprise étendue, Cosmosbay, Janvier, 2003. www.service-architecture.com www.uddi.org 159 Merci de votre attention! 160 80
Questions / Réponses 161 81