Architecture SOA – Module IVa - serveur campus des écoles hes
Transcription
Architecture SOA – Module IVa - serveur campus des écoles hes
Architecture SOA – Module IVa Module IVa Architecture SOA Peter DAEHNE Peter DAEHNE Plan Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche SOA et ses objectifs. Les concepts. L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 2 1 Architecture SOA – Module IVa Agenda - 1 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche SOA et ses objectifs. Introduction Les concepts. L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Cours CTI – Printemps 2009 Introduction - 1 3 Module IVa L’acronyme SOA a été inventé par le Gartner Group dès 1996. Objectif: décrire une nouvelle manière de concevoir et d’organiser les différents composants du SI de l’entreprise. SOA est un « buzz » actuel. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 4 2 Architecture SOA – Module IVa Introduction - 2 Module IVa De la vision à la solution: Enrichissement Exemple signifiant concret exprimant un besoin Raffinements successifs Solution Temps Peter DAEHNE Cours CTI – Printemps 2009 Introduction - 3 5 Module IVa L’organisation du SI a toujours été calquée sur celle de l’entreprise. Jusqu’aux années 1970, organisation compartimentée en silos fonctionnels: Production, ventes, finances, etc. Fonctionnement indépendant. Applications informatiques monolithiques dédiées à la gestion de ces fonctions. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 6 3 Architecture SOA – Module IVa Introduction - 4 Module IVa Dès la fin des années 1970, organisation matricielle. Des strates horizontales dont ajoutées à l’organisation verticale existante: CRM, RH, Chaîne logistique (supply chain), etc. Les applications informatiques sont adaptées en conséquence. SI peu agile et rigidifié dans une matrice organisationnelle et fonctionnelle. Peter DAEHNE Cours CTI – Printemps 2009 Introduction - 5 7 Module IVa Aujourd’hui, organisation en réseau. Les composants sont couplés de façon lâche. Les unités fonctionnelles sont relativement indépendantes. Ce sont les besoins liés à ce nouveau type d’organisation qui sont à l’origine de l’architecture SOA. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 8 4 Architecture SOA – Module IVa Introduction - 6 Module IVa Objectifs: Construire un SI flexible et agile; Au service de l’accomplissement du métier; Facilitant l’innovation; Réduisant les coûts. Peter DAEHNE Cours CTI – Printemps 2009 Agenda - 2 9 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. Évolution des systèmes L’approche SOA et ses objectifs. Les concepts. d’information L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 10 5 Architecture SOA – Module IVa Évolution - 1 Module IVa Jusqu’aux années 70-80: mainframe Site central; Applications monolithiques; Persistance, traitement et présentation forment un ensemble indissociable. Haute disponibilité, intégrité des données. Système cohérent et fiable. Coûts d’acquisition et d’exploitation élevés. Peter DAEHNE Cours CTI – Printemps 2009 Évolution - 2 11 Module IVa Début des années 90: client / serveur Persistance gérée par le site central ; Présentation déportée sur les postes de travail; La localisation du traitement peut varier. Système hétéroclite Développement décentralisé sans gouvernance; Apparition sauvage d’applications transverses; Informations et règles de gestion dupliquées; Problèmes de déploiement des applications. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 12 6 Architecture SOA – Module IVa Évolution - 3 Module IVa Vers 2000: les applications Web Partenaires et clients peuvent accéder à certaines applications de l’entreprise; Intégration de ceux-ci aux processus métiers; Développement du commerce électronique. L’entropie globale augmente. Les coûts (gestion, licences) diminuent. La sécurité devient un vrai problème. Peter DAEHNE Cours CTI – Printemps 2009 Évolution - 4 13 Module IVa Bilan Aucune entreprise n’a fait table rase à chaque changement technologique; Les parcs informatiques sont morcelés; Les applications communiquent peu ou pas; Les systèmes patrimoniaux (legacy) constituent souvent les fondations du SI. Il faut organiser cette hétérogénéité pour en reconquérir la maîtrise. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 14 7 Architecture SOA – Module IVa Évolution - 5 Peter DAEHNE Module IVa Cours CTI – Printemps 2009 Agenda - 3 15 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche SOA et ses objectifs. Démarches d’intégration Les concepts. L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 16 8 Architecture SOA – Module IVa Intégration - 1 Module IVa Aucune démarche méthodologique sérieuse jusqu’au milieu des années 1990. Les applications sont organisées comme l’entreprise: en silos. Chaque silo est autonome et isolé en terme de: Processus; Interface homme / machine; Base technique. Peter DAEHNE Cours CTI – Printemps 2009 Intégration - 2 17 Module IVa Problèmes: Pratiquement impossible de mettre en place des processus métier transversaux. Duplication d’objets et de règles métier. Double saisie. Évolutions difficiles à mettre en œuvre car: Complexité de l’architecture; Variété de technologies (hardware et software). Réutilisation de composants impossible. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 18 9 Architecture SOA – Module IVa Intégration - 3 Module IVa Développement de connecteurs et de protocoles ad hoc au fur et à mesure de l’apparition des besoins. Développement et maintenance coûteux. Aucune vision des flux d’information pour une processus métier donné. Architecture accidentelle. Peter DAEHNE Cours CTI – Printemps 2009 Intégration - 4 19 Module IVa Intégration: cas de l’architecture accidentelle. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 20 10 Architecture SOA – Module IVa Intégration - 5 Module IVa Une démarche d’intégration efficace devrait permettre aux applications de se connecter au système de façon indépendante. Dès le milieu des années 1990, les outils d’EAI proposent des solutions de ce type. EAI = Enterprise Application Integration. Une outil d’EAI est une sorte de « cœur » auquel les applications se connectent de façon indépendante. Peter DAEHNE Cours CTI – Printemps 2009 Intégration - 6 21 Module IVa Intégration: cas de l’EAI. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 22 11 Architecture SOA – Module IVa Intégration - 7 Module IVa Fonctionnalités d’un EAI: Transport des données; Connexion entre applications; Transformation des données; Orchestration les processus; Services techniques: Monitoring des données échangées; Annuaire des applications connectées. Peter DAEHNE Cours CTI – Printemps 2009 Intégration - 8 23 Module IVa Avantages: Architecture du SI simplifiée; Échange d’informations plus facile. Inconvénients: Onéreux et paramétrage compliqué; Logique d’intégration propriétaire; Ne résout pas la problématique du silo; Single Point of Failure. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 24 12 Architecture SOA – Module IVa Intégration - 9 Module IVa Autres approches: le tout intégré Les ERP du début des années 1990; Plate-forme technologique commune; Base de données centrale; Squelettes d’applications pré-implantées à configurer. Les processus doivent parfois être adaptés au logiciel. Difficulté de prendre en compte l’existant. Peter DAEHNE Cours CTI – Printemps 2009 Intégration - 10 25 Module IVa Autres approches: l’urbanisation du SI Transformer de façon continue le SI pour le simplifier durablement. Il s’agit principalement: De définir un SI cible idéal en fonction de la stratégie de l’entreprise (et d’autres facteurs); De déterminer les étapes de la transformation du SI actuel pour atteindre la cible fixée. Cette approche sera traitée en détail dans un autre module (Ch. Aïdonidis). Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 26 13 Architecture SOA – Module IVa Agenda - 4 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche L’approche SOA et ses SOA objectifs.et Les concepts. ses objectifs L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Cours CTI – Printemps 2009 Approche - 1 27 Module IVa SOA n’est pas une technologie. SOA est: Une philosophie de conception indépendante de tout produit, technologie ou tendance; Un paradigme, une approche pour construire le système d’information informatisé; Qui s’appuie sur les processus métier de l’entreprise et sur le concept de service. SOA définit un modèle d’interaction entre les composants du SI. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 28 14 Architecture SOA – Module IVa Approche - 2 Module IVa SOA définit un style d’architecture du SI. L’objectif général est de faire évoluer le SI en évitant les écueils énoncés plus haut. Les composants logiciels sont connectés par un couplage lâche. Le style d’architecture: Favorise la réutilisation des composants; Lutte contre le syndrome des silos. Peter DAEHNE Cours CTI – Printemps 2009 Approche - 3 29 Module IVa Comme déjà mentionné dans l’introduction, les objectifs de SOA sont donc: Construire un SI flexible et agile; Au service de l’accomplissement du métier; Facilitant l’innovation; Réduisant les coûts. Des études ont montré qu’un réel retour sur investissement pouvait être dégagé à moyen terme [Ibm06]. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 30 15 Architecture SOA – Module IVa Agenda - 5 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche SOA et ses objectifs. Les concepts Les concepts. L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Cours CTI – Printemps 2009 Les concepts - Plan 31 Module IVa Introduction. Service. Message. Annuaire des services. Granularité et typologie des services. Applications composites. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 32 16 Architecture SOA – Module IVa Les concepts - 1 Module IVa Introduction. Service. Message. Annuaire des services. Introduction Granularité et typologie des services. Applications composites. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Introduction - 1 33 Module IVa État de l’art actuel des réflexions menées sur la conception et le développement. L’écriture de logiciel est un problème de plus en plus complexe. Évolution de la réutilisation: Sous-programme; Programmation modulaire; Programmation orientée objet; Programmation orientée composants. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 34 17 Architecture SOA – Module IVa Concepts / Introduction - 2 Module IVa Élévation du niveau d’abstraction: De la réutilisation de code à celle de fonctionnalité; Solutions organisationnelles pour tenter de conserver la maîtrise du SI. Le contexte a évolué: Systèmes distribués; Plateformes hétérogènes et interopérabilité; Internet et périphériques mobiles. Peter DAEHNE Cours CTI – Printemps 2009 Les concepts - 2 35 Module IVa Introduction. Service. Message. Annuaire des services. Service Granularité et typologie des services. Applications composites. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 36 18 Architecture SOA – Module IVa Concepts / Service - 1 Module IVa Le service est l’entité fondamentale. Unité fonctionnelle avec les propriétés: Ensemble de fonctionnalités définies par une interface indépendante de la plateforme; Peut être localisé et invoqué dynamiquement; Est autonome et sans état. Caractéristiques supplémentaires: Couplage faible, réutilisable, composable et performant. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Service - 2 37 Module IVa Un service propose une interface de distribution, Basée sur un ensemble de composants métiers, Constitués d’objets implantant des méthodes de bas niveau. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 38 19 Architecture SOA – Module IVa Concepts / Service - 3 Module IVa Responsabilités Objet: Implantation des traitements. Composant: Modèle de composants proposé par les plateformes de développement utilisées. Service: Mise à disposition des opérations; Protocole de communication pour l’accès. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Service - 4 39 Module IVa Interface Contrat que le service s’engage à satisfaire vis-à-vis de ses clients. Boîte noire. L’indépendance de la plateforme garantit … … qu’un client quelconque … … écrit dans n’importe quel langage … … hébergé par n’importe quel système d’exploitation … … peut invoquer le service. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 40 20 Architecture SOA – Module IVa Concepts / Service - 5 Module IVa Localisation et invocation dynamique Effectués par l’entremise d’un annuaire. L’annuaire répertorie les services. Les clients peuvent l’interroger pour obtenir la référence d’un service sur la base d’un certain nombre de critères. D’un jour à l’autre, le service physique invoqué par une application peut changer. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Service - 6 41 Module IVa Autonome et sans état Le service ne gère donc aucun contexte. Une unique instance suffit, indépendamment du nombre de ses clients. Se distingue donc des composants usuels dont il existe autant d’instances que de clients qui consomment leurs fonctionnalités. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 42 21 Architecture SOA – Module IVa Concepts / Service - 7 Module IVa Couplage faible Nombre de dépendances et de relations explicites avec d’autres services minimisé. En cas de recours à un autre service, invocation par l’entremise de l’annuaire. Réutilisable Fonctionnalité suffisamment primitive implantée de façon générale. Brique élémentaire pour la construction d’applications complexes. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Service - 8 43 Module IVa Composable Caractéristique parente de la réutilisabilité. On peut construire de nouveaux services (services composites) en assemblant et coordonnant des services existants. Performant Fondamental, car appelé à fonctionner dans le cadre d’une infrastructure nécessitant des ressources importantes. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 44 22 Architecture SOA – Module IVa Concepts / Service - 9 Module IVa Fonctionnement Synchrone Le code du client est interrompu dans l’attente du résultat fourni par le service. Asynchrone Le code du client poursuit son exécution après l’invocation. Un protocole est défini pour spécifier comment le service indique qu’il a terminé sa tâche et comment se procurer les résultats. Peter DAEHNE Cours CTI – Printemps 2009 Les concepts - 3 45 Module IVa Introduction. Service. Message. Annuaire des Message services. Granularité et typologie des services. Applications composites. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 46 23 Architecture SOA – Module IVa Concepts / Message - 1 Module IVa Le message est l’entité de communication entre les clients et les services. Emploi Invocation d’un service par un client. Retour des résultats au client par le service. Transmission des informations en entrée et en sortie. Coordination des activités de services composites. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Message - 2 47 Module IVa Indépendance de la plateforme L’interface est indépendante de la plateforme. Elle définit les messages qu’un service accepte et retourne. La technologie pour décrire les messages doit également être indépendante: Des langages de programmation; Des systèmes d’exploitation. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 48 24 Architecture SOA – Module IVa Les concepts - 4 Module IVa Introduction. Service. Message. Annuaire des services. Annuaire des services Granularité et typologie des services. Applications composites. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Annuaire - 1 49 Module IVa L’intermédiaire entre clients et fournisseurs de services est l’annuaire des services. Caractéristiques: Les fournisseurs publient les services: Enregistrement auprès de l’annuaire. Sous la forme d’une interface (contrat). Les clients interrogent l’annuaire: Localiser et découvrir un service dont le contrat satisfait certaines contraintes. Dans le but de l’invoquer. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 50 25 Architecture SOA – Module IVa Concepts / Annuaire - 2 Module IVa Pattern publish-find-bind-execute Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Annuaire - 3 51 Module IVa Informations associées à un service Version. Type (voir [Hef05]). Caractéristiques fonctionnelles. Nom, paramètres, exceptions, pré-conditions. Chemin d’accès (URL). Aspects non fonctionnels. Sécurité. Critères qualitatifs (temps de réponse moyen, …). Informations sémantiques. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 52 26 Architecture SOA – Module IVa Concepts / Annuaire - 4 Module IVa Autres caractéristiques de l’annuaire: Adjonction dynamique et incrémentale de services ainsi que mise à jour en cours d’exécution du système. Élément clé du découplage de par son rôle d’intermédiaire entre fournisseur et client. Le client accède au service de façon indirecte et peut choisir ce dernier en fonction de critères répertoriés dans la description et connus du client qu’en cours d’exécution. Peter DAEHNE Cours CTI – Printemps 2009 Les concepts - 5 53 Module IVa Introduction. Service. Message. Granularité et typologie des Annuaire des services. services Granularité et typologie des services. Applications composites. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 54 27 Architecture SOA – Module IVa Concepts / Typologie - 1 Module IVa Granularité des services Il faut un bon niveau de granularité. Ne peut être obtenu qu’en effectuant une analyse métier. Les tâches métier identifiées guideront le découpage en différents services. Granularité trop faible: peu d’intérêt. Granularité trop forte: peu réutilisable. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Typologie - 2 55 Module IVa Typologie des services Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 56 28 Architecture SOA – Module IVa Concepts / Typologie - 3 Module IVa Service technique: Donne accès à une ressource technique donnée. Messagerie, imprimante. Base de données relationnelle, EAI. Est générique, c’est-à-dire lié à une catégorie de ressources. Granularité moyenne à forte. Réutilisabilité forte. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Typologie - 4 57 Module IVa Service métier: Offre un ensemble cohérent de traitements métier. Exemple: vision client – un tel service permet d’obtenir Les informations de base du client; L’état de ses comptes; La liste de ses commandes en attente; L’historique de ses relations avec l’entreprise; … Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 58 29 Architecture SOA – Module IVa Concepts / Typologie - 5 Module IVa Service de persistance: Créer, rechercher, mettre à jour et supprimer de l’information des référentiels du SI. Associé à un objet métier racine (point d’entrée dans le système d’information). Pour lire ou écrire un objet métier racine, le service accèdera en général à plusieurs tables. Granularité faible. Réutilisation forte. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Typologie - 6 59 Module IVa Service fonctionnel: Encapsule tout ou partie des règles de gestion et des traitements métier. Implante un ensemble de fonctions métier. S’appuie en général sur des services de persistance pour accéder aux informations métier dont il a besoin. Granularité moyenne à forte. Réutilisabilité moyenne à forte. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 60 30 Architecture SOA – Module IVa Concepts / Typologie - 7 Module IVa Service applicatif: Service de façade de haut niveau masquant aux applications composites concernées les services de bas niveau. Coordonne les appels aux services fonctionnels. Spécifique d’une application composite interactive (satisfait un besoin métier précis). Granularité forte. Réutilisabilité nulle. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / Typologie - 8 61 Module IVa Dépendance des services Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 62 31 Architecture SOA – Module IVa Concepts / Typologie - 8 Module IVa Effectuer un bon découpage Peter DAEHNE Cours CTI – Printemps 2009 Les concepts - 6 63 Module IVa Introduction. Service. Message. Annuaire des services. Applications composites Granularité et typologie des services. Applications composites. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 64 32 Architecture SOA – Module IVa Concepts / App. Composites - 1 Module IVa Les services étant identifiés et définis, il faut les consommer. Dans une approche SOA, on définit un nouveau type d’applications: les applications composites Ce sont des applications construites en composant des appels de services. Elles apportent la valeur ajoutée aux utilisateurs finaux du système. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / App. Composites - 2 65 Module IVa On identifie principalement trois types d’applications composites: Application composite interactive (impliquant une interaction avec un utilisateur). Processus métier. Système traditionnel (batch ou application). Une application composite peut à son tour s’exposer sous la forme d’un service. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 66 33 Architecture SOA – Module IVa Concepts / App. Composites - 3 Module IVa Processus métier L’ensemble des activités que l’entreprise doit réaliser pour traiter un événement métier. SOA: enchaînement automatisé de services. Appelé orchestration du processus et exécuté par le moteur BPM. L’orchestration décrit: La logique de contrôle. Le flux de données internes du processus métier. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / App. Composites - 4 67 Module IVa Topologie de déploiement Client lourd. L’application composite réside sur le poste client. Elle élabore les vues en local. Elle appelle des services hébergés par des serveurs. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 68 34 Architecture SOA – Module IVa Concepts / App. Composites - 5 Module IVa Client léger. L’application composite réside sur le serveur. Elle élabore les vues et les envoie à un moteur graphique distant: le browser. Technologie de pages Web dynamiques. Peter DAEHNE Cours CTI – Printemps 2009 Concepts / App. Composites - 6 69 Module IVa Client distant. L’application composite devient un service. Le client est un portail distant. Le portail utilise un protocole dédié pour le dialogue avec ce service. L’application composite transmet ses vues au portail. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 70 35 Architecture SOA – Module IVa Agenda - 6 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche SOA et ses objectifs. L’infrastructure Les concepts. L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 1 71 Module IVa SOA est un concept architectural. Il définit l’organisation du SI. Principes généraux: Les fonctions métier sont encapsulées dans des services. Les fonctionnalités de ces services sont exposées via des interfaces: Indépendantes de la plate-forme; Indépendantes du langage d’implémentation. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 72 36 Architecture SOA – Module IVa Infrastructure - 2 Module IVa Principe généraux (suite): Interaction et interopérabilité des services par l’intermédiaire de l’échange de messages: Indépendamment de la localisation des services dans un environnement distribué; Indépendamment du protocole de communication employé. Implantation au moyen d’une infrastructure qu’on appelle Enterprise Service Bus. Description du concept: [Gar02] et [Cha04]. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 3 73 Module IVa L’ESB est avant tout un design pattern. Propose une couche d’abstraction pour implanter les principes généraux. Implantations possibles (3): Message broker existant Fournit la fonctionnalité d’échange de messages. Les autres éléments organisationnels sont réalisés au moyen de solutions ad hoc. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 74 37 Architecture SOA – Module IVa Infrastructure - 4 Module IVa Implantations possibles (suite): Solution hybride en assemblant Composants développés en interne. Composants open source. Composants commerciaux. Solution logicielle complète spécifique Commerciale ou open source. Critères de choix: [Ful06] Offres commerciales existantes: [Vol06] Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 5 75 Module IVa ESB: épine dorsale de la plateforme SOA Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 76 38 Architecture SOA – Module IVa Infrastructure - 6 Module IVa (1) Portails Représentent une application composite interactive à l'usage des utilisateurs du SII. Plusieurs types peuvent être envisagés: Application en ligne destinée au grand public. Application métier destinée aux employés. Portail à l’usage des partenaires commerciaux. Ligne graphique unifiée. Single sign-on et personnalisation en fonction du rôle et du type d’utilisateur. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 7 77 Module IVa (2) Conteneur Encapsulation des fonctionnalités et des attributs non fonctionnels d’un service. Exposés par l’entremise d’une interface. Chargé de gérer l’échange de messages entre l’implantation technique du service et l’ESB. Outils pour gérer les transactions, la sécurité et la reconfiguration dynamique du service. Contrôle le fonctionnement et l’état interne du service. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 78 39 Architecture SOA – Module IVa Infrastructure - 8 Module IVa (3) Annuaire des services Chargé de la localisation et de l’invocation dynamique des services. Une description complète de ses fonctions a déjà été effectuée plus haut. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 9 79 Module IVa (4) Accès aux données Service technique distribué. S’appuie sur un moteur SQL et/ou XQuery. Permet la création de services de persistance pour les objets métier. Son rôle est d’abstraire les caractéristiques techniques de bas niveau. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 80 40 Architecture SOA – Module IVa Infrastructure - 10 Module IVa (5) Adaptateur Permet d’exposer les applications existantes comme un service. Chargé d’effectuer la connexion entre l’application et le conteneur. Peut-être mis en œuvre pour n’importe quel type d’application écrite dans n’importe quel langage, moyennant un adaptateur ad hoc. L’ESB généralise ainsi l’EAI. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 11 81 Module IVa (6) Web-Services Candidats « naturels » à fonctionner dans le cadre de cette architecture. On considère souvent à tort que c’est l’unique réalisation possible du concept de service. Permet l’implantation de services ouverts qui peuvent transiter par le Web (http, ftp, smtp). Les échanges avec des partenaires externes (ex: e-commerce) s’en trouvent facilités. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 82 41 Architecture SOA – Module IVa Infrastructure - 12 Module IVa (7) Applications J2EE Un adaptateur transforme le protocole et les messages de l’ESB dans le standard JMS. Souvent proposé en standard dans des solutions complètes en raison de la très large diffusion de J2EE et de sa portabilité naturelle. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 13 83 Module IVa (8) Moteur BPM Responsable de la chorégraphie des processus métier et de l'orchestration des services associés. Modélisation et exécution des processus sans avoir recours à du développement de code. What you model is what you run. Gère le suivi (contrôle, mesures, optimisation du flux des activités, alertes en cas de problème). Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 84 42 Architecture SOA – Module IVa Infrastructure - 14 Module IVa (9) & (10) Communication entre systèmes L’ESB peut communiquer par le réseau avec celui d’un autre système: Les systèmes d’une même entreprise sont dispersés géographiquement. Cas de relations B2B. Objectif: consommer ou fournir des services à l’autre système. La communication est assurée par un protocole standard de l’Internet (ou protocole propriétaire). Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 15 85 Module IVa (11) Superviseur SOA Collecte des informations sur les éléments matériels et logiciels de la plateforme. Identification et traitement des problèmes. Statistiques et reporting (amélioration continue). SAM (Service Activity Management): On observe les services. BAM (Business Activity Management): On observe les processus. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 86 43 Architecture SOA – Module IVa Infrastructure - 16 Module IVa L’infrastructure est adaptée au support d’outils de workflow et de messagerie. Ils sont intégrés au système sous forme de services ou de portails particuliers. L’ESB – élément central de l’architecture: Technologies de tolérance de pannes. Il est impensable que le défaillance d’un composant bloque l’ensemble du système. Peter DAEHNE Cours CTI – Printemps 2009 Infrastructure - 17 87 Module IVa Chaîne de fabrication logicielle. Ensemble d’outils permettant de concevoir, modéliser, développer, déployer et tester les différents éléments: Atelier de modélisation. Atelier de fabrication. Atelier d’assemblage et de déploiement. Atelier d’homolgation. Etc… Les composants de cette chaîne sont choisis parmi les offres du marché les plus adaptées. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 88 44 Architecture SOA – Module IVa Agenda - 7 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. Standards, normes L’approche SOA et ses objectifs. et Les concepts.protocoles L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Cours CTI – Printemps 2009 Standards - 1 89 Module IVa L'infrastructure décrite est structurée en différentes couches de normes et de protocoles. Ceux-ci peuvent bien sûr être définis de façon propriétaire. La plupart d’entre eux sont standardisés: W3C: World Wide Web Consortium OASIS: Organization for the Advancement of Structured Information Standards Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 90 45 Architecture SOA – Module IVa Standards - 2 Module IVa Protocoles réseau: HTTP [Htt99], FTP [Ftp85], SMTP [Smt01]. Représentation des messages: XML [Xml06]. Description des services et de leurs interfaces: WSDL [Wsd01]. Invocation des services et transport des messages: SOAP [Soa07], WS-I [Wsi07]. Découverte des services: UDDI [Udd04], WSIL [Wsl07]. Chorégraphie / orchestration des services: WS-BPEL [Wsb05]. Peter DAEHNE Cours CTI – Printemps 2009 Agenda - 8 91 Module IVa Introduction. Évolution des systèmes d’information. Démarches d’intégration. L’approche SOA et ses objectifs. Conclusion Les concepts. L’infrastructure. Standards, normes et protocoles. Conclusion. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 92 46 Architecture SOA – Module IVa Conclusion - 1 Module IVa La mise en œuvre de SOA dans l’entreprise est un voyage, une stratégie planifiée sur plusieurs années (de 2-3 ans à 10 ans). Cette stratégie Implique de faire évoluer le SII de l’entreprise. Implique de bouleverser la structure organisationnelle de l’entreprise. Doit reposer sur des objectifs précis et clairs en termes de gestion d’entreprise. [Hef04]: 6 approches pour effectuer cette (r)évolution. Peter DAEHNE Cours CTI – Printemps 2009 Conclusion - 2 93 Module IVa La migration vers une architecture SOA ne peut être que graduelle. Elle implique des modifications fondamentales dans l’organisation de l’entreprise en général … … et de son département informatique en particulier ! Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 94 47 Architecture SOA – Module IVa Conclusion - 3 Module IVa Le chemin vers l'adoption de SOA n'est pas dépourvu d'embûches. Ce parcours du combattant est très bien illustré par la déclaration suivante: « Après une phase d'adhésion, les entreprises passent souvent par une phase de désillusions puis un refondement qui conduit enfin à la sortie du tunnel, jusqu'à un plateau de productivité » P. Maliverno, Gartner Group. Peter DAEHNE Cours CTI – Printemps 2009 Conclusion - 4 95 Module IVa Lorsque la décision est prise et que la conversion philosophique a eu lieu se pose la question du choix technologique. Les systèmes installés peuvent-ils évoluer ? Sont-ils frappés d’obsolescence ? Les vendeurs de solutions proposent-ils des produits en adéquation avec la stratégie ? L’architecture hardware est-elle adaptée au pas conceptuel envisagé ? Etc. Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 96 48 Architecture SOA – Module IVa Conclusion - 5 Module IVa Aucun vendeur ne propose de solution magique clés en mains. La solution idéale est souvent un assemblage de produits. [Vol06]: étude de produits du marché. [Jon07]: une étude plus récente se basant sur des critères tels que visions business et IT du produit, standards et maturité. Peter DAEHNE Cours CTI – Printemps 2009 97 Module IVa Merci de votre attention Peter DAEHNE Connaissance et maîtrise des SI Cours CTI – Printemps 2009 98 49 Architecture SOA – Module IVa Bibliographie [Bon08] Pierre Bonnet, Jean-Michel Detavernier, Dominique Vauquier, Le système d’information durable – La refonte progressive du SI avec SOA, Lavoisier, 2008, ISBN 978-2-7462-1829-1. [Cha04] [Fou08] David A. Chappel, Enterprise Service Bus, O'Reilly, Juin 2004, ISBN 0-596-00675-6. Xavier Fournier-Morel, Pascal Grojean, Guillaume Plouin, Cyril Rognon, SOA, Le guide de l’architecte du SI, 2e édition, Dunod, 2008, ISBN 978-2-10-051708-4. Larry Fulton, The Case For An Enterprise Service Bus, Forrester Research, http://www.forrester.com/Research/Document/0,7211,40859,00.html, 12.12.2006. Gartner Group, Roy W. Schulte, Predicts 2003 : Enterprise Service Bus Emerge, 9.12.2002. Randy Hefner, Your Paths To Service-Oriented Architecture, Forrester Research, http://www.forrester.com/Research/Document/0,7211,34813,00.html, 7.12.2004. Randy Hefner, A Taxonomy Of Service Types For SOA, Forrester Research, http://www.forrester.com/Research/Document/0,7211,38105,00.html, 25.10.2005. IBM Global Business Services : Nicole Baker, Rolando Franco, Maria Stein-Marrison, ServiceOriented Architecture, A practical guide to measuring return on that investment, http://www935.ibm.com/services/us/gbs/bus/pdf/g510-6320-soa-roi.pdf, 2006. Steve Jones, SOA Vendor Ratings Q1 2007, http://servicearchitecture.blogspot.com/2007/03/soa-vendor-ratings-q1-2007.html, 22 mars 2007. Tiziana Margaria, Service Is in the Eyes of the Beholder, Computer, pp. 33-37, Novembre 2007, ISSN 0018-9162. José Rouillard, Thomas Vantroys, Vincent Chevrin, Architecture Orientée Services – Une approche pragmatique des SOA, Vuibert, 2007, ISBN 978-2-7117-4868-6. Ken Vollmer, Mike Gilpin, The Forrester Wave™ : Enterprise Service Bus, Q2 2006, Forrester Research, http://www.forrester.com/Research/Document/0,7211,38696,00.html, 30.06.2006. [Ful06] [Gar02] [Hef04] [Hef05] [Ibm06] [Jon07] [Mar07] [Rou07] [Vol06] Normes et standards (W3C : http://www.w3.org et OASIS : http://www.oasis-open.org) [Ftp85] International Engineering Task Force (IETF), File Transfer Protocol (FTP), RFC 959, http://www.ietf.org/rfc/rfc959.txt, octobre 1985. [Htt99] W3C, Hypertext Transfer Protocol -- HTTP/1.1, http://www.w3.org/Protocols/rfc2616/rfc2616.html, juin 1999. [Smt01] International Engineering Task Force (IETF), Simple Mail Transfer Protocol, RFC 2821, http://www.ietf.org/rfc/rfc2821.txt, avril 2001. [Soa07] W3C, SOAP Version 1.2, http://www.w3.org/TR/soap, 27.04.2007. [Udd04] OASIS, UDDI Version 3.0.2, http://www.oasis-open.org/committees/uddispec/doc/spec/v3/uddi-v3.0.2-20041019.htm, 19.10.2004. [Wsb05] OASIS, Web Services Business Process Execution Language Version 2.0, http://www.oasisopen.org/committees/download.php/14616/wsbpel-specification-draft.htm, 1.09.2005. [Wsd01] W3C, Web Services Description Language (WSDL) 1.1, http://www.w3.org/TR/wsdl, 15.03.2001. [Wsi07] Web Services Interoperability Organization, WS-I Basic Profile Version 1.2, http://www.wsi.org/Profiles/BasicProfile-1_2(WGAD).html, 24.10.2007. [Wsl07] IBM, Web Services Inspection Language, http://www.ibm.com/developerworks/library/specification/ws-wsilspec, Janvier 2007. [Xml06] W3C, Extensible Markup Language (XML) 1.0 (Fourth Edition), http://www.w3.org/TR/RECxml/, 29.09.2006. Peter DAEHNE, Version 1.0, 09.03.2009