SlideShare une entreprise Scribd logo
1  sur  44
Business Process Execution Language :
Orchestrer les Services Web

Réalisé par :
Mr. ELABED Bilel

ISIMS
Plan
Problématique, Présentation BPEL
BPEL par l’exemple : HelloWorld
BPEL parties statique et dynamique

BPEL par l’exemple : HelloWorld2
Partener Links,Variables,Activities..

2

BPEL – Orchestration de Web Services
Problématique : Scénario
Inscription d’un étudiant à une école







Inscription à l’école (nom, adresse, …)
Payement des frais d’inscription (auprès des services
d’une banque)
Attribution d’un numéro d’étudiant

Chercher un logement au CROUS








3

Inscription à partir du numéro d’étudiant
Choisir son type de logement
Payement des frais d’hébergement
Attribution d’un numéro CROUS

BPEL – Orchestration de Web Services
Problématique : Scénario
S’abonner au transport de bus







4

Sélectionner la ligne entre l’école et le logement
Choisir la réduction proposée en justifiant du numéro
d’étudiant et du numéro CROUS
Inscription et payement

BPEL – Orchestration de Web Services
Problématique : Solution 1

5

BPEL – Orchestration de Web Services
Problématique : Solution 2

6

BPEL – Orchestration de Web Services
Problématique
Processus métiers sont de plus en plus complexes







Applications multiples à intégrer
Fort besoin de paralléliser les processus
Partenaires à intégrer sont nombreux

Hétérogénéité des langages due aux plateformes de
développement







Java
.NET
PHP

Fort besoin d’évolution des processus






7

Partenaires peuvent évoluer
Intégration de nouveaux processus
BPEL – Orchestration de Web Services
Présentation : WS-BPEL
Langage de processus métiers (Workflow)
Fondés sur des concepts proches








Activités, opérations, appels de services
Echanges des messages, modification des messages
Gestion des erreurs, événements

Syntaxe basée sur le format XML
Outillés







8

Editeurs graphiques
Moteur d’exécution

BPEL – Orchestration de Web Services
Présentation : WS-BPEL
Son origine est issu des langages WSFL et XLANG
Standard OASIS en V2.0
Basé sur les standards du Services Web étendus
(WSDL)
Syntaxe basée sur XML
Langage graphique
Fournit les opérateurs classiques d’un langage de
programmation (séquence, parallèle, boucle, …)
Gestion des erreurs










9

BPEL – Orchestration de Web Services
Pour faire du BPEL : Outils








Deux catégories d’outils sont à distinguer
Editeur graphique de processus BPEL
Moteur BPEL intégré dans la majorité des serveurs
d’application
Les éditeurs graphiques sont généralement
intégrables
dans
les
environnements
de
développement
(Eclipse,
Netbeans,
Visual
Studio, …)
Nous utiliserons une solution libre basée sur le
moteur Apache Orchestration Director Engine(ODE)
et le module graphique BPEL Designer fourni par
Eclipse
10

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld









Le processus BPEL est décrit par le Service Web
suivant:
Une opération makeHello qui prend en paramètre
une chaîne de caractère et retourne une chaîne de
caractère
Le processus BPEL traite le Workflow suivant:
Récupération du message envoyé par le client
(chaîne de caractères)
Transformation du message en ajoutant le texte
HelloWorld
Retourner le nouveau message au client
11

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld

12

BPEL – Orchestration de Web Services
Génération des fichiers et initialisation des
outils BPEL

13

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld

Gestion des
fichiers du
projet

Editeur
Graphique

14

Palette des
fonctionnalités
BPEL

BPEL – Orchestration de Web Services
Edition du BPEL en mode « texte »
Une
relation de
type
partenaire
est définie

15

2 variables
sont
définies

3 activités
déclanchée
s
BPEL – Orchestration de Web Services
en
BPEL par l’exemple : HelloWorld

définion de
service,Binding
type et d’adresse
PortType pour
exécuter le service
HelloWorld
16

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld

Pour permettre à l'ODE
Apache de connaître
vos déclarations ainsi
que vos designs. Vous
devez ajouter un
descripteur
Deploy.xml

17

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld

18

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld
Si on veut retourner la
chaine «
HelloWord»+input.
Quelle est la modification à
apporter ?

19

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld

20

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld

Le processus BPEL est
décrit par un WSDL et est
accessible
par un client Service Web

21

BPEL – Orchestration de Web Services
BPEL : partie statique






