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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. É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. É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. É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. É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. 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. 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
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.
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. 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