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".
img 1

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.
img 2

Choisir un Runtime

TableProperties>Technologies>BPEL Runtime
Séléctionner la combobox ne suffit pas! Il faut clicker sur le bouton "Bind to Runtime"
img 3

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 :

img 4

Configurer les properties

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.

img 5

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)
img 6

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:

Editez les et regardez les différences. L'un comprend les définitions des services.