ChapII Architecture SOA PDF
Document Details
Uploaded by GoodlyHarpGuitar
Filière Génie Informatique
Fatima-Zahra BELOUADHA
Tags
Summary
This document provides an overview and details of Service Oriented Architecture (SOA). It covers motivations, definitions, layers, integration, and comparisons with other architectures (e.g., client-server) .
Full Transcript
CH2. Architecture SOA Motivations et Enjeux Définition et Fondamentaux Couches et Méthodes de conception Intégration et ESB SOA Vs Architectures classiques SOA et urbanisation Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière G...
CH2. Architecture SOA Motivations et Enjeux Définition et Fondamentaux Couches et Méthodes de conception Intégration et ESB SOA Vs Architectures classiques SOA et urbanisation Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 22 Architecture distribuée Architecture où le traitement des données des applications est distribué sur plusieurs machines en réseau - Exemples : Architectures client-serveur, N-Tiers, Web Limites dues à leurs technologies de base : – Utilisation de composants provenant d’un même constructeur, – Utilisation d’un langage de programmation spécifique, – Complexité des technologies utilisées – Incapacité de répondre au besoin d’interopérabilité – Evolution des AD vers SOA Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 23 SOA et Interopérabilité L’interopérabilité exprime le besoin d’échanger des données (d’1 facture par ex) entre 2 systèmes distribués et éventuellement hétérogènes pour un besoin d’intégration SOA, proposée par Gartner Group (2003-2008), se prête comme solution au problème d’interopérabilité, en répondant aux questions : - Quel transport de communication (TCP/IP ? quelle version?) ? - Quel protocole applicatif (HTTP, FTP, SFTP...) ? - Quel type d’encodage de données (ASN.1, MIME, BASE-64...) ? - Quel est le format de données à adopter ? (bureautique, structuré avec EDI ou XML) - … Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 24 Enjeux de la SOA Elle est devenue une solution incontournable pour gagner d’autres enjeux : - Métier : Produire des SI ouverts (à la fois interopérables + évolutifs) Ø Proposer une solution utilisant des standards et assurant un couplage faible - Métier : Réduire le Time to Market (le temps entre le besoin et la mise en production) Ø Proposer des moyens pour réduire le temps du cycle projet - Technique : Fédérer les technologies Ø Proposer des moyens pour rendre les solutions techniques réutilisables - Financier : Maîtriser les coûts et les délais Ø Coût important mais retour sur investissement à long terme Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 25 Architecture SOA Architecture orientée service (Service Oriented Architecture) Style d’architecture distribuée qui permet de fournir ou consommer un processus métier en tant que service Offre des services réutilisables et interopérables via des interfaces standards (construites autour de XML) Plusieurs partenaires peuvent communiquer et échanger des données dans le contexte de SOA indépendamment des Plateformes et langages Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 26 Technologies d’implémentation de SOA L’architecture SOA peut être implémentée par différentes Technologies : - CORBA, - DCOM (Microsoft), - APIs : RMI ou JMS (combinées aux Interfaces Java), - Services Web (protocole SOAP) Les Services Web demeurent la technologie émergente pour l’implémentation de l’architecture SOA puisqu’ils sont : - multiplateormes, - multilangages, - relativement faciles à implémenter - Disposent de standards : WSDL, BPEL… Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 27 Paradigme SOA ! Fournisseur de service : - Fournit un service accessible via une adresse - publie son contrat dans le registre de services - et exécute les requêtes des consommateurs (un Proxy et un cache peuvent être utilisés du côté consommateur pour délocaliser le traitement et réduire le nombre d’appels réseau) Consommateur de service : application, service… - Cherche le service dans le registre (son adresse) - Se lie dynamiquement au service (binding) - Invoque le service via une requête conforme au contrat Registre de services : Annuaire des contrats de services - Le Contrat décrit le format d’échange (format des requête/réponse, les pré et post conditions du service et sa QoS, ex: temps de réponse) - Le contrat est renouvelable par demande de nouveau bail à partir du registre Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 28 Annuaire et Référentiel de services Annuaire (Registry) : permet de publier les métadonnées des services (ex : UDDI, ebXml…) Référentiel (Repository) : stocke les définitions des services de l’entreprise, les dépendances entre services et gère la localisation et le routage L’annuaire et le référentiel peuvent être fusionné en 1 seul outil (ex : WSSR d’IBM). Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 29 Endpoints et Binding Le Endpoint est le port ou point d’accès au service - Il est décrit par un triplet : l’adresse du service, un binding et la liste des opérations du service accessibles à partir de ce endpoint Le Binding indique le modèle à utiliser pour communiquer avec le service - Protocole de transport : http, https (sécurité SSL/TLS), Sockets TCP/IP (adaptés au transfert de données volumineuses : son ou vidéo), Canaux nommés (utilisés lorsque les clients et le service sont sur la même machine), MSMQ (File d’attente de message pour le transfert de messages fiables et persistants) - Format des messages : format des données à utiliser pour formuler les requêtes du client et à considérer pour interpréter les réponses du serveur (format textuel basé sur XML ou binaire pour transmettre des flux volumineux : vidéo…) - Il peut aussi définir les Paramètres de sécurité (cryptographie…) et la manière de Gérer les Transactions par le service… Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 30 Le modèle en Couches de la SOA (1/3) Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 31 Le modèle en Couches de la SOA (2/3) Présentation : renseigne les types de Clients (services Web, servlets ou pages JSP) des services Orchestration : assure la coordination des services composés et gère leur enchaînements - Services réutilisés pour organiser un processus métier, un workflow ou un flux de services Services : héberge et organise les services par domaine métier Composants : héberge les composants utilisés par les services pour assurer une fonctionnalité métier OS/Données : représente les sources de données (SGBD, CICS…), les EAI ou ERP déployés par l’entreprise Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 32 Le modèle en Couches de la SOA (3/3) Intégration : comprend des services techniques - Gestion de configuration - Gestion des traces - Gestion des erreurs et des exceptions - Moteur de transformation des flux (ex : XML/PDF ou XML/HTML) - Gestion de batchs - Utilitaires (parsing XML, lecture de fichiers…) QOS (souvent intégrée dans un ESB) : assure, contrôle et gère la QoS en termes de sécurité, performance disponibilité - Sécurité : contrôle l’accès aux couches et leurs composants - Management : assure l’administration, la configuration et la gestion des applications et serveurs d’applications - Monitoring : contrôle et surveille les processus Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 33 Exemple e-store : couches AccountController CartController Default SignOut SignIn Search Category Items Item Shopping Help Error Details Cart Presentation Layer Check Order Order Order My Edit Create out Billing Shipping Process Account Account Account Account Profile Product Item Inventory Cart OrderInsert OrderRead Business Logic Layer IAccount IProfile IProduct IItem IInventory IOrder Data Access Layer Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 34 Exemple e-store : Domaines Default SignOut SignIn Search Category Items Item Shopping Help Error Details Cart Presentation Layer Check Order Order Order My Edit Create out Billing Shipping Process Account Account Account Account Profile Product Item Inventory Cart OrderInsert OrderRead Business Logic Layer 1.0 1.0 10.0 5.1 1.0 1.1 2.0 11.2 5.2 6.0 1.2 3.5 11.5 5.3 7.0 IAccount IProfile IProduct IItem IInventory IOrder Data Access Layer Customer Catalog Inventory Shopping Billing Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 35 Exemple e-store : Services Presentation Layer Business Logic Layer Service Manage Show Make Shop Bill Layer Customer Catalog Inventory Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 36 Mise en œuvre de la SOA SOMA - Service Oriented Modeling and architecture - Proposée par IBM pour l’analyse, conception, implémentation et développement d’architecture SOA Praxeme - Unilog Management et Orchestra Networks - Initiée par la société SAGEM et déposé par le Praxeme Institute pour couvrir tous les aspects de l'entreprise, de la stratégie au déploiement Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 37 Modélisation des services et Outils d’Implémentation pour la SOA Modélisation : - UML 2.0 (version qui intègre des composants logiciels) Implémentation : - JEE à travers l’utilisation de JEE beans - EJB for Web apps et du serveur d’application JEE (conteneur moins lourd que J2EE) - Framework Spring à travers l’utilisation des spring Beans et du conteneur léger tomcat (serveur Web) - IBM WebSphere pack for SCA, Apache Tuscany SCA, FraSCati (open source)… qui implémentent le modèle SCA (Service Component Architecture) - Modèle proposé par IBM/Oracle/TIBCO pour la composition d’applications selon les principes de SOA - OpenCCM qui implémente le modèle CCM (CORBA Component Model), modèle de composant CORBA Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 38 ESB (Enterprise Service Bus) Solution d’intégration qui reprend les principes de l’EAI en se basant sur des standards : XML, SOAP, WSDL, WS-*, UDDI, BPEL, JSR Java (J2CA+JBI) pour intégrer des applications dans le cadre d’une architecture SOA Archi. point à point Archi. Basée sur un EAI Enterprise Application Integration Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 39 Intérêt de l’ESB Il implémente une architecture distribuée et fournit des services de transformation de données, routage, orchestration de services, sécurité, transaction et interopérabilité Il permet en fait aux applications hétérogènes de communiquer de façon simple, mais standardisée à la différence des EAI basés sur une logique d’intégration propriétaire Il est donc recommandé pour éviter le couplage fort entre fournisseur et consommateur, mais il n’est pas obligatoire Il n’est pas, mais intègre un moteur d’orchestration Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 40 Connectivité de l’ESB L’ESB est connecté aux applications par des connecteurs d’adaptation de formats et spécificités - Connecteurs techniques vers des formats d’échange : fichiers CSV, formats XML, RMI, RPC… - Connecteurs métiers pour intégrer des progiciels - Connecteurs propriétaires conformes à J2CA Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 41 Solutions ESB IBM Websphere ESB Celtix hosted on ObjectWeb/IONA Technologies OpenESB (java.net) Mule (codehaus.org) Sonic ESB EBM Web Sourcing Distributed Petals Bus (consortium OW2) Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 42 Autres formes d’implémentation d’un ESB Les services assurés par l’ESB dépendent de l’implémentation choisie - Intergiciels de type MOM (Message Oriented Middleware) - Intergiciels de type Bus (ex : CORBA) - Intergiciels de type EAI (Message Broker avec connecteurs propriétaires liés au moteur d’intégration) - Routeurs services Web (ex : WebSphere Web Services Gateway) Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 43 SOA Vs Client/serveur Architecture Client/ SOA Serveur Intra-entreprise Inter_entreprises Limitée à un ensemble de Indépendante du langage langages de programmation de programmation Procédurale, OO Pilotée par les messages Protocole de transport Protocole de transport au propriétaire choix Fortement couplé Faiblement couplé Traitement efficace Traitement lourd Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 44 SOA Vs Architecture Web Architecture Web SOA Interaction Programme/Utilisateur Interaction Programme/Programme Integration statique des Integration dynamique des services composants Service monolithique (1 bloc) Plusieurs services réutilisables et composables Référencement via des annuaires Annuaires standardisés de sites non standardisés Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 45 SOA Vs architecture OO Archi. OO (ex : CORBA) SOA Grain trop fin (Pb de scalabilité) Grain plus gros Conçue pour durer (Évolu;on / Conçue pour changer (couplage modifica;on difficile) faible) Orientée fonc;onnalité Orientée processus Orientée objet Orientée message Cycle de développement long Développement et déploiement interac;f Couplage fort (réu;lisa;on Couplage faible difficile et système complexe) Langage de programma;on Mul;langage (indépendance) spécifique Applica;ons monolithiques Services réu;lisables Applica;ons C/S isolées Services intégrables Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 46 Avantages de la SOA Métier : - Améliorer l’agilité et la flexibilité du métier (évolutivité) - Réduire en temps le cycle de développement - Faciliter la gestion des processus métier - Améliorer le retour sur investissement Techniques : - Réduire la complexité de la solution - Construire les services une seule fois et les utiliser fréquemment - Garantir une intégration standardisée permettant de communiquer avec des clients hétérogènes - Faciliter la maintenance Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 47 SOA/BPM et urbanisation Améliorer L’urbanisation du SI vise à le rendre optimisé et agile, construit autour des processus et fondé sur une architecture ouverte et à base de composants : - Le couple BPM/SOA constitue pour l’urbanisation un socle qui contribue à l’atteinte de ses objectifs, vu qu’il est source d’optimisation et d’agilité pour le SI - Les processus métiers déployés sur l’architecture SOA sont implémentés par des composants réutilisables, contribuant à l’optimisation du SI - Le fait que les processus métier soient implémentés sous forme de services dans le contexte de l’architecture SOA, fait que leur implémentation et le SI soit faiblement couplés, et que le SI soit par la suite flexible Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 48