Architecture soa (architecture orientée services)( Télécharger le fichier original )par Virginie ELIAS CNAM Nantes - Pays de la Loire - Ingénieur en Informatique 2009 |
CONSERVATOIRE NATIONAL DES ARTS ET METIERS Centre Régional Associé de Nantes MEMOIRE présenté en vue d'obtenir le DIPLOME D'INGENIEUR CNAM en INFORMATIQUE Option: Systèmes d'information Sujet Architecture SOA (Architecture Orientée Services), Quelle source de valeur pour le Groupe Terrena ? Soutenu le 16 Juin 2009 par Virginie ELIAS JURY Présidente : Mme MÉTAIS, professeur CNAM Paris. Responsable du cycle C : M. BRIAND, professeur École Polytechnique de Nantes. Émetteur du sujet : M. HENRY, Responsable Méthodes, Service Informatique Terrena. Tuteur Pédagogique : M. BELLEIL, maître de conférences, Université de Nantes. « De l'architecture ; qualités de l'architecte. 1. L'architecture est une science qui embrasse une grande variété d'études et de connaissances ; elle connaît et juge de toutes les productions des autres arts. Elle est le fruit de la pratique et de la théorie. La pratique est la conception même continuée et travaillée par l'exercice, qui se réalise par l'acte donnant à la matière destinée à un ouvrage quelconque, la forme que présente un dessin. La théorie, au contraire, consiste à démontrer, à expliquer la justesse, la convenance des proportions des objets travaillés. 2. Aussi les architectes qui, au mépris de la théorie, ne se sont livrés qu'à la pratique, n'ont pu arriver à une réputation proportionnée à leurs efforts. Quant à ceux qui ont cru avoir assez du raisonnement et de la science littéraire, c'est l'ombre et non la réalité qu'ils ont poursuivie. Celui-là seul, qui, semblable au guerrier armé de toutes pièces, sait joindre la théorie à la pratique, atteint son but avec autant de succès que de promptitude. » Vitruvius, -30 (Source : L'architecture de Vitruve, Tome I. Traduction nouvelle de M. Ch.-L. Maufras, Paris, éditeur C. L. F. Panckoucke, 1847, pp. 29-43. Texte latin et français en regard.[MAU-VITR]). Dessin 1 : Portrait, époque Renaissance Marcus Vitruvius Pollio (-90 à -20) 1 Premier Volet : Etat de l'Art de l'Architecture SOA 12 1.4 Intégration des Systèmes d'Information 12 1.4.3.1 Constitution de l'E.A.I. 18 La gestion de Processus appelée aussi Workflow 21 L'intégration des applications Client/Serveur et 3-tiers 21 1.4.4.1 Constitution de l'ESB 25 Le Référentiel et le Registre de services (UDDI) : Le coeur de l'ESB 29 1.4.5 Constat et principaux fournisseurs et solutions du marché 33 1.4.6.1 Constitution de la SOA 35 Caractéristiques du Service 39 Caractéristiques du Composant 46 1.4.7 20 ans pour revenir au point de départ ? 47 1.5 Attentes d'une architecture SOA 49 1.5.1.2 Les Services support des SI 50 1.5.1.3 Les Etudes Informatiques 50 1.6 Quelle approche mettre en place ? 54 1.6.1 Des exemples d'urbanisation réussie (Top-Down) 55 1.6.1.1 AXA France Service (AFS) 55 1.6.2 D'autres Exemples et d'autres approches (Bottom-up et Middleware Work Approach) 57 Une plate-forme interopérable 60 1.6.3.3 Illustration simple 61 1.6.4.1 Modélisation MDA à travers les différents standards 62 Interopérabilité des standards actuels 65 1.6.4.2 Méthodologie agile de conduite de projet 66 1.6.5 Décomposition des 3 principales couches SOA 75 1.6.5.1 La Couche Organisationnelle 75 1.6.5.2 La Couche Fonctionnelle 76 Agrégation des données à l'écran 80 1.6.5.3 La Couche Technique 81 Le service de localisation : UDDI 82 Les zones implicites de confiance 84 Les zones explicites de confiance 84 1.7.1 Les Web Services sont-ils suffisamment mûrs ? 86 1.7.2.2 Applications du XML 88 1.7.2.3 Illustration des différentes couches de la famille XML 89 1.8.1 Trop de standards tuent LE STANDARD 103 1.8.2 La méthodologie agile est-elle un préalable à l'architecture SOA ? 104 1.8.3 Un calcul ROI difficile 105 1.8.4 Un avenir incertain mais nécessaire 105 2 Second Volet : Modélisation de l'Architecture SOA 107 2.4.2 L'expression du besoin 110 2.4.3 Définition du périmètre 111 2.4.3.1 Entité concernée : Les tiers 111 2.4.3.3 Description du Processus actuel 112 2.4.3.5 Identification des ressaisies 114 2.4.3.6 Inventaire des activités du processus 114 2.4.3.7 XML Schéma de l'inventaire des activités du processus observé 115 2.4.3.8 Inventaire XML des activités du processus observé 116 2.4.3.9 Difficultés relevées au vu de l'inventaire et de la cartographie 117 Pas de supervision de la prise en compte des modifications tiers par les applications cibles 117 Pas de vue unique des règles de transformation 117 Un mode batch actuellement privilégié 117 Une orchestration statique 118 2.5 Modélisation de la problématique Terrena 119 2.5.2 La conceptualisation de notre monde clos 120 2.5.2.3 La Modélisation de la communication actuelle 128 2.5.3 Urbanisation actuelle de notre SI 130 2.5.3.1 La Vue externe ou vue organisation 131 2.5.3.2 La Vue interne ou vue qualité de service (QoS) 131 2.5.3.3 La Vue Informationnelle 134 2.5.3.4 La Vue Applicative, fonctionnelle ou Vue Services 134 2.5.3.5 Les Faiblesses (Vue générale) 136 2.5.3.6 Les Faiblesses (Vue approfondie) 139 Intégrité des messages non respectée 139 Identification des messages compliquée et rigide 141 Un Protocole de transport unique et non sécurisé 143 Un processus qui s'arrête trop tôt 144 2.6 Modélisation de la Cible 147 2.6.1.1 Rappel de l'articulation de la démarche MDA 148 2.6.1.2 Rappel du concept de Processus 150 2.6.2 Vue Métier ou la phase CIM de MDA 152 2.6.2.1 Définition de la cartographie cible 152 Zoom sur les composants de la cartographie 153 2.6.2.2 Modélisation des cas d'utilisation 154 2.6.2.3 Modélisation du Diagramme BPMN 155 2.6.3 Vue logique ou la phase PIM de MDA 156 2.6.3.1 Modélisation du Diagramme de Classes à partir du BPMN 156 2.6.3.2 Modélisation du Diagramme Etats-Transitions à partir du BPMN 157 2.6.3.3 Modélisation du Diagramme de Séquences à partir du BPMN 158 2.6.3.4 Modélisation du Diagramme d'activités à partir du BPMN 159 2.6.3.5 Synthèse de la modélisation UML 2.0 à partir du diagramme BPMN 160 2.6.3.6 Modélisation du diagramme de classes des entités Tiers, Rib et Adresse. 161 Ontologies Tiers du domaine public : l'INSEE, La Poste, ISO 163 Ontologie spécifique au monde rural : Le Projet GIEA 166 2.6.4 Vue Technique ou la phase PSM de MDA : de la modélisation technique à la génération du code 174 2.6.4.2 Le document XSD du format Pivot 175 Mécanisme de transformation entre le profile UML standard et le Profil Xml 175 3 Troisième Volet : Réalisation 186 3.4 Etapes de la réalisation 187 3.4.1 L'environnement Technique 188 3.4.2 Première réalisation : Web Service / Polling fichier / Transformation / Transfert FTP 189 3.4.2.2 Polling Fichier et Transformation 191 3.4.3 Seconde réalisation : Polling fichier / Transformation / Transfert FTP 200 3.4.4.1 Première réalisation 201 3.4.4.2 Seconde réalisation 203 Bibliographie SOA (Services Oriented Architecture) 209 Thèse(s), Mémoire(s) ou exposé(s) de thèse(s) 210 Sigles, Acronymes et Lexique de termes 212 Package Oracle : Extraction 228 Illustration de la flexibilité apportée par le concept de service 233 Illustration de l'interopérabilité (traduction d'une source IBM) 235 Structures : Tiers, RIB et Adresses 239 Ce mémoire constitue la dernière page d'une longue formation vécue comme une chance et non comme une contrainte. Faire le choix de parfaire mes connaissances, une fois installée dans une vie familiale et professionnelle, toutes deux bien remplies, m'a permis de tirer ce qu'il y a de meilleur de la formation : l'envie de comprendre pour soi et pour les autres. Cependant, cette longue traversée n'a pas été un apprentissage reposant, dénué de doutes car un peu à l'image de la jarre de Pandore, tout nouveau concept fut tout à la fois un enrichissement mais aussi une source de doutes quant à l'étendue du travail restant à couvrir. Un sujet de mémoire tel que l'Architecture SOA est à la fois riche et dangereux car la jarre renferme de nombreux concepts, et à peine en avons nous éclairci un, que se posent de nouvelles interrogations nécessitant davantage d'investigations. C'est pourquoi, à travers ce sujet s'en intercalent d'autres, tout aussi importants tels que l'urbanisation, les processus métiers, la méthodologie, la modélisation etc .... A l'image du concept d'Architecture de Vitruve, l'architecture SOA s'appuie sur un empilement de concepts plus ou moins anciens qu'il faut intégrer à la modernité du moment. Je tiens à remercier tout particulièrement Claude BELLEIL pour ses cours du troisième cycle (et plus particulièrement celui concernant le « Web Sémantique ») et son soutien pédagogique pour cette dernière étape. A travers lui, je pense à tout le Corps Enseignant du CNAM qui sait donner, avec passion, le fruit d'un savoir prodigué au sein d'une belle institution qui séduit de plus en plus largement. Mais je n'aurais sans doute pas pu vivre cette expérience, et de cette manière, sans l'aide de mon entreprise, le Groupe TERRENA, qui depuis le début, m'a donné les moyens et le temps nécessaire; et plus particulièrement Etienne HENRY, responsable Méthodes Terrena qui a su être rassurant et me poser les questions qui m'ont aidées à construire ma réflexion. Ce chapitre ne serait pas complet si je ne réitérais pas à mon mari, Marc ELIAS, toute mon affection et ma réelle reconnaissance d'avoir accepté qu'autant de temps soit consacré à l'approfondissement des choses au détriment, parfois, de moments que nous aurions pu passer ensemble. Enfin, je dédie ce mémoire à mon fils qui restera ma plus belle réalisation. Je souhaite lui transmettre cette curiosité en tout, ce qui fait que chaque jour est apporteur de richesse. À Antoine, Les Outils utilisés pour la réalisation de ce mémoire ont été choisis, soit parce qu'ils avaient peu d'équivalent dans leur domaine (XMLSpy pour la partie XML), soit parce qu'ils entraient dans le cadre UML 2.0, tout en pouvant être couplés à un IDE (MagicDraw comme Modeleur UML avec Netbeans). Les différents acronymes, cités dans ce paragraphe, seront bien entendu définis dans ce mémoire. Tout chapitre significatif sera annoncé au lecteur par le biais d'un cartouche miniature. Les grandes phases déjà parcourues et celles à venir seront ainsi rappelées. Introduction Faiblesses Etat de l'Art Intégration Approche Outils Gains Modélisation Expression Du Besoin Terrena Modélisation Cible Modélisation Problématique Réalisation Etapes Résultats Conclusion Illustration 1 : Cartouche Mémoire L'objectif de cette introduction est de présenter à la fois l'articulation du mémoire, et le concept d'Architecture dans sa forme originelle. Le mémoire d'Ingénieur CNAM consiste en la réalisation de tout ou partie d'un projet, en laboratoire ou en entreprise. La démarche suivie au travers de ce document doit permettre de présenter la problématique de mise en place d'une architecture SOA en termes techniques et fonctionnels. L'état de l'art, constitué à partir d'une bibliographie, servira de base à la définition et à la mise en oeuvre d'une solution chez Terrena. Il sera fait en sorte que cette démarche soit également transposable dans une entreprise aux activités différentes. Ainsi la première partie sera consacrée à l'analyse des fondements d'une architecture SOA. Puis la Coopérative et le Groupe Terrena, feront l'objet d'une présentation permettant d'introduire la problématique d'une telle mise en place dans une entreprise dont l'histoire est ancienne et dont les activités sont multiples. La seconde partie aura pour but de modéliser ce qu'il faudra implémenter sur un périmètre restreint, et ce, tout en restant éloigné de l'aspect technique. Dans la troisième partie, seront exposés le choix et la mise en oeuvre de la solution ainsi que les résultats obtenus. A rchitecture : Art de concevoir et de construire un bâtiment, selon des parties esthétiques et des règles techniques déterminées. Structure, organisation. (Source : Le Petit Larousse 2003) L'art de construire des édifices. Disposition, caractère architectural. Forme, structure. (Source : Le Robert 1995) Il y a plus de 2000 ans, est né le concept d' « Architecture ». Vitruve, ingénieur et architecte romain (1er siècle av. J.C.), est l'auteur de 10 volumes consacrés à ce sujet. A la fin de sa vie, il achève ainsi son oeuvre « De Architectura » qu'il dédie à l'empereur Auguste. Il n'y aura pas d'autres legs de cette nature pour décrire l'architecture de l'Antiquité. Il y énonce entre autre que l'architecture est le fruit conjugué de la théorie et de la pratique scientifique, qu'elle cristallise l'ensemble des sciences d'une époque. Dans le troisième volume, il définit davantage ce qu'est l'architecture : « Des parties dont se compose l'architecture. L'architecture se compose de trois parties : la construction des bâtiments, la gnomonique et la mécanique. La construction des bâtiments se divise elle-même en deux parties : l'une regarde l'emplacement des remparts et des ouvrages publics ; l'autre traite des édifices particuliers. Les ouvrages publics sont de trois sortes : la première a rapport à la défense, la seconde à la religion, la troisième à la commodité. Ceux qui concernent la défense sont les remparts, les tours et les portes de villes, qui ont été inventés pour servir perpétuellement de barrière contre les attaques de l'ennemi. Ceux qui regardent la religion sont les temples et les édifices sacrés, élevés aux dieux immortels. Ceux qui concernent la commodité sont les lieux consacrés à l'usage du peuple, comme les ports, les places publiques, les portiques, les bains, les théâtres, les promenoirs, tous les lieux, en un mot, qui ont cette destination. Dans tous ces différents travaux, on doit avoir égard à la solidité, à l'utilité, à l'agrément : à la solidité, en creusant les fondements jusqu'aux parties les plus fermes du terrain, et en choisissant avec soin et sans rien épargner, les meilleurs matériaux ; à l'utilité, en disposant les lieux de manière qu'on puisse s'en servir aisément, sans embarras, et en distribuant chaque chose d'une manière convenable et commode ; à l'agrément, en donnant à l'ouvrage une forme agréable et élégante qui flatte l'oeil par la justesse et la beauté des proportions. » Vitruvius, -30 (Source : L'architecture de Vitruve, Tome III. Traduction nouvelle de M. Ch.-L. Maufras, Paris, éditeur C. L. F. Panckoucke, 1847. Texte latin et français en regard.[MAU-VITR]) Il serait quelque peu cocasse de s'interroger à quel point l'architecture informatique d'aujourd'hui, et la SOA en particulier, rejoignent les fondamentaux évoqués dans le précédent texte. S'essayer à l'illustration de la vision de Vitruve, pourrait donner la représentation suivante : Illustration 2 : Libre interprétation de l'Architecture selon Vitruve Un seul mot n'a pas été tiré du texte d'origine : « Règles». Il a été introduit dans le schéma en lieu et place du mot « Religion » car à l'époque de Vitruve, la Religion et l'Etat formaient la même entité (cf « religion politique »). Les règles religieuses sont tout autant des règles d'Etat. « Rome n'est pas un État laïque, c'est un État sous la protection des dieux ; on parle donc de religion politique. Les dieux sont en effet avant tout les dieux de la cité. Les prêtres sont reconnus par l'État, et en font partie intégrante. Ils sont en quelque sorte des magistrats (...)» (Source : www.etudes-litteraires.com/religion.php). Illustration 3 : la Rome Antique où l'ominiprésence de la religion (Source : http://www.francebalade.com) 1 Premier Volet : Etat de l'Art de l'Architecture SOAL'objectif de ce chapitre est de présenter les différentes strates technologiques ayant apporté à la fois des réponses aux besoins du moment mais aussi une certaine hétérogénéité au Système d'Information (SI). 1.4 Intégration des Systèmes d'InformationI ntégration des systèmes d'information : Vise à proposer un accès unique aux diverses fonctionnalités réparties entre les différentes solutions logicielles indépendamment de l'infrastructure technique sous-jacente (...). Elle garantit idéalement l'appel des fonctionnalités, les échanges sécurisés d'information et le support transactionnel. (Source : « L'ingénierie des processus métiers - De l'élaboration à l'exploitation » [BRI-IPM] page 204) Le Système d'Information (SI) est souvent constitué de sources de données et d'applications hétérogènes, obtenues suite à la fusion-acquisition1(*) avec d'autres services informatiques (rachat de sociétés) ou par la mise en place de solutions informatiques de nouvelle technologie. Aussi, les systèmes d'intégration évoluent à chaque « révolution technique ou fonctionnelle ». Nous allons voir combien ils ne cessent de se construire autour de concepts plus anciens, un peu à l'image de la ville de Vitruve. Enfin, lorsque sera plus précisément abordée l'Architecture Orientée Services (SOA), les concepts seront plus largement étudiés ainsi que la notion de valeur (dans le sens « gain »). Mais comment en sommes nous arrivés à mettre au devant de la scène la SOA ou autrement dit : Que s'est-il passé entre Vitruve et l'Architecture Orienté Services ? 1.4.1 1.4.1 Point à pointAvant les années 1990, les applications sont monolitiques. C'est ce que l'on pourrait appeler « l'age d'or » du développement spécifique. Un même mainframe propriétaire héberge bien souvent l'ensemble des applications métiers de l'entreprise (principalement des modules de gestion allant de la gestion commerciale jusqu'à la comptabilité, en passant par les achats et incluant souvent les applications de ressources humaines comme la Paie). Les interfaces entre modules s'exécutent alors sur la même machine. Puis, de plus en plus de solutions informatiques se « progicialisent » et les fusions-acquisitions s'intensifient. Ainsi de nouveaux serveurs prennent place dans les salles informatiques. A cette époque les connecteurs et les protocoles ne sont pas construits sur des standards. Des applications de plus en plus hétérogènes sont interfacées, telles des briques posées les unes à côté des autres. Souvent, l'arrivée d'une nouvelle application nécessite une nouvelle machine, une nouvelle organisation des données ou une nouvelle technologie et de nouveaux développements vers tout ou partie des applications existantes. Alors que les premières années ne se souciaient guère de l'aspect financier (la principale préoccupation étant la modernisation des services de l'entreprise pour une meilleure productivité), les considérations économiques s'installent progressivement à la table des DSI. La maintenance et les évolutions de l'intégration inter-applicative occupent beaucoup de monde et génèrent des coûts significatifs. Outre l'aspect financier, il est également difficile de disposer d'une vision claire de l'ensemble des flux métiers circulant dans le SI. Les cartographies pas toujours à jour, illustrent bien souvent cet imbroglio de flux comme un plat de spaghettis. Illustration 4 : Interfaçage Point à Point Par exemple, pour un SI constitué de 7 applications où toutes sont amenées à échanger au moins un flux de données avec les autres, le nombre de liens mis en oeuvre est calculé de la manière suivante : * 1 Les fusions-acquisitions représentaient dans le monde 200 milliards de dollars en 1990, contre près de 1200 milliards en 2000 (source Unctad, interactive Data : FDI Report : M&A [FOR-EAE] ) et 3610 milliards en 2006 [MON-RFA]. La crise mondiale actuelle devrait aussi apporter son lot de fusions-acquisitions. |
|