index
SOA :BPML TO BPEL
spagic
BPMN et BPEL
Le Business Process Modeling Notation (BPMN) est une notation graphique standardisée pour modéliser des procédures d'entreprise dans un workflow.
Business Process Execution Language (BPEL), est un langage de description des procédures d'entreprise qui est executable.
Le passage du modèle à l'éxécution necessite un certain nombre d'outils.
Spagik est une suite de logiciel (sous licence GNU LGPL), basé sur eclipse, intégrant des logiciels Libres(Eclipse,SOA Tools Platform Projet - STP -, BABEL) , permettant de générer un fichier BPEL à parti d'un fichier BPMN.
Télécharger spagik
Il y a 2 possibilités: Soit intégrer un plugin, soit télécharger un Eclipse pré-configurer.
J'ai choisi la deuxièmme possibilité.
Il y a la un "live tutorial" très bien fait. C'est en partie ce tutorial que nous allons reprendre ici.
Créer un nouveau projet spagik
File>new>Project ... > Spagik 2.0>spagik project
Remplir le wizard.
On peut observer qu'un certain nombre de sous-directory tous vide ont été créés à l'intérieur du directory projet "HelloWorld".
Créer un nouveau shéma BPMN
Dans le répertoire "Integration Process" click droit: other>other>bpmn diagram
Cela génère 2 fichers , par exemple: HelloWorld.bpm et HelloWorld.bpmn_diagram
Editer le diagramme et composer un diagramme comme celuis de la figure ci-dessous.
Choisir un Runtime
TableProperties>Technologies>BPEL Runtime
Séléctionner la combobox ne suffit pas! Il faut clicker sur le bouton "Bind to Runtime"
Associer les services
Visualiser la table "Intermédiate Model"
Remarque : Si elle n'est pas visible: Window>Show View>Other>Intermediate Model
Associer a chaque Activité le service correspondant:
Par exemple : Sélectionner "BPEL receive", "drag-and-drop" sur l'activité "start" du diagramme BPMN. Il apparait un menu contextuel "Attach Service (Start Service) with Binding (BPEL-Receive) on Empty Start Event".
Liste des associations à faire :
- BPEL Receive ----- Start
- BPEL Assign ------- Hello
- BPEL Reply -------- End
Configurer les properties
- Sélectionner une Activité (Start)
- Afficher le panneau properties > IM-Model
Il faut bien comprendre comment ca marche, et que les properties sont associées au noeud sélectioné.
Il faut modifier les valeurs des properties de "Hello". Voir ci-dessous les valeurs à mettre.
Générer le modèle intermédiare
Selectionner HelloWorld.bpm click droit> BPMN For Intermediate Model > Export BPMN to IntermediateModel
Un fichier Helloworld.in a été créé.
Générer le BPEL
Séléctionner HelloWorld.in click droit >Intermediate Model > Generate BPEL Model
Faire un refresh du projet (F5).
Observez les fichiers générés ( le .bpel et .wsdl)
Vérifier le fichier BPEL
Editer le fichier BPEL avec l'editeur xml.
Editer le fichier BPEL avec le "Business Process Editor".Selectionner un élément et regarder ses propriétés .
générer les fichiers wsdl
Pour déployer une application BPEL dans ODE, il faut avoir un fichier wsdl qui défini l'ensemble du Web-Service, y compris son URL.
Click droit sur le fichier .bpel > deploy in ServiceMix
Il faut rentrer l'url de déploiement, par exemple http://localhost:8080/ode/processes/myFirstAppli
2 fichiers wsdl sont alors générés:
- Un premier hello.wsdl
- Un deuxiemme helloWrapped.wsdl
Editez les et regardez les différences. L'un comprend les définitions des services.