Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Processus métier
Dr. Rim Samia Kaabi •Un processus métier décrit des interactions entre des
agents (personnes, services, organisations) et des systèmes
d’information (logiciels, sous-systèmes).
SOA: Gestion des processus métier
•Les différentes entités qui interagissent dans un processus
Composition de services web
donné sont les participants de ce processus.
1 2
Objectifs de l’approche
3 4
1
02/11/2020
5 6
7 8
2
02/11/2020
9 10
11 12
3
02/11/2020
13 14
BPEL Historique
15 16
4
02/11/2020
WS BPEL WS BPEL
• BPEL distingue 2 types de processus : Dans la plupart des cas, BPEL est utilisé comme un serveur. C'est à
dire que BPEL sert de proxy à d'autres systèmes. Dans ce cas,
– Processus abstrait l'enchainement des évènements est le suivant:
• Spécification du comportement des partenaires par • Requête du WS client, provenant soit d'un browser, soit d'un
rapport aux messages échangés autre WS.
• Le processus abstrait peut être relié à une chorégraphie • Réception de la requête par le serveur BPEL.
• La requête client est identifiée comme une nouvelle requête, et
– Processus exécutable (concret) un nouveau processus BPEL est utilisé pour servir ce client.
• Spécification de l’ordre d’exécution des activités, des • Le client continue à interagir avec le processus BPEL, faisant des
partenaires concernés, des messages échangés… requêtes, jusqu'à ce que l'interaction soit achevée.
• Moteur d’orchestration • Le processus BPEL disparaît.
17 18
• BPEL est un langage de programmation XML. Deux catégories d’outils sont à distinguer :
• Comme tous les langages de programmation, il a 23 composants - Editeur graphique de processus BPEL
de base : - Moteur BPEL intégré dans la majorité des serveurs d’application
• Des operateurs Programming logic
• Des Types de Données: XSD (« XML Shema Definition ») Les solutions BPEL proposées par les éditeurs de logiciels fournissent à
• Des Entrées/Sorties (I/O) :WSDL (« Web Services Description la fois l’éditeur et le serveur. Les éditeurs graphiques sont généralement
Language ») intégrables dans les environnements de développement (Eclipse,
Netbeans, Visual Studio, …)
19 20
5
02/11/2020
Les outils les plus connus : Inscription d’un étudiant à un institut universitaire
- OpenESB (via Glassfish 2.1) et Netbeans 6.7.1 : https://open-
esb.dev.java.net/
- Apache ODE et Eclipse BPEL Editor : http://ode.apache.org/ et
http://www.eclipse.org/bpel/
- JBoss jBPM (uniquement le moteur BPEL) :
http://www.jboss.com/products/jbpm/
- Oracle BPEL Process Manager (Weblogic + JDeveloper) :
http://www.oracle.com/technology/bpel
- Orchestra : http://orchestra.ow2.org
- IBM (Weblogic + Workshop) : BPEL for Windows Workflow
Foundation (Visual Studio et Biztalk)
21 22
23 24
6
02/11/2020
Partie statique
Un projet BPEL se compose de trois catégories de fichiers : est définie par un document WSDL qui permet de :
- les fichiers de description des processus (*.bpel) - décrire les points d’entrées et de sorties du processus
- les fichiers de description des Services Web (*.wsdl et *.xsd) - définir les types des données (XML Schema) et les messages utilisés
- les fichiers de déploiement (*.xml) dont la structure dépend pour décrire l’état du processus
fortement du moteur BPEL utilisé. - décrire les opérations qui sont autorisées et qui permettent d’invoquer
le processus
Partie dynamique
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
25 26
27 28
7
02/11/2020
29 30
31 32
8
02/11/2020
33 34
Un processus BPEL reçoit des invocations issues de clients : lien de • Pour résumer, un lien de partenaire désigne les relations entre des
partenaire (PartenerLink) de type client partenaires / clients et le processus BPEL.
• Un lien de partenaire est représenté dans le fichier BPEL par un
élément partnerLink. Il contient les attributs suivants :
- name : nom donné au partnerLink
- myRole : spécifie le rôle du processus BPEL
- partnerRole : spécifie le rôle du partenaire ou du client
- partnerLinkType : type de partnerLink défini dans la description WSDL
9
02/11/2020
37 38
Variables Variables
39 40
10
02/11/2020
Activités Activités
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 :
- 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
41 42
Activités Activités
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
- operation : identifiant de l’opération que le processus a implémenté
- variable : message contenant le message à retourner
43 44
11
02/11/2020
Activités Activités
Assign
• L’activité Assign peut être utilisée pour copier des données d’une
variable vers une autre. Il est possible d’utiliser des expressions
complexes pour modifier le contenu des variables (XPath,
transformations XSL).
• L’activité Assign est définie par la balise <assign> qui peut contenir
un ensemble de sous balises <copy> qui contient à son tour des sous
balises <from> et <to> pour exprimer la copie d’un contenu vers un
autre.
45 46
Activités Activités
Invoke
• utilisée pour déclencher l’appel à une opération sur un portType
défini par un lien de partenaire. Seules les opérations suivant le
modèle One-way et Request/Response peuvent être invoquées par
un BPEL. 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.
• L’activité Invoke est définie par la balise <invoke> et possède les
attributs suivants :
- name : nom de l’activité
- partnerLink : identifiant du lien partenaire
- operation : l’opération à invoquer
- portType : le portType pour de l’opération
47
- inputVariable : informations à transmettre à la requête 48
- ouputVariable : utilisées pour récupérer les données de la réponse
12
02/11/2020
Activités Activités
49 50
51
13