26
E-Services Chapitre 4 – Composition, Orchestration et Chorégraphie de Services Dr. Lilia SFAXI GL5 - 2013-2014 Institut National des Sciences Appliquées et de Technologie Tunisie

Chp4 - Composition, Orchestration et Choregraphie de services

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Chp4 - Composition, Orchestration et Choregraphie de services

E-ServicesChapitre 4 – Composition, Orchestration et

Chorégraphie de Services

Dr. Lilia SFAXI

GL5 - 2013-2014

Institut National des Sciences Appliquées et de Technologie Tunisie

Page 2: Chp4 - Composition, Orchestration et Choregraphie de services

2

Plan du Chapitre

Composition de services

Orchestration de services

Chorégraphie de services

Orchestration vs Choregraphy : Synthèse

Page 3: Chp4 - Composition, Orchestration et Choregraphie de services

3

Plan du Chapitre

Composition de services

Orchestration de services

Chorégraphie de services

Orchestration vs Choregraphy : Synthèse

Page 4: Chp4 - Composition, Orchestration et Choregraphie de services

4Composition de Services WebProblématique

SOA :

o Division d’un grand problème en parties plus petites, donc plus gérables

o Comment assembler ces petits services ensemble pour créer des services plus grands?

Exemple de Scénario :

o Inscription d’un étudiant à une école

Inscription : nom, adresse…

Paiement des frais d’inscription (services d’une banque)

Attribution d’un numéro d’étudiant

o Chercher un logement dans un foyer d’étudiants (CROUS)

Inscription à partir du numéro d’étudiant

Choisir le type de logement

Paiement des frais d’hébergement

Attribution d’un numéro au foyer

o S’abonner au transport

Sélectionner la ligne entre l’école et le logement

Choix de la réduction proposée (num d’étudiant)

Inscription et Paiement

Page 5: Chp4 - Composition, Orchestration et Choregraphie de services

5Composition de Services WebProblématique

Solution 1 : L’utilisateur se rend sur chaque site web des administrations

Page 6: Chp4 - Composition, Orchestration et Choregraphie de services

6Composition de Services WebProblématique

Solution 2 : L’utilisateur n’utilise que le site web de l’école

Page 7: Chp4 - Composition, Orchestration et Choregraphie de services

7

Composition de Services Web

Composition :

Implémentation d’une application (offerte comme service) dont la logique implique l’invocation d’opérations offertes par d’autres services.

o Le nouveau service est appelé service composite

o Les services invoqués sont des composants de service

Du point de vue du client, un service composite et un service basique (implémenté par un langage de programmation traditionnel) sont in-distinguables.

Notion de Service Mashup :

o Forme plus légère de composition

o Pour les applications web

Page 8: Chp4 - Composition, Orchestration et Choregraphie de services

8

Besoins de la Composition

Capacité d’invoquer les services d’une manière asynchrone

Gestion des exceptions et de l’intégrité transactionnelle

o Les études montrent que presque 80% du temps de construction des processus métier est passé dans la gestion des exceptions

Fourniture d’un framework dynamique, flexible et adaptable pour une séparation claire entre la logique métier et les services utilisés

Deux approches principales

o Orchestration

o Chorégraphie

Page 9: Chp4 - Composition, Orchestration et Choregraphie de services

9

Plan du Chapitre

Composition de services

Orchestration de services

Chorégraphie de services

Orchestration vs Choregraphy : Synthèse

Page 10: Chp4 - Composition, Orchestration et Choregraphie de services

10

Orchestration de Services

L’approche la plus commune

La séquence d’étape est définie dans un processus, avec conditions et exceptions

Un contrôleur central est ensuite créé pour implémenter la séquence

Les étapes individuelles d’une séquence sont implémentés par des opérations sur des services