la partie statique d’un processus est définie par un
document WSDL
Le document WSDL permet de décrire:
Les points d’entrées et de sorties du processus
Définir les types des données (XML Schema) et les
messages utilisés pour décrire l’état du processus
Les opérations qui sont autorisées et qui permettent
d’invoquer le processus

22

BPEL – Orchestration de Web Services
BPEL : partie dynamique






La partie dynamique du processus est décrite par le
fichier BPEL
Ce document BPEL permet de décrire
L’ordonnancement des différentes sous étapes du
processus
L’invocation vers les opérations des Services Web
partenaires
La logique et l’état du processus

23

BPEL – Orchestration de Web Services
BPEL : partie dynamique
Orchestration  Vue locale à un processus
Description de la logique d’exécution des services partenaires et des messages
échangés
BPEL s’inscrit dans la description de l’orchestration

24

BPEL – Orchestration de Web Services
Activités BPEL de base (1/3)

25

BPEL – Orchestration de Web Services
Activités BPEL de base (2/3)

26

BPEL – Orchestration de Web Services
Activités BPEL d'orchestration

27

BPEL – Orchestration de Web Services
BPEL par l’exemple : HelloWorld 2







Nous étendons le processus HelloWorld précédent
en ajoutant une invocation à un Service Web externe
Le processus BPEL traite le Workflow suivant
Récupération du message envoyé par le client
(chaîne de caractères)
Invocation d’un Service Web externe (return
Session Id) avec comme paramètre la chaîne de
caractères reçue par le processus
Retourner au client le message récupéré de
l’invocation précédente

28

BPEL – Orchestration de Web Services
Partner Links



Du point de vue des clients le processus BPEL est
un Service Web
Deux façons d’interagir entre un processus BPEL et
des Web Services externes






Un processus BPEL invoque des opérations issues
d’autres Web Services (dit Partenaires) : Lien de
partenaire (PartenerLink) de type invocation
Un processus BPEL reçoit des invocations issues de
clients : Lien de partenaire (PartenerLink) de type client

Pour résumer, un lien de partenaire désigne les
relations entre des partenaires / clients et le
processus BPEL
29

BPEL – Orchestration de Web Services
Partner Links
Description
du lien de
partenaire lié
à l’interaction
entre le client
et le
processus

spécifie le rôle du processus BPEL

spécifie le
rôle du
partenaire

30

Description du lien de partenaire lié à
l’interaction entre le processus et le
Service Web PingPong

BPEL – Orchestration de Web Services
Variables





BPEL définit la notion de variables qui permet de
manipuler les messages des interactions entre les
partenaires
Une variable est définie par des types et des
messages déclarés dans un WSDL
Une variable est définie par les attributs suivant
name : nom de la variable
 type : typée via un type XML Schema par exemple
ou
 messageType : typée via un message


31

BPEL – Orchestration de Web Services
Variables


Exemple : Définition de variables dans un BPEL

Variables décrites dans le fichier BPEL

Messages décrits dans le fichier WSDL du processus

Messages décrits dans le fichier WSDL du Service Web
32

BPEL – Orchestration de Web Services
Activité : Receive





L’activité Receive est utilisée pour la mise en attente du
processus tant qu’un message n’est pas envoyé par un
partenaire
Elle est utilisée généralement pour instancier le
processus BPEL (première activité du processus)
Elle est définie par la balise <receive> dont les principaux
attributs de cette activité sont






33

name : nom de l’activité
partnerLink : lien partenaire utilisé pour identifier le partenaire
qui doit déclencher le processus
operation : identifiant de l’opération que le processus doit
implémenter
variable : où stocker le message envoyé par le partenaire

BPEL – Orchestration de Web Services
Activité : Receive


Exemple : Mise en place de l’activité Receive

34

Des outils simplifient l’édition d’une activité
Receive BPEL – Orchestration de Web Services
Activité : Reply




L’activité Reply permet d’envoyer une réponse au
message envoyé à l’activité Receive
Le couple Reply / Receive décrit une opération de
type requête / réponse
Elle est définie par la balise <reply> dont les
principaux attributs de cette activité sont



name : nom de l’activité
partnerLink : identifiant du lien partenaire utilisé pour

identifier le partenaire qui doit recevoir le message
de réponse


35

operation : identifiant de l’opération que le processus a
implémenté
variable : message contenant le message à retourner
BPEL – Orchestration de Web Services
Activité : Reply


Exemple : Mise en place de l’activité Reply

Des outils simplifient l’édition d’une activité Reply
36

