SlideShare a Scribd company logo
1 of 26
Download to read offline
Composition de Services
Chapitre 3 - eServices
GL5
2015/2016
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
Composition de services
Orchestration de services
Chorégraphie de services
Orchestration vs Chorégraphie : Synthèse
2
PLAN
Composition de services
Orchestration de services
Chorégraphie de services
Orchestration vs Chorégraphie : Synthèse
3
PLAN
Problématique
SOA :
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 :
1.  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
2.  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
3.  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
4
Composition de Services Web
Problématique
Solution 1 : L’utilisateur se rend sur chaque site web des administrations
5
Composition de Services Web
Problématique
Solution 2 : L’utilisateur n’utilise que le site web de l’école
6
Composition de Services Web
Définition
Implémentation d’une application (offerte comme service) dont la logique
implique l’invocation d’opérations offertes par d’autres services.
Le nouveau service est appelé service composite
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 :
Forme plus légère de composition
Pour les applications web
Implique l'intégration dans un site web de contenus provenant d'autres sites
7
Composition de Services Web
Besoins de la Composition
Capacité d’invoquer les services d’une manière asynchrone
Gestion des exceptions et de l’intégrité transactionnelle
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
Orchestration
Chorégraphie
8
Composition de Services Web
Composition de services
Orchestration de services
Chorégraphie de services
Orchestration vs Chorégraphie : Synthèse
9
PLAN
Définition
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 :
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
Orchestration de Services
Standards d’Orchestration
BPMN (Business Process Modeling Notation)
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)
Code qui exécute la séquence
Exprimé en XML
Utilise WSDL à deux niveaux :
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
Orchestration de Services
Limites de l’Orchestration
Approche centralisée autour du moteur de composition
En cas de panne, plus de composition
Schéma de composition statique
En cas de changement dans les besoins, le schéma devient invalide
12
Orchestration de Services
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
Orchestration de Services
Composition de services
Orchestration de services
Chorégraphie de services
Orchestration vs Chorégraphie : Synthèse
14
PLAN
Définition et Objectif
Dédiée
Aux processus complexes ayant plusieurs parties qui interagissent
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:
Basée sur les messages
Basée sur les composants fonctionnels
15
Chorégraphie de Services
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 standard WS-CDL (Web Service Choregraphy Definition
Language)
Souvent utilisé pour les applications B2B (entre entreprises)
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)
16
Chorégraphie de Services
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 :
Quelles fonctionnalités ce composant a besoin de faire?
Quels rôles peuvent réaliser quels besoins?
Qu’est ce qui peut activer un besoin?
Comment un besoin peut-il être considéré comme réalisé?
Ressemblance avec les systèmes à base d’agents
Exemple d’implémentation: BPEL4Chor
17
Chorégraphie de Services
Standards de la Chorégraphie
WS-CDL (Web Services Choreography Description Language)
Succède à WSCI (Web Services Choreography Interface)
Langage de description en XML
Décrit les messages qui sont impliqués dans l’échange collaboratif entre
services
Ne définit pas de processus métier exécutable (contrairement à BPEL)
Un seul document WS-CDL spécifie la contribution d’un partenaire à l’échange de
messages.
Contient un ensemble d’interactions, représentant les échanges de messages
entre parties
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
Chorégraphie de Services
Limites de la Chorégraphie
Collaborations et partenaires statiques
Si les besoins ou partenaires changent, les collaborations
deviennent impossibles
Pas de langage pour exprimer les besoins
Les travaux existants proposent une chorégraphie statique
19
Chorégraphie de Services
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 est plus facile
Les représentations graphiques peuvent être dérivées des processus
è la forme succède à la fonction
20
Chorégraphie de Services
Composition de services
Orchestration de services
Chorégraphie de services
Orchestration vs Chorégraphie : Synthèse
21
PLAN
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
Synthèse
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)
23
Synthèse
Orchestration vs. Chorégraphie (3/3)
24
Synthèse
Orchestration Chorégraphie
Scénarios d’Utilisation
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 25
Synthèse
Orchestration Chorégraphie
•  Quand on a besoin de produits à la
demande, car c’est l’approche
implémentée par la plupart des
produits
•  Quand les processus peuvent s’étendre à
un grand nombre d’étapes
•  Pour les services composés •  Où le détail d’un processus doit rester
secret pour les autres partenaires du
processus (B2B par exemple)
•  Pour les processus relativement
statiques
•  Où les différents partenaires d’un
processus ont besoin de leurs propres
personnalisation du processus
•  Où une définition graphique des
processus est nécessaire
•  Où les processus sont hautement
dynamiques ou basés sur un objectif
Cours
Robert Ma, Web Service Composition, 2007
Articles de Recherche
A. ALBRESHNE, P. FUHRER, J. PASQUIER, Web Services
Orchestration and Composition, Case Study of Web services
Composition, September 2009
Mike Rosen, BPM and SOA : Orchestration or Choreography,
Avril 2008
26
Sources

