Chp2 - SOA

2 416 vues

Publié le

Visitez http://liliasfaxi.wix.com/liliasfaxi

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 416
Sur SlideShare
0
Issues des intégrations
0
Intégrations
467
Actions
Partages
0
Téléchargements
159
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chp2 - SOA

  1. 1. Institut National des Sciences Appliquées et de Technologie Tunisie E-Services Chapitre 2 – Architecture Orientée Services (SOA) Dr. Lilia SFAXI GL5 - 2013-2014
  2. 2. 1 Plan du Chapitre  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  3. 3. 2 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  4. 4. 3 Besoins de l’Architecture Orientée Services  Problématique d’intégration en entreprise o o  Les entreprises doivent s’adapter et être réactives aux variations des marchés  Impact sur les SI des entreprises C’est l’activité qui doit piloter la technologie et non l’inverse Prise en compte de l’évolution des besoins fonctionnels à la conception des application o La technologie doit apporter la flexibilité  Éviter le décalage entre besoins métiers et leur réalisation  Besoin de réutilisation des fonctionnalités (non fournie par le modèle MVC classique)  Processus métiers de plus en plus inter-départementaux  coût considérable dans la gestion de flux entre départements
  5. 5. 4 Évolution des Architectures Hier : Architecture en Spaghetti Demain : Architecture Urbanisée Organisation du SI à l’image d’une ville  Développement coûteux  Interconnexions redondantes o Le découper en modules autonomes  Grande complexité o  Réutilisation et maintenance difficile Localiser les zones d’échange d’informations 
  6. 6. 5 De plus en plus d’abstraction  Procédures et fonctions o  Modules o  groupes de fonctions, de méthodes et de traitement, sous forme de bibliothèques Objet o  sous-programmes réalisant une action brique de base logicielle, représentant une entité du monde physique, encapsulant un état et des traitements Composant o o séparation des préoccupations techniques et fonctionnelles o  élément logiciel contenant du code compilé (donc opaque) définit une interface pour communiquer avec les autres composants, et une interface de configuration Service
  7. 7. 6 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  8. 8. 7 Service  Périmètre fonctionnel qu’on souhaite exposer à un certain type de consommateurs  Ensemble de fonctionnalités qui ont un sens  Expose un petit nombre d’opérations offrant un traitement de bout en bout  Est implémenté par un fournisseur et utilisé par un consommateur
  9. 9. 8 Caractéristiques d’un Service  Large Granularité (coarse-grained) o  Interface o  Un service peut implémenter plusieurs interfaces, et aussi plusieurs services peuvent implémenter une interface commune. Localisable o  Les opérations proposées par un service encapsulent plusieurs fonctions et opèrent sur un périmètre de données large au contraire de la notion de composant technique. Avant d’appeler (bind, invoke) un service, il faudra le trouver (find). Instance unique o o  À la différence des composants qui sont instanciés à la demande et peuvent avoir plusieurs instances en même temps, un service est unique. Un service correspond au design pattern Singleton. Couplage faible (loosely-coupled) o o Ces standards assurent le découplage, c-à-d la réduction des dépendances. o  Les services sont connectés aux clients et autres services via des standards Ces standards sont en général des documents XML comme dans les web services Synchrone ou Asynchrone
  10. 10. 9 Couplage Fort vs. Couplage Faible  Couplage Fort Agent Accord de Prêt Compte Prêt SMS Gateway calculerRisque vérifierSolde créerPrêt envoyerConfirmation o « Agent » est lié à « Accord de Prêt », qui est lié à « Compte » o « Prêt » est lié à « SMS Gateway » Objets
  11. 11. 10 Couplage Fort vs. Couplage Faible  Processus Métier Couplage Faible Processus de Prêt Vérification de Solde Calcul de Risque Création de Prêt Notification par SMS o Chaque entité (service) a un fonctionnement indépendant des autres o Le processus métier « Processus de Prêt » permet d’orchestrer les services  Couplage lâche ou faible Services
  12. 12. 11 Types de Services  Les services de présentations ou de référencement o  Les processus métiers o  composés de tâches décrites et faisant appel éventuellement à d’autres services. Les services de gestion et d’accès aux bases de données o  vers les informations affichées et les formulaires de saisies de données. permettent la gestion des données partagées Les services d’intégration o en charge de la messagerie ou l’échange de données tant à l’intérieur que vers l’extérieur comme la gestion des courriers électroniques
  13. 13. 12 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  14. 14. 13 Architecture Orientée Services  SOA (Service Oriented Architecture)  Style d’architecture organisé à partir de services métiers communs mutualisés pour un ensemble de lignes métiers ou d’applications.  Permet d’intégrer et de manipuler les différentes briques et composants applicatifs d’un système informatique et de gérer les liens qu’ils entretiennent  Objectifs o Décomposer une fonctionnalités en un ensemble de fonctions basiques (services) fournies par des composants o Décrire finement le schéma d’interaction entre ces services
  15. 15. 14 Du point de vue des acteurs… Des services que l’entreprise souhaite exposer à ses clients et partenaires, ou à d’autres parties de l’organisation Dirigeant Une architecture basée sur un fournisseur, un consommateur et une description de service Architecte Un style de programmation avec ses standards, paradigmes, technologies et outils associés Développeur Un intergiciel offrant des fonctionnalités en terme d’assemblage, d’orchestration, de surveillance et de gestion des services Intégrateur
  16. 16. 15 Principes de la SOA (1/2)  Diviser pour régner o  Alignement métier o  Substituer la découpe strictement applicative par une structuration en composants plus réduits et potentiellement plus simples à faire évoluer. Construire et organiser le système à partir des réalités métiers, qui doivent se retrouver dans ses constituants. Neutralité technologique o Assurer une indépendance totale entre les interfaces et les implémentations. o L’élément qui utilise un service ne doit pas être contraint ni par la technologie d’implémentation, ni par sa localisation (potentiellement distribué).
  17. 17. 16 Principes de la SOA (2/2)  Mutualisation o o  Favoriser la réutilisation de services métiers par plusieurs lignes métiers ou applications. Permettre la construction de services de haut niveau par combinaison de services existants. Automatisation des processus métier o  Isoler la logique des processus métiers sur des composants dédiés qui prennent en charge les enchainements de tâches et les échanges de flux d’information. Echanges orientés Document o Les informations échangées par les services possèdent une structure propre, guidée par les besoins métiers. o On privilégie la transmission de contenus complets et utilisables au profit d’accès direct aux structures de type objet ou relationnel.
  18. 18. 17 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  19. 19. Éléments de Base Composant de Service  Brique de base de l’architecture, composé d’une vue externe et interne  La vue externe ou spécification : o Expose la facette service proprement dite o Constituée :   o  d’un ensemble d’opérations de service regroupées en interfaces appareillage pour les utiliser (types de données échangées, contrat de service, propriétés…) Décrite par un fichier WSDL ou équivalent La vue interne : o Décrit le contenu du composant o Masquée aux consommateurs du composant o Contient des informations relatives à la logique interne (détail de traitement ou bases de données) + références vers les services utilisés par le composant 18
  20. 20. Éléments de Base Bus d’Entreprise (ESB : Enterprise Service Bus)  Présence de plusieurs participants sous forme de : o Fournisseurs de service : composants de service, deux familles:   o  Composants qui prennent en charge l’implémentation des services Composants qui délèguent son implémentation à un tiers (mainframe, ERP, application existante) Consommateurs de service : applications, progiciels ou autres composants de service ESB : o Colonne vertébrale reliant les participants à travers les interfaces de service o Possibilité de modifier les implémentations ou de remplacer les composants sans changer la structure du système 19
  21. 21. Éléments de Base Contrat de Service  Détaille les conditions d’utilisation du service sous forme de: o Pré- et Post- conditions : Détaillent les conditions d’utilisation sur les opérations de service o Protocole d’utilisation: les séquences valides d’invocation de ses opérations o Contraintes (QoS, SLA: Service Level Agreement, sécurité, fiabilité…) 20
  22. 22. Éléments de Base Données  Données d’échange o o  Informations véhiculées entre les participants à travers l’invocation des opérations de service TDE : Types de donnée d’échange : établissent la sémantique, structure et format de ces données, définis à l’aide de schémas XML ou classes UML Données persistantes o Informations contenues et gérées dans les bases de données o Structurées de façon habituelle (SGBD relationnel, par exemple) 21
  23. 23. 22 Plan  Besoins de la SOA  Notion de Service  Architecture Orientée Services : Définition et Principes  Éléments de base de la SOA  SOA et Processus
  24. 24. 23 SOA et Processus  Dans SOA, l’automatisation des processus est très importante  Définition de plusieurs notions: (on les détaillera ultérieurement) o o Composition de services o  Orchestration de services Chorégraphie Objectif o Centraliser la logique d’un processus dans un composant dédié, qui prend en charge l’enchaînement des règles de gestion associées
  25. 25. Approche orientée Application vs Approche orientée Services 24
  26. 26. 25 Processus Métier  Processus de bout en bout de l’entreprise  Délivre une valeur ajoutée tangible à l’extérieur par une collaboration de plusieurs unités et acteurs  Il peut être interrompu : o Possède un état, qu’il peut conserver entre deux interruptions  Peut durer plusieurs jours, mois ou plus  Est transverse : entre plusieurs départements, unités, acteurs…  Peut requérir une intervention humaine dans son déroulement, ou pas.
  27. 27. Exemple de Processus Métier : Livraison d’une commande 26
  28. 28. 27 Sources  Cours    M. Mecella : A very short Introduction to Web Services, Université de Rome A. Occello : Module Architecture SOA et Workflow, Polytechnique de Nice Livre Blanc  Gilbert Raymond, SOA : Architecture Logique - Principes, structures et bonnes pratiques, Softeam, Paris
  29. 29. 28 Références  [Casati01] F. Casati, M.C. Shan, D. Georgakopoulos (eds.): Special Issue on e-Services. VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies for e-Services (VLDB-TES 2001)  [Mecella01] M. Mecella, B. Pernici: Designing Wrapper Components for e-Services in Integrating Heterogeneous Systems. VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies for e-Services (VLDB-TES 2001)  [W3C04] W3C Working Group Note, Web Services Architecture Requirements, 11 Feb. 2004

×