BPEL – Orchestration de Web Services
Activité :Assign
L’activité Assign peut être utilisée pour copier des
données d’une variable vers une autre
 Possibilité d’utiliser des expressions complexes pour
modifier
le
contenu
des
variables
(XPath, transformations XSL)
 Elle est définie par la balise <assign> qui peut
contenir un ensemble de sous balises <copy>
 La balise <copy> contient à son tour des sous
balises
<from> et <to> pour exprimer la copie d’un contenu
vers
un autre
37
BPEL – Orchestration de Web Services
 Structure XML de la balise <assign>

Activité : Assign


Exemple : Mise en place de l’activité Assign

Des outils simplifient l’édition d’une activité Assign
38

BPEL – Orchestration de Web Services
Activité :Invoke





L’activité Invoke est utilisée pour déclencher l’appel à une
opération sur un portType défini par un lien de partenaire
L’invocation d’opération nécessite l’utilisation de
variables en entrée et en sortie pour initialiser la requête
et la réponse
Elle est définie par la balise <invoke>







39

name : nom de l’activité
partnerLink : identifiant du lien partenaire
operation : l’opération à invoquer
portType : le portType pour de l’opération
inputVariable : informations à transmettre à la requête
ouputVariable : utilisées pour récupérer les données de la
réponse
BPEL – Orchestration de Web Services
Activité : Invoke


Exemple : Mise en place de l’activité Invoke

Des outils simplifient l’édition d’une activité Invoke
40

BPEL – Orchestration de Web Services
Activities : Sequence / Flow / While /..








L’ordonnancement des activités est défini par des
activités
complexes
L’activité Sequence permet d’exprimer que des
activités soient déclenchées dans un ordre donné
L’activité Flow permet de définir qu’une ou plusieurs
activités soient déclenchées de manière concurrente
L’activité While permet de définir qu’une activité peut
être répétée plusieurs fois
L’activité Pick permet de mettre en attente une
activité jusqu’à l’arrivée d’un message
…

41

BPEL – Orchestration de Web Services
Bilan


De nombreux concepts sur BPEL restent encore à
étudier
Processus BPEL en mode Synchrone et asynchrone
Gestion des erreurs
Gestion transactionnelle

42

Activités complexes (scope, link
Journalisation et alertes

BPEL – Orchestration de Web Services
Des questions?

abed.bilel@gmail.com

43

BPEL – Orchestration de Web Services
Ressources


http://www.int-evry.fr/cours/WebServices/TP_BPEL/



http://www.eclipse.org/ganymede/



http://ode.apache.org/

44

BPEL – Orchestration de Web Services

Contenu connexe

Tendances

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
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
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
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
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web servicesmohammed addoumi
 
Les systèmes de base de donnée
Les systèmes de base de donnéeLes systèmes de base de donnée
Les systèmes de base de donnéeQuentin Apruzzese
 
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 orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 

Tendances (20)

Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
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
 
Soa
SoaSoa
Soa
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
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
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Les web services
Les web servicesLes web services
Les web services
 
BPMN,jBPM,BPEL
BPMN,jBPM,BPELBPMN,jBPM,BPEL
BPMN,jBPM,BPEL
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
Les systèmes de base de donnée
Les systèmes de base de donnéeLes systèmes de base de donnée
Les systèmes de base de donnée
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
BPMN 2.0 Fundamentals
BPMN 2.0 FundamentalsBPMN 2.0 Fundamentals
BPMN 2.0 Fundamentals
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
Bpmn tutorial
Bpmn tutorialBpmn tutorial
Bpmn tutorial
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
HTML, CSS et Javascript
HTML, CSS et JavascriptHTML, CSS et Javascript
HTML, CSS et Javascript
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 

Similaire à Business process execution language

intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
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
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhindguendouz2000
 
S2-00-HTTP.pptx
S2-00-HTTP.pptxS2-00-HTTP.pptx
S2-00-HTTP.pptxkohay75604
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introductionMoez Re
 
verification des workflow
verification des workflowverification des workflow
verification des workflowSofiane Brahim
 
Rest ful architecture
Rest ful architectureRest ful architecture
Rest ful architecturezaghir
 
Java Entreprise Edition EE est fait pour le développement des applications Cl...
Java Entreprise Edition EE est fait pour le développement des applications Cl...Java Entreprise Edition EE est fait pour le développement des applications Cl...
Java Entreprise Edition EE est fait pour le développement des applications Cl...HAMIDGARMANI
 
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
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOATugdual Grall
 
client_serveur_introductionnnnnnnnnnn.PPT
client_serveur_introductionnnnnnnnnnn.PPTclient_serveur_introductionnnnnnnnnnn.PPT
client_serveur_introductionnnnnnnnnnn.PPTradjadjouambi
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 

Similaire à Business process execution language (20)

OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Axis2 clients fr
Axis2 clients frAxis2 clients fr
Axis2 clients fr
 
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
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
Tutoriel web service
Tutoriel  web serviceTutoriel  web service
Tutoriel web service
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
S2-00-HTTP.pptx
S2-00-HTTP.pptxS2-00-HTTP.pptx
S2-00-HTTP.pptx
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 
verification des workflow
verification des workflowverification des workflow
verification des workflow
 
Rest ful architecture
Rest ful architectureRest ful architecture
Rest ful architecture
 
Java Entreprise Edition EE est fait pour le développement des applications Cl...
Java Entreprise Edition EE est fait pour le développement des applications Cl...Java Entreprise Edition EE est fait pour le développement des applications Cl...
Java Entreprise Edition EE est fait pour le développement des applications Cl...
 
ModéLisation De Workflow En Uml
ModéLisation De Workflow En UmlModéLisation De Workflow En Uml
ModéLisation De Workflow En Uml
 
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è...
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
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
 
client_serveur_introductionnnnnnnnnnn.PPT
client_serveur_introductionnnnnnnnnnn.PPTclient_serveur_introductionnnnnnnnnnn.PPT
client_serveur_introductionnnnnnnnnnn.PPT
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 

Dernier

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 

Dernier (20)

Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 

Business process execution language

  • 1. Business Process Execution Language : Orchestrer les Services Web Réalisé par : Mr. ELABED Bilel ISIMS
  • 2. Plan Problématique, Présentation BPEL BPEL par l’exemple : HelloWorld BPEL parties statique et dynamique BPEL par l’exemple : HelloWorld2 Partener Links,Variables,Activities.. 2 BPEL – Orchestration de Web Services
  • 3. Problématique : Scénario Inscription d’un étudiant à une école     Inscription à l’école (nom, adresse, …) Payement des frais d’inscription (auprès des services d’une banque) Attribution d’un numéro d’étudiant Chercher un logement au CROUS      3 Inscription à partir du numéro d’étudiant Choisir son type de logement Payement des frais d’hébergement Attribution d’un numéro CROUS BPEL – Orchestration de Web Services
  • 4. Problématique : Scénario S’abonner au transport de bus     4 Sélectionner la ligne entre l’école et le logement Choisir la réduction proposée en justifiant du numéro d’étudiant et du numéro CROUS Inscription et payement BPEL – Orchestration de Web Services
  • 5. Problématique : Solution 1 5 BPEL – Orchestration de Web Services
  • 6. Problématique : Solution 2 6 BPEL – Orchestration de Web Services
  • 7. Problématique Processus métiers sont de plus en plus complexes     Applications multiples à intégrer Fort besoin de paralléliser les processus Partenaires à intégrer sont nombreux Hétérogénéité des langages due aux plateformes de développement     Java .NET PHP Fort besoin d’évolution des processus    7 Partenaires peuvent évoluer Intégration de nouveaux processus BPEL – Orchestration de Web Services
  • 8. Présentation : WS-BPEL Langage de processus métiers (Workflow) Fondés sur des concepts proches      Activités, opérations, appels de services Echanges des messages, modification des messages Gestion des erreurs, événements Syntaxe basée sur le format XML Outillés     8 Editeurs graphiques Moteur d’exécution BPEL – Orchestration de Web Services
  • 9. Présentation : WS-BPEL Son origine est issu des langages WSFL et XLANG Standard OASIS en V2.0 Basé sur les standards du Services Web étendus (WSDL) Syntaxe basée sur XML Langage graphique Fournit les opérateurs classiques d’un langage de programmation (séquence, parallèle, boucle, …) Gestion des erreurs        9 BPEL – Orchestration de Web Services
  • 10. Pour faire du BPEL : Outils      Deux catégories d’outils sont à distinguer Editeur graphique de processus BPEL Moteur BPEL intégré dans la majorité des serveurs d’application Les éditeurs graphiques sont généralement intégrables dans les environnements de développement (Eclipse, Netbeans, Visual Studio, …) Nous utiliserons une solution libre basée sur le moteur Apache Orchestration Director Engine(ODE) et le module graphique BPEL Designer fourni par Eclipse 10 BPEL – Orchestration de Web Services
  • 11. BPEL par l’exemple : HelloWorld       Le processus BPEL est décrit par le Service Web suivant: Une opération makeHello qui prend en paramètre une chaîne de caractère et retourne une chaîne de caractère Le processus BPEL traite le Workflow suivant: Récupération du message envoyé par le client (chaîne de caractères) Transformation du message en ajoutant le texte HelloWorld Retourner le nouveau message au client 11 BPEL – Orchestration de Web Services
  • 12. BPEL par l’exemple : HelloWorld 12 BPEL – Orchestration de Web Services
  • 13. Génération des fichiers et initialisation des outils BPEL 13 BPEL – Orchestration de Web Services
  • 14. BPEL par l’exemple : HelloWorld Gestion des fichiers du projet Editeur Graphique 14 Palette des fonctionnalités BPEL BPEL – Orchestration de Web Services
  • 15. Edition du BPEL en mode « texte » Une relation de type partenaire est définie 15 2 variables sont définies 3 activités déclanchée s BPEL – Orchestration de Web Services en
  • 16. BPEL par l’exemple : HelloWorld définion de service,Binding type et d’adresse PortType pour exécuter le service HelloWorld 16 BPEL – Orchestration de Web Services
  • 17. BPEL par l’exemple : HelloWorld Pour permettre à l'ODE Apache de connaître vos déclarations ainsi que vos designs. Vous devez ajouter un descripteur Deploy.xml 17 BPEL – Orchestration de Web Services
  • 18. BPEL par l’exemple : HelloWorld 18 BPEL – Orchestration de Web Services
  • 19. BPEL par l’exemple : HelloWorld Si on veut retourner la chaine « HelloWord»+input. Quelle est la modification à apporter ? 19 BPEL – Orchestration de Web Services
  • 20. BPEL par l’exemple : HelloWorld 20 BPEL – Orchestration de Web Services
  • 21. BPEL par l’exemple : HelloWorld Le processus BPEL est décrit par un WSDL et est accessible par un client Service Web 21 BPEL – Orchestration de Web Services
  • 22. BPEL : partie statique      la partie statique d’un processus est définie par un document WSDL Le document WSDL permet de décrire: Les points d’entrées et de sorties du processus Définir les types des données (XML Schema) et les messages utilisés pour décrire l’état du processus Les opérations qui sont autorisées et qui permettent d’invoquer le processus 22 BPEL – Orchestration de Web Services
  • 23. BPEL : partie dynamique      La partie dynamique du processus est décrite par le fichier BPEL Ce document BPEL permet de décrire L’ordonnancement des différentes sous étapes du processus L’invocation vers les opérations des Services Web partenaires La logique et l’état du processus 23 BPEL – Orchestration de Web Services
  • 24. BPEL : partie dynamique Orchestration  Vue locale à un processus Description de la logique d’exécution des services partenaires et des messages échangés BPEL s’inscrit dans la description de l’orchestration 24 BPEL – Orchestration de Web Services
  • 25. Activités BPEL de base (1/3) 25 BPEL – Orchestration de Web Services
  • 26. Activités BPEL de base (2/3) 26 BPEL – Orchestration de Web Services
  • 27. Activités BPEL d'orchestration 27 BPEL – Orchestration de Web Services
  • 28. BPEL par l’exemple : HelloWorld 2      Nous étendons le processus HelloWorld précédent en ajoutant une invocation à un Service Web externe Le processus BPEL traite le Workflow suivant Récupération du message envoyé par le client (chaîne de caractères) Invocation d’un Service Web externe (return Session Id) avec comme paramètre la chaîne de caractères reçue par le processus Retourner au client le message récupéré de l’invocation précédente 28 BPEL – Orchestration de Web Services
  • 29. Partner Links   Du point de vue des clients le processus BPEL est un Service Web Deux façons d’interagir entre un processus BPEL et des Web Services externes    Un processus BPEL invoque des opérations issues d’autres Web Services (dit Partenaires) : Lien de partenaire (PartenerLink) de type invocation Un processus BPEL reçoit des invocations issues de clients : Lien de partenaire (PartenerLink) de type client Pour résumer, un lien de partenaire désigne les relations entre des partenaires / clients et le processus BPEL 29 BPEL – Orchestration de Web Services
  • 30. Partner Links Description du lien de partenaire lié à l’interaction entre le client et le processus spécifie le rôle du processus BPEL spécifie le rôle du partenaire 30 Description du lien de partenaire lié à l’interaction entre le processus et le Service Web PingPong BPEL – Orchestration de Web Services
  • 31. Variables    BPEL définit la notion de variables qui permet de manipuler les messages des interactions entre les partenaires Une variable est définie par des types et des messages déclarés dans un WSDL Une variable est définie par les attributs suivant name : nom de la variable  type : typée via un type XML Schema par exemple ou  messageType : typée via un message  31 BPEL – Orchestration de Web Services
  • 32. Variables  Exemple : Définition de variables dans un BPEL Variables décrites dans le fichier BPEL Messages décrits dans le fichier WSDL du processus Messages décrits dans le fichier WSDL du Service Web 32 BPEL – Orchestration de Web Services
  • 33. Activité : Receive    L’activité Receive est utilisée pour la mise en attente du processus tant qu’un message n’est pas envoyé par un partenaire Elle est utilisée généralement pour instancier le processus BPEL (première activité du processus) Elle est définie par la balise <receive> dont les principaux attributs de cette activité sont     33 name : nom de l’activité partnerLink : lien partenaire utilisé pour identifier le partenaire qui doit déclencher le processus operation : identifiant de l’opération que le processus doit implémenter variable : où stocker le message envoyé par le partenaire BPEL – Orchestration de Web Services
  • 34. Activité : Receive  Exemple : Mise en place de l’activité Receive 34 Des outils simplifient l’édition d’une activité Receive BPEL – Orchestration de Web Services
  • 35. Activité : Reply    L’activité Reply permet d’envoyer une réponse au message envoyé à l’activité Receive Le couple Reply / Receive décrit une opération de type requête / réponse Elle est définie par la balise <reply> dont les principaux attributs de cette activité sont   name : nom de l’activité partnerLink : identifiant du lien partenaire utilisé pour identifier le partenaire qui doit recevoir le message de réponse   35 operation : identifiant de l’opération que le processus a implémenté variable : message contenant le message à retourner BPEL – Orchestration de Web Services
  • 36. Activité : Reply  Exemple : Mise en place de l’activité Reply Des outils simplifient l’édition d’une activité Reply 36 BPEL – Orchestration de Web Services
  • 37. Activité :Assign L’activité Assign peut être utilisée pour copier des données d’une variable vers une autre  Possibilité d’utiliser des expressions complexes pour modifier le contenu des variables (XPath, transformations XSL)  Elle est définie par la balise <assign> qui peut contenir un ensemble de sous balises <copy>  La balise <copy> contient à son tour des sous balises <from> et <to> pour exprimer la copie d’un contenu vers un autre 37 BPEL – Orchestration de Web Services  Structure XML de la balise <assign> 
  • 38. Activité : Assign  Exemple : Mise en place de l’activité Assign Des outils simplifient l’édition d’une activité Assign 38 BPEL – Orchestration de Web Services
  • 39. Activité :Invoke    L’activité Invoke est utilisée pour déclencher l’appel à une opération sur un portType défini par un lien de partenaire L’invocation d’opération nécessite l’utilisation de variables en entrée et en sortie pour initialiser la requête et la réponse Elle est définie par la balise <invoke>       39 name : nom de l’activité partnerLink : identifiant du lien partenaire operation : l’opération à invoquer portType : le portType pour de l’opération inputVariable : informations à transmettre à la requête ouputVariable : utilisées pour récupérer les données de la réponse BPEL – Orchestration de Web Services
  • 40. Activité : Invoke  Exemple : Mise en place de l’activité Invoke Des outils simplifient l’édition d’une activité Invoke 40 BPEL – Orchestration de Web Services
  • 41. Activities : Sequence / Flow / While /..       L’ordonnancement des activités est défini par des activités complexes L’activité Sequence permet d’exprimer que des activités soient déclenchées dans un ordre donné L’activité Flow permet de définir qu’une ou plusieurs activités soient déclenchées de manière concurrente L’activité While permet de définir qu’une activité peut être répétée plusieurs fois L’activité Pick permet de mettre en attente une activité jusqu’à l’arrivée d’un message … 41 BPEL – Orchestration de Web Services
  • 42. Bilan  De nombreux concepts sur BPEL restent encore à étudier Processus BPEL en mode Synchrone et asynchrone Gestion des erreurs Gestion transactionnelle 42 Activités complexes (scope, link Journalisation et alertes BPEL – Orchestration de Web Services
  • 43. Des questions? abed.bilel@gmail.com 43 BPEL – Orchestration de Web Services