More Related Content

What's hot

Chp1- Introduction aux eServices
Chp1- Introduction aux eServicesChp1- Introduction aux eServices
Chp1- Introduction aux eServicesLilia Sfaxi
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web servicesmohammed addoumi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia 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
 
Business process execution language
Business process execution languageBusiness process execution language
Business process execution languageBilel Abed
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web servicesoussemos
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Heithem Abbes
 

What's hot (20)

Chp1- Introduction aux eServices
Chp1- Introduction aux eServicesChp1- Introduction aux eServices
Chp1- Introduction aux eServices
 
Les web services
Les web servicesLes web services
Les web services
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Soa
SoaSoa
Soa
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
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
 
Business process execution language
Business process execution languageBusiness process execution language
Business process execution language
 
Middleware
MiddlewareMiddleware
Middleware
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web services
 
Appels de procédures distants (RPC)
Appels de procédures distants (RPC)Appels de procédures distants (RPC)
Appels de procédures distants (RPC)
 

Viewers also liked

eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++Lilia 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
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api managementLilia Sfaxi
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOALilia Sfaxi
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esbLilia Sfaxi
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsArun Kejariwal
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time AnalyticsAmazon Web Services
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time ApplicationsDataWorks Summit
 

Viewers also liked (9)

eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
eServices-Chp6: WOA
eServices-Chp6: WOAeServices-Chp6: WOA
eServices-Chp6: WOA
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and Systems
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
 

Similar to eServices-Chp3: Composition de Services

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
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpelAnasse Ej
 
Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptxRihabBENLAMINE
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
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
 
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
 
ITIL V3 vs ITIL 2011 : Evolutions et Différences
ITIL V3 vs ITIL 2011 : Evolutions et DifférencesITIL V3 vs ITIL 2011 : Evolutions et Différences
ITIL V3 vs ITIL 2011 : Evolutions et DifférencesitSMF France
 
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
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDaniella Mbuta
 
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
 
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
 
Patterns Windows Azure
Patterns Windows AzurePatterns Windows Azure
Patterns Windows AzureMicrosoft
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'informationFrust Rados
 
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
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec MulesoftSpikeeLabs
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
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
 

Similar to eServices-Chp3: Composition de Services (20)

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...
 
BPMN,jBPM,BPEL
BPMN,jBPM,BPELBPMN,jBPM,BPEL
BPMN,jBPM,BPEL
 
Presentation bpel
Presentation bpelPresentation bpel
Presentation bpel
 
Decouverte2014-2015.pptx
Decouverte2014-2015.pptxDecouverte2014-2015.pptx
Decouverte2014-2015.pptx
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
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...
 
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
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
ITIL V3 vs ITIL 2011 : Evolutions et Différences
ITIL V3 vs ITIL 2011 : Evolutions et DifférencesITIL V3 vs ITIL 2011 : Evolutions et Différences
ITIL V3 vs ITIL 2011 : Evolutions et Différences
 
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"
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
 
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
 
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
 
Patterns Windows Azure
Patterns Windows AzurePatterns Windows Azure
Patterns Windows Azure
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'information
 
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è...
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec Mulesoft
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
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
 

More from 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
 

More from 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
 

eServices-Chp3: Composition de Services

  • 1. Composition de Services Chapitre 3 - eServices GL5 2015/2016 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1
  • 2. Composition de services Orchestration de services Chorégraphie de services Orchestration vs Chorégraphie : Synthèse 2 PLAN
  • 3. Composition de services Orchestration de services Chorégraphie de services Orchestration vs Chorégraphie : Synthèse 3 PLAN
  • 4. Problématique SOA : 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 : 1.  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 2.  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 3.  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 4 Composition de Services Web
  • 5. Problématique Solution 1 : L’utilisateur se rend sur chaque site web des administrations 5 Composition de Services Web
  • 6. Problématique Solution 2 : L’utilisateur n’utilise que le site web de l’école 6 Composition de Services Web
  • 7. Définition Implémentation d’une application (offerte comme service) dont la logique implique l’invocation d’opérations offertes par d’autres services. Le nouveau service est appelé service composite 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 : Forme plus légère de composition Pour les applications web Implique l'intégration dans un site web de contenus provenant d'autres sites 7 Composition de Services Web
  • 8. Besoins de la Composition Capacité d’invoquer les services d’une manière asynchrone Gestion des exceptions et de l’intégrité transactionnelle 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 Orchestration Chorégraphie 8 Composition de Services Web
  • 9. Composition de services Orchestration de services Chorégraphie de services Orchestration vs Chorégraphie : Synthèse 9 PLAN
  • 10. Définition 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 : 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 Orchestration de Services
  • 11. Standards d’Orchestration BPMN (Business Process Modeling Notation) 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) Code qui exécute la séquence Exprimé en XML Utilise WSDL à deux niveaux : 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 Orchestration de Services
  • 12. Limites de l’Orchestration Approche centralisée autour du moteur de composition En cas de panne, plus de composition Schéma de composition statique En cas de changement dans les besoins, le schéma devient invalide 12 Orchestration 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 13 Orchestration de Services
  • 14. Composition de services Orchestration de services Chorégraphie de services Orchestration vs Chorégraphie : Synthèse 14 PLAN
  • 15. Définition et Objectif Dédiée Aux processus complexes ayant plusieurs parties qui interagissent 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: Basée sur les messages Basée sur les composants fonctionnels 15 Chorégraphie de Services
  • 16. 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 standard WS-CDL (Web Service Choregraphy Definition Language) Souvent utilisé pour les applications B2B (entre entreprises) 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) 16 Chorégraphie de Services
  • 17. 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 : Quelles fonctionnalités ce composant a besoin de faire? Quels rôles peuvent réaliser quels besoins? Qu’est ce qui peut activer un besoin? Comment un besoin peut-il être considéré comme réalisé? Ressemblance avec les systèmes à base d’agents Exemple d’implémentation: BPEL4Chor 17 Chorégraphie de Services
  • 18. Standards de la Chorégraphie WS-CDL (Web Services Choreography Description Language) Succède à WSCI (Web Services Choreography Interface) Langage de description en XML Décrit les messages qui sont impliqués dans l’échange collaboratif entre services Ne définit pas de processus métier exécutable (contrairement à BPEL) Un seul document WS-CDL spécifie la contribution d’un partenaire à l’échange de messages. Contient un ensemble d’interactions, représentant les échanges de messages entre parties 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 Chorégraphie de Services
  • 19. Limites de la Chorégraphie Collaborations et partenaires statiques Si les besoins ou partenaires changent, les collaborations deviennent impossibles Pas de langage pour exprimer les besoins Les travaux existants proposent une chorégraphie statique 19 Chorégraphie 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 est plus facile Les représentations graphiques peuvent être dérivées des processus è la forme succède à la fonction 20 Chorégraphie de Services
  • 21. Composition de services Orchestration de services Chorégraphie de services Orchestration vs Chorégraphie : Synthèse 21 PLAN
  • 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. 22 Synthèse
  • 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) 23 Synthèse
  • 24. Orchestration vs. Chorégraphie (3/3) 24 Synthèse Orchestration Chorégraphie
  • 25. Scénarios d’Utilisation Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25 Synthèse Orchestration Chorégraphie •  Quand on a besoin de produits à la demande, car c’est l’approche implémentée par la plupart des produits •  Quand les processus peuvent s’étendre à un grand nombre d’étapes •  Pour les services composés •  Où le détail d’un processus doit rester secret pour les autres partenaires du processus (B2B par exemple) •  Pour les processus relativement statiques •  Où les différents partenaires d’un processus ont besoin de leurs propres personnalisation du processus •  Où une définition graphique des processus est nécessaire •  Où les processus sont hautement dynamiques ou basés sur un objectif
  • 26. Cours Robert Ma, Web Service Composition, 2007 Articles de Recherche A. ALBRESHNE, P. FUHRER, J. PASQUIER, Web Services Orchestration and Composition, Case Study of Web services Composition, September 2009 Mike Rosen, BPM and SOA : Orchestration or Choreography, Avril 2008 26 Sources