ChapII Architecture SOA PDF
Document Details
Uploaded by GoodlyHarpGuitar
Filière Génie Informatique – EMI
Fatima-Zahra BELOUADHA
Tags
Summary
This presentation details the architecture of Service Oriented Architecture (SOA). It describes motivations, definitions, layers, methods, integration with ESB and comparisons with legacy architectures. It also touches upon SOA implementation, the role of Service Bus and the advantages and the context of SOA.
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...
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é Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 23 – Evolution des AD vers SOA 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, Quel estBASE-64...) le format ?de à adopter ? données (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 Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 25 Coût important mais retour sur investissement 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 Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 26 Plateformes et langages 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 - BELOUADHA. Fatima-Zahra Disposent deOptions SOA. 3ème année. standards : WSDL, BPEL… 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…) Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 30 - Il peut aussi définir les Paramètres de sécurité 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 Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 32 OS/Données : représente les sources de 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 Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 33 serveurs d’applications Exemple e-store : couches AccountController CartController Default SignOut SignIn Search Category Items Item Shopping Help Error Details Cart Presentation Layer Check Order My Edit Create out Order Account Account Account Order Billing Shipping Process 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 My Edit Create out Account Account Account Billing Order Shipping Process Account Profile Product Item Inventory Cart OrderInsert OrderRead Business Logic Layer 1. 1. 10. 5. 1. 0 0 0 1 0 1. 2. 11. 5. 6. 1 0 2 2 0 Data IAccount 1. IProfile IProduct 3. IItem 11. IInventory 5. IOrder 7. Access Layer 2 5 5 3 0 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 Catalo Inventory g 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émentationpour 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 Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 38 Component Model), modèle de composant CORBA 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 Archi. point à SOA 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 Ilimplémente une architecture distribuée et fournit des services de transformation de données, routage, orchestration de services, sécurité, transaction et interopérabilité Ilpermet 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 Ilest donc recommandé pour éviter le couplage fort entre fournisseur et consommateur, mais il n’est pas obligatoire Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 40 Il n’est pas, mais intègre un moteur 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 Indépendante du de langages de langage de programmation programmation Procédurale, OO Pilotée par les messages Protocole de Protocole de transport transport au choix propriétaire 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 Interaction Programme/Utilisateur Programme/Programme Integration statique Integration dynamique des des composants services Service monolithique (1 bloc) Plusieurs services réutilisables et composables Référencement via des Annuaires standardisés annuaires 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 : SOA CORBA) Grain trop fin (Pb de Grain plus gros scalabilité) Conçue pour durer Conçue pour changer (Évolution / modification (couplage faible) difficile) Orientée fonctionnalité Orientée processus Orientée objet Orientée message Cycle de développement Développement et long déploiement interactif Couplage fort Couplage faible (réutilisation difficile et système complexe) Langage de Multilangage programmation (indépendance) spécifique Fatima-Zahra BELOUADHA. SOA. 3ème année. Options IQL et TI. Filière Génie Informatique. 46 Applications monolithiques Services réutilisables 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 - BELOUADHA. Fatima-Zahra Faciliter laannée. SOA. 3ème maintenance Options IQL et TI. Filière Génie Informatique. 47 SOA/BPM et urbanisation AméliorerL’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 Fatima-Zahra BELOUADHA. SOA. 3ème année.sous forme Options IQL et TI. Filière Géniede services dans le Informatique. 48 contexte de l’architecture SOA, fait que leur