Pour des compositions de services simples, l’orchestration est faite dans le code (Java, C#...) résidant dans le composite

Pour des orchestrations complexes, un outil est utilisé pour :

o Créer un modèle visuel d’une séquence

o Générer le code qui exécute cette séquence dans un environnement d’exécution dédié

➪ Approche BPM (Business Process Model)

Page 11: Chp4 - Composition, Orchestration et Choregraphie de services

11

Standards d’Orchestration

BPMN (Business Process Modeling Notation)

o Succède à BPML (Business Process Modeling Langage)

o Définit une représentation visuelle de la séquence

BPEL (Business Process Execution Language) ou BPEL4WS (BPEL for Web Services)

o Code qui exécute la séquence

o Exprimé en XML

o Utilise WSDL à deux niveaux :

Interagir avec les ressources requises par le processus

Décrire le processus BPEL lui-même

o Définit deux types d’activités:

Activités de base : interagissant avec les services externes (invoke, receive, reply)

Activités structurées : contrôle de flux du processus interne (flux séquentiel, condition, boucle…)

Page 12: Chp4 - Composition, Orchestration et Choregraphie de services

12

Limites de l’Orchestration

Approche centralisée autour du moteur de composition

o En cas de panne, plus de composition

Schéma de composition statique

o En cas de changement dans les besoins, le schéma devient invalide

Page 13: Chp4 - Composition, Orchestration et Choregraphie de services

13

L’Orchestration en Résumé

Définit un seul maître contrôlant tous les aspects du processus

Supporte une vue graphique de la séquence d’exécution

Se couple facilement avec SOA

Présente un bon point de départ, mais un passage à l’échelle difficile pour les processus complexes

Supporté par la plupart des outils

Page 14: Chp4 - Composition, Orchestration et Choregraphie de services

14

Plan du Chapitre

Composition de services

Orchestration de services

Chorégraphie de services

Orchestration vs Choregraphy : Synthèse

Page 15: Chp4 - Composition, Orchestration et Choregraphie de services

15

Chorégraphie de Services

Dédiée

o Aux processus complexes ayant plusieurs parties qui interagissent

o Aux systèmes basés sur les évènements et sur les agents

Des règles déterminent le comportement de chaque participant individuel d’un processus

Le comportement global du processus est basé sur l’interaction des différentes parties, chacune suivant son propre rôle de manière autonome.

Deux approches:

o Basée sur les messages

o Basée sur les composants fonctionnels

Page 16: Chp4 - Composition, Orchestration et Choregraphie de services

16Chorégraphie Approche basée sur les messages

Basée sur l’examen des messages entre les participants dans un processus

Le comportement est défini par la capture des contrats de messages entre les parties en collaboration.

Supporté par le standrd WS-CDL (Web Service Choregraphy Definition Language)

Souvent utilisé pour les applications B2B (entre entreprises)

o Difficile de spécifier l’implémentation des participants

o Pas d’autorité centrale pour le flux global

Besoin de spécifier uniquement l’échange des messages (syntaxe, sémantique, comportement)

Page 17: Chp4 - Composition, Orchestration et Choregraphie de services

17Chorégraphie Approche basée sur les composants fonctionnels

Basée sur la configuration des composants du processus

On définit le comportement des composants individuels et on laisse le comportement du processus émerger quand chaque instance de processus évolue.

Exemple : Implémentation du routage dans les différents composants avec de simples règles :

o Quelles fonctionnalités ce composant a besoin de faire?

o Quels rôles peuvent réaliser quels besoins?

o Qu’est ce qui peut activer un besoin?

o Comment un besoin peut-il être considéré comme réalisé?

Ressemblance avec les systèmes à base d’agents

Page 18: Chp4 - Composition, Orchestration et Choregraphie de services

18

Standards de la Chorégraphie

WS-CDL (Web Services Choregraphy Description Language)

o Succède à WSCI (Web Services Choregraphy Interface)

o Langage de description en XML

o Décrit les messages qui sont impliqués dans l’échange collaboratif entre services

o Ne définit pas de processus métier exécutable (contrairement à BPEL)

o Un seul document WS-CDL spécifie la contribution d’un partenaire à l’échange de messages.

o Contient un ensemble d’interactions, représentant les échanges de messages entre parties

o Décrit l’ordre des messages dans lequel ils doivent être observés

Si cet ordre n’est pas respecté, WS-CDL considère les messages comme hors de la séquence, donc erronés

Page 19: Chp4 - Composition, Orchestration et Choregraphie de services

19

Limites de la Chorégraphie

Collaborations et partenaires statiques

o Si les besoins ou partenaires changent, les collaborations deviennent impossibles

Pas de langage pour exprimer les besoins

o Les travaux existant proposent une chorégraphie statique

Page 20: Chp4 - Composition, Orchestration et Choregraphie de services

20

La Chorégraphie en Résumé

Le comportement global du processus émerge du travail des différentes parties. Aucune perspective globale n’est nécessaire

Les processus complexes sont décomposés en agendas de travail où chaque élément autonome contrôle son propre agenda.

Se couple facilement avec les systèmes basés sur les évènements et sur les agents

Est généralement plus difficile à démarrer, mais la mise à l’échelle à des processus complexe plus facile

Les représentations graphiques peuvent être dérivés des processus la forme succède à la fonction

Page 21: Chp4 - Composition, Orchestration et Choregraphie de services

21

Plan du Chapitre

Composition de services

Orchestration de services

Chorégraphie de services

Orchestration vs Choregraphy : Synthèse

Page 22: Chp4 - Composition, Orchestration et Choregraphie de services

22

Orchestration vs. Chorégraphie (1/3)

Orchestration Chorégraphie

Exécution automatique d’un processus: le processus est défini en utilisant un langage comme BPEL puis un engin d’orchestration est appelé pour l’exécuter. Un processus orchestré est exposé comme service.

Description d’interactions coordonnées entre deux ou plusieurs parties.

Les services invoqués ne savent pas qu’ils font partie d’un processus métier. Seul le processus central est conscient de l’objectif général à atteindre.

Chaque service web participant dans la chorégraphie doit savoir exactement quand être actif et avec qui interagir.

Page 23: Chp4 - Composition, Orchestration et Choregraphie de services

23

Orchestration vs. Chorégraphie (2/3)

Orchestration Chorégraphie

Décrit ce qu’un processus fait sans spécifier comment cela est implémenté.

Interaction peer-to-peer, car il n’y a pas de conducteur. C’est un modèle consensuel pour les interactions, qui peut consister en un ensemble d’orchestrations.

Fixe, car elle définit un ensemble d’étapes et décisions bien définies.

Orientée objectif: les ressources sont coordonnées pour réaliser cet objectif

Intra-organisationnel (une organisation ne peut pas en orchestrer une autre)

Inter-organisationnel

Autocratique (dirigée par un dictateur) Autonome (les services s’administrent eux-mêmes)

Page 24: Chp4 - Composition, Orchestration et Choregraphie de services

24

Orchestration vs. Chorégraphie (3/3)

Orchestration Chorégraphie

Page 25: Chp4 - Composition, Orchestration et Choregraphie de services

25

Scénarios d’Utilisation

Orchestration Quand on a besoin de produits à la

demande, car c’est l’approche implémentée par la plupart des produits

Pour les services composés

Pour les processus relativement statiques

Où une définition graphique des processus est nécessaire

Chorégraphie Quand les processus peuvent s’étendre à

un grand nombre d’étapes

Où le détail d’un processus doit rester secret pour les autres partenaires du processus (B2B par exemple)

Où les différents partenaires d’un processus ont besoin de leurs propres personnalisation du processus

Où les processus sont hautement dynamiques ou basés sur un objectif

Page 26: Chp4 - Composition, Orchestration et Choregraphie de services

26

Sources

Cours

Robert Ma, Web Service Composition, 2007

Articles de Recherche

o A. ALBRESHNE, P. FUHRER, J. PASQUIER, Web Services Orchestration and Composition, Case Study of Web services Composition, September 2009

o Mike Rosen, BPM and SOA : Orchestration or Choregraphy, Avril 2008