2

Plan
1. Introduction
2. BPEL, c'est quoi ?

3. BPEL, quelle utilité ?
4. BPEL par l’exemple : HelloWorld
5. BPEL : part...
3

PROBLÉMATIQUE : SCÉNARIO
 Réservation billet d’avion
1.

Consulter la liste des vols (Recherche).

2.

Choisir le vol ...
4

PROBLÉMATIQUE : SCÉNARIO

 Location d’une voiture
1.

Consulter le site web d’une agence de location

2.

Choisir la v...
5

Problématique : Solution 1

Site web 1

Site web 2

Site web 3

SI compagnie
aérien

SI hôtel

SI agence de location
6

Problématique : Solution 2
1

SI compagnie
aérien

2
SI hôtel

3
Moteur d’orchestration

SI agence de location
7

BPEL, c'est quoi ?
Business Process Execution Language (ou BPEL, prononcé
« bipeul », ou « bipèl ») est un langage de p...
8

Problématique
 Processus métiers sont de plus en plus complexes
 Applications multiples à intégrer

 Fort besoin de ...
BPEL, c'est quoi ?

9


Syntaxe basée sur le format XML



Standard OASIS en V2.0



Fondés sur des concepts proches

...
10

BPEL, QUELLE UTILITÉ ?


Processus métiers


Requête / Réponse



Modelé de données



Activités et taches



Sou...
11

BPEL, QUELLE UTILITÉ ?(EXEMPLE)
App.Assistance

Amine

Processus BPEL pour assistance technique
Reception
Requête

Dét...
BPEL par l’exemple : HelloWorld

12


Le processus BPEL est décrit par le Service Web suivant:


Une opération makeHello...
13

BPEL par l’exemple : HelloWorld
14

Génération des fichiers et initialisation
des outils BPEL
15

BPEL par l’exemple : HelloWorld

Gestion
des fichiers
du projet

Editeur
Graphique

Palette des
fonctionnalité
s BPEL
16

Edition du BPEL en mode « texte »

Une relation
de type
partenaire
est définie

2 variables
sont définies

3 activités...
17

BPEL par l’exemple : HelloWorld

définion de
service,Binding
type et d’adresse
PortType pour
exécuter le
service
Hello...
18

BPEL par l’exemple : HelloWorld

Pour permettre à
l'ODE Apache de
connaître vos
déclarations ainsi
que vos designs. Vo...
19

BPEL par l’exemple : HelloWorld
20

BPEL par l’exemple : HelloWorld
Si on veut retourner la chaine
« HelloWord»+input.
Quelle est la modification à
apport...
21

BPEL par l’exemple : HelloWorld
22

BPEL par l’exemple : HelloWorld

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

23


la partie statique d’un processus est définie par un
document WSDL



Le document WSDL perm...
BPEL : partie dynamique

24



La partie dynamique du processus est décrite par le
fichier BPEL



Ce document BPEL perm...
25

BPEL : partie dynamique

Orchestration  vue locale à un processus
Description de la logique d’exécution des services ...
26

Activités BPEL de base (1/3)
27

Activités BPEL de base (2/3)
28

Activités BPEL
Partner Links

29


Du point de vue des clients le processus BPEL est un
Service Web

Deux façons d’interagir entre un pr...
30

Partner Links

écifie le rôle du processus BPEL

spécifie le rôle du
partenaire

Description du
lien de
partenaire lié...
Variables

31







BPEL définit la notion de variables qui permet de
manipuler les messages des interactions entre le...
32

Variables
 Exemple : Définition de variables dans un BPEL

Variables décrites dans le fichier BPEL

Messages décrits ...
Activité : Receive

33






L’activité Receive est utilisée pour la mise en attente du
processus tant qu’un message n’...
34

Activité : Receive
 Exemple : Mise en place de l’activité Receive

Des outils simplifient l’édition d’une activité Re...
Activité : Reply

35






L’activité Reply permet d’envoyer une réponse au message
envoyé à l’activité Receive
Le coup...
36

Activité : Reply
 Exemple : Mise en place de l’activité Reply

Des outils simplifient l’édition d’une activité Reply
Activité :Assign

37











L’activité Assign peut être utilisée pour copier des données
d’une variable vers une...
38

Activité : Assign
 Exemple : Mise en place de l’activité Assign

Des outils simplifient l’édition d’une activité Assi...
Activité :Invoke

39






L’activité Invoke est utilisée pour déclencher l’appel à une
opération sur un portType défin...
40

Activité : Invoke

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

Conclusion
Processus BPEL en mode Synchrone et asynchrone
Gestion transactionnelle

Activités complexes (scope, link…)...
42

Des questions?
43

Ressources
 http://searchsoa.techtarget.com/definition/BPEL
 https://www.oasis-open.org

 http://www.eclipse.org/ga...
Prochain SlideShare
Chargement dans…5
×

Presentation bpel

2 325 vues

Publié le

Business Process Execution Language (ou BPEL, prononcé « bipeul », ou « bipèl »), est un langage de programmation destiné à l'exécution des procédures d'entreprise. Le BPEL est issu des langages WSFL (Web Services Flow Language) et XLANG, et est dérivé du XML.

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 325
Sur SlideShare
0
Issues des intégrations
0
Intégrations
15
Actions
Partages
0
Téléchargements
186
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Presentation bpel

  1. 1. 2 Plan 1. Introduction 2. BPEL, c'est quoi ? 3. BPEL, quelle utilité ? 4. BPEL par l’exemple : HelloWorld 5. BPEL : partie statique et dynamique 6. Activités BPEL 7. Conclusion
  2. 2. 3 PROBLÉMATIQUE : SCÉNARIO  Réservation billet d’avion 1. Consulter la liste des vols (Recherche). 2. Choisir le vol que vous souhaitez. 3. Réserver le billet d’avion. 4. Paiement en ligne du billet.  Chercher un hôtel pour le séjour. 1. Faire une recherche sur les hôtels, 2. Choisir l’hôtel que vous souhaitez. 3. Faire une réservation du nombre des jours. 4. Paiement d’une partie de montant en ligne.
  3. 3. 4 PROBLÉMATIQUE : SCÉNARIO  Location d’une voiture 1. Consulter le site web d’une agence de location 2. Choisir la voiture souhaitée 3. Réserver cette voiture pour la période souhaitée. 4. Paiement en ligne d’une somme du montant.
  4. 4. 5 Problématique : Solution 1 Site web 1 Site web 2 Site web 3 SI compagnie aérien SI hôtel SI agence de location
  5. 5. 6 Problématique : Solution 2 1 SI compagnie aérien 2 SI hôtel 3 Moteur d’orchestration SI agence de location
  6. 6. 7 BPEL, c'est quoi ? Business Process Execution Language (ou BPEL, prononcé « bipeul », ou « bipèl ») est un langage de programmation destiné à l'exécution des procédures d'entreprise. Procédures d'effectuer (Workflow). d'entreprise : est la une activité ou un manière spécifiée processus métiers  Le processus représente le Quoi ?  La procédure représente le Qui fait Quoi ? Où ? Quand ? Comment ? Combien ? Et Pourquoi
  7. 7. 8 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  Partenaires peuvent évoluer  Intégration de nouveaux processus
  8. 8. BPEL, c'est quoi ? 9  Syntaxe basée sur le format XML  Standard OASIS en V2.0  Fondés sur des concepts proches   Échanges des messages, modification des messages   Activités, opérations, appels de services Gestion des erreurs, événements Outillés  Éditeurs graphiques  Moteur d’exécution
  9. 9. 10 BPEL, QUELLE UTILITÉ ?  Processus métiers  Requête / Réponse  Modelé de données  Activités et taches  Sous-processus / Services  Processus métier = Processus BPEL  Processus BPEL = Web Service
  10. 10. 11 BPEL, QUELLE UTILITÉ ?(EXEMPLE) App.Assistance Amine Processus BPEL pour assistance technique Reception Requête Détails Requête Tâche utilisateur Workflow humaine Assigner la tâche Khalid Réception Reponse Vérifier résultat Email Notifier le client FIN Ali
  11. 11. BPEL par l’exemple : HelloWorld 12  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: 1. Récupération du message envoyé par le client (chaîne de caractères) 2. Transformation du message en ajoutant le texte HelloWorld 3. Retourner le nouveau message au client 12
  12. 12. 13 BPEL par l’exemple : HelloWorld
  13. 13. 14 Génération des fichiers et initialisation des outils BPEL
  14. 14. 15 BPEL par l’exemple : HelloWorld Gestion des fichiers du projet Editeur Graphique Palette des fonctionnalité s BPEL
  15. 15. 16 Edition du BPEL en mode « texte » Une relation de type partenaire est définie 2 variables sont définies 3 activités déclanchées en séquence
  16. 16. 17 BPEL par l’exemple : HelloWorld définion de service,Binding type et d’adresse PortType pour exécuter le service HelloWorld
  17. 17. 18 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
  18. 18. 19 BPEL par l’exemple : HelloWorld
  19. 19. 20 BPEL par l’exemple : HelloWorld Si on veut retourner la chaine « HelloWord»+input. Quelle est la modification à apporter ?
  20. 20. 21 BPEL par l’exemple : HelloWorld
  21. 21. 22 BPEL par l’exemple : HelloWorld Le processus BPEL est décrit par un WSDL et est accessible par un client Service Web
  22. 22. BPEL : partie statique 23  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
  23. 23. BPEL : partie dynamique 24  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
  24. 24. 25 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
  25. 25. 26 Activités BPEL de base (1/3)
  26. 26. 27 Activités BPEL de base (2/3)
  27. 27. 28 Activités BPEL
  28. 28. Partner Links 29  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. 29. 30 Partner Links écifie le rôle du processus BPEL spécifie le rôle du partenaire Description du lien de partenaire lié à l’interaction entre le client et le processus Description du lien de partenaire lié à l’interaction entre le processus et le Service Web PingPong
  30. 30. Variables 31    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 suivants  name : nom de la variable  type : typée via un type XML Schema par exemple ou  messageType : typée via un message
  31. 31. 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 BPEL –Orchestration de Web Services Messages décrits dans le fichier WSDL du Service Web
  32. 32. Activité : Receive 33    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     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
  33. 33. 34 Activité : Receive  Exemple : Mise en place de l’activité Receive Des outils simplifient l’édition d’une activité Receive
  34. 34. Activité : Reply 35    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 operation : identifiant de l’opération que le processus a implémentée variable : message contenant le message à retourner
  35. 35. 36 Activité : Reply  Exemple : Mise en place de l’activité Reply Des outils simplifient l’édition d’une activité Reply
  36. 36. Activité :Assign 37       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 Structure XML de la balise <assign>
  37. 37. 38 Activité : Assign  Exemple : Mise en place de l’activité Assign Des outils simplifient l’édition d’une activité Assign
  38. 38. Activité :Invoke 39    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>  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
  39. 39. 40 Activité : Invoke Des outils simplifient l’édition d’une activité Invoke
  40. 40. 41 Conclusion Processus BPEL en mode Synchrone et asynchrone Gestion transactionnelle Activités complexes (scope, link…) Gestion des erreurs Journalisation et alertes
  41. 41. 42 Des questions?
  42. 42. 43 Ressources  http://searchsoa.techtarget.com/definition/BPEL  https://www.oasis-open.org  http://www.eclipse.org/ganymede/  http://ode.apache.org/  Oracle. BPEL and Oracle BPEL Process Manager FAQ.

×