SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Institut National des Sciences Appliquées et de Technologie Tunisie

E-Services

Chapitre 4 – Composition, Orchestration et

Chorégraphie de Services

Dr. Lilia SFAXI
GL5 - 2013-2014
1

Plan du Chapitre



Composition de services



Orchestration de services



Chorégraphie de services



Orchestration vs Choregraphy : Synthèse
2

Plan du Chapitre



Composition de services



Orchestration de services



Chorégraphie de services



Orchestration vs Choregraphy : Synthèse
Composition de Services Web
Problématique


SOA :
o
o



Division d’un grand problème en parties plus petites, donc plus gérables
Comment assembler ces petits services ensemble pour créer des services plus grands?

Exemple de Scénario :
o

Inscription d’un étudiant à une école



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



o

Inscription : nom, adresse…

Attribution d’un numéro d’étudiant

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



Choisir le type de logement



Paiement des frais d’hébergement



o

Inscription à partir du numéro d’étudiant

Attribution d’un numéro au foyer

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

3
Composition de Services Web
Problématique


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

4
Composition de Services Web
Problématique


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

5
6

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
7

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
8

Plan du Chapitre



Composition de services



Orchestration de services



Chorégraphie de services



Orchestration vs Choregraphy : Synthèse
9

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
o

➪

Créer un modèle visuel d’une séquence
Générer le code qui exécute cette séquence dans un environnement d’exécution dédié

Approche BPM (Business Process Model)
10

Standards d’Orchestration


BPMN (Business Process Modeling Notation)
o
o



Succède à BPML (Business Process Modeling Langage)
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 :



o

Interagir avec les ressources requises par le processus
Décrire le processus BPEL lui-même

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…)
11

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
12

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
13

Plan du Chapitre



Composition de services



Orchestration de services



Chorégraphie de services



Orchestration vs Choregraphy : Synthèse
14

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
Chorégraphie

15

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
o



Difficile de spécifier l’implémentation des participants
Pas d’autorité centrale pour le flux global

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

16

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
o

Quels rôles peuvent réaliser quels besoins?

o

Qu’est ce qui peut activer un besoin?

o



Quelles fonctionnalités ce composant a besoin de faire?

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

Ressemblance avec les systèmes à base d’agents
17

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
18

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
19

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
20

Plan du Chapitre



Composition de services



Orchestration de services



Chorégraphie de services



Orchestration vs Choregraphy : Synthèse
21

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

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 euxmêmes)
23

Orchestration vs. Chorégraphie (3/3)
Orchestration

Chorégraphie
24

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 processus relativement
statiques



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



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

Pour les services composés



Chorégraphie
25

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

Weitere ähnliche Inhalte

Was ist angesagt?

eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementLilia Sfaxi
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiEl Habib NFAOUI
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes LogicielsGhazouani Mahdi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpelAnasse Ej
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applicationsMohammed Jaafar
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOATugdual Grall
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 

Was ist angesagt? (20)

eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Soa
SoaSoa
Soa
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpel
 
Déploiement d’applications
Déploiement d’applicationsDéploiement d’applications
Déploiement d’applications
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 

Ähnlich wie Chp4 - Composition, Orchestration et Choregraphie de services

Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptxRihabBENLAMINE
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...Hicham DJELLOULI
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
Patterns Windows Azure
Patterns Windows AzurePatterns Windows Azure
Patterns Windows AzureMicrosoft
 
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...hamdane mohamed elkamel
 
verification des workflow
verification des workflowverification des workflow
verification des workflowSofiane Brahim
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'informationFrust Rados
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxhachchaneemsi
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec MulesoftSpikeeLabs
 
Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...Hamid Barakat
 
Référentiel Général d’Interopérabilité RGI version1 0
Référentiel Général d’Interopérabilité RGI version1 0Référentiel Général d’Interopérabilité RGI version1 0
Référentiel Général d’Interopérabilité RGI version1 0Pierre-Marie Delpech
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métierMatthieu DUFOURNEAUD
 
Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5YounessLaaouane
 

Ähnlich wie Chp4 - Composition, Orchestration et Choregraphie de services (20)

Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptx
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...Présentation solution web orientée service SOA pour la gestion du processus d...
Présentation solution web orientée service SOA pour la gestion du processus d...
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Patterns Windows Azure
Patterns Windows AzurePatterns Windows Azure
Patterns Windows Azure
 
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
 
verification des workflow
verification des workflowverification des workflow
verification des workflow
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'information
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptx
 
Web services
Web servicesWeb services
Web services
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec Mulesoft
 
BPMN,jBPM,BPEL
BPMN,jBPM,BPELBPMN,jBPM,BPEL
BPMN,jBPM,BPEL
 
Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...Bus de médiation de services: modèle de corrélation d’événements à base de rè...
Bus de médiation de services: modèle de corrélation d’événements à base de rè...
 
Référentiel Général d’Interopérabilité RGI version1 0
Référentiel Général d’Interopérabilité RGI version1 0Référentiel Général d’Interopérabilité RGI version1 0
Référentiel Général d’Interopérabilité RGI version1 0
 
20140130 mug lyon - post-mortem d'une application métier
20140130   mug lyon - post-mortem d'une application métier20140130   mug lyon - post-mortem d'une application métier
20140130 mug lyon - post-mortem d'une application métier
 
Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5
 

Mehr von Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Mehr von Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Chp4 - Composition, Orchestration et Choregraphie de services

  • 1. Institut National des Sciences Appliquées et de Technologie Tunisie E-Services Chapitre 4 – Composition, Orchestration et Chorégraphie de Services Dr. Lilia SFAXI GL5 - 2013-2014
  • 2. 1 Plan du Chapitre  Composition de services  Orchestration de services  Chorégraphie de services  Orchestration vs Choregraphy : Synthèse
  • 3. 2 Plan du Chapitre  Composition de services  Orchestration de services  Chorégraphie de services  Orchestration vs Choregraphy : Synthèse
  • 4. Composition de Services Web Problématique  SOA : o o  Division d’un grand problème en parties plus petites, donc plus gérables Comment assembler ces petits services ensemble pour créer des services plus grands? Exemple de Scénario : o Inscription d’un étudiant à une école   Paiement des frais d’inscription (services d’une banque)  o Inscription : nom, adresse… Attribution d’un numéro d’étudiant Chercher un logement dans un foyer d’étudiants (CROUS)   Choisir le type de logement  Paiement des frais d’hébergement  o Inscription à partir du numéro d’étudiant Attribution d’un numéro au foyer 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 3
  • 5. Composition de Services Web Problématique  Solution 1 : L’utilisateur se rend sur chaque site web des administrations 4
  • 6. Composition de Services Web Problématique  Solution 2 : L’utilisateur n’utilise que le site web de l’école 5
  • 7. 6 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
  • 8. 7 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
  • 9. 8 Plan du Chapitre  Composition de services  Orchestration de services  Chorégraphie de services  Orchestration vs Choregraphy : Synthèse
  • 10. 9 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 o ➪ Créer un modèle visuel d’une séquence Générer le code qui exécute cette séquence dans un environnement d’exécution dédié Approche BPM (Business Process Model)
  • 11. 10 Standards d’Orchestration  BPMN (Business Process Modeling Notation) o o  Succède à BPML (Business Process Modeling Langage) 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 :   o Interagir avec les ressources requises par le processus Décrire le processus BPEL lui-même 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…)
  • 12. 11 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
  • 13. 12 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
  • 14. 13 Plan du Chapitre  Composition de services  Orchestration de services  Chorégraphie de services  Orchestration vs Choregraphy : Synthèse
  • 15. 14 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
  • 16. Chorégraphie 15 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 o  Difficile de spécifier l’implémentation des participants Pas d’autorité centrale pour le flux global Besoin de spécifier uniquement l’échange des messages (syntaxe, sémantique, comportement)
  • 17. Chorégraphie 16 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 o Quels rôles peuvent réaliser quels besoins? o Qu’est ce qui peut activer un besoin? o  Quelles fonctionnalités ce composant a besoin de faire? Comment un besoin peut-il être considéré comme réalisé? Ressemblance avec les systèmes à base d’agents
  • 18. 17 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
  • 19. 18 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
  • 20. 19 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
  • 21. 20 Plan du Chapitre  Composition de services  Orchestration de services  Chorégraphie de services  Orchestration vs Choregraphy : Synthèse
  • 22. 21 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.
  • 23. 22 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 euxmêmes)
  • 24. 23 Orchestration vs. Chorégraphie (3/3) Orchestration Chorégraphie
  • 25. 24 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 processus relativement statiques  Où une définition graphique des processus est nécessaire  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 Pour les services composés  Chorégraphie
  • 26. 25 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