mardi 8 novembre 2011

BPM 11g correlation - exemple addition

Dans cet article je vais vous montrer comment mettre en oeuvre une correlation sur BPM 11g PS4 + Patchset

l'idée de l'exercice est de faire un processus BPMN effectuant une addition 2 nombres basée sur un nom d'opération. Ce nom d'opération va servir de fil conducteur dans notre corrélation, notamment pour retrouver le résultat.

Le premier message du processus est le "Start"
Ce message contient l'enveloppe XML :
Operation & nombre1
L'objet "Operation" sera utilisé pour effectuer la correlation et retrouver l'instance en cours, autrement dit l'addition en cours.

La correlation est établit à partir du lien "Correlations" dans la fenêtre ci-dessous (mode simple):

  
La correlation fonctionne comme sous BPEL Process Manager, c'est à dire que vous définissez une clé, celle-ci est valorisée en fonction du contenu XML du message. Cette clé vous permet de retrouver l'addition en cours et de poursuivre le processus.

Ci-dessous le détail en mode expert:

Dans le premier message on va indiquer au moteur des processus que la correlation est initialisée à partir de cette clé (voir ci-dessus).
Une fois cette opération effectuée, le processus continue sur un EventBasedGateway avec un Timer de fin (au cas ou vous ne souhaitez pas poursuivre l'instance donc l'addition)

Le second message attendu par le processus est la requête "message" avec le même nom d'opération (servant à la corrélation) et le second nombre pour finaliser l'addition:


 La dernière étape est la récupération du résultat de l'addition en poussant le message  "Resultat" avec le nom de l'opération:



Comment tester ce processus BPMN ?
Voici l'enchaînement des écrans:
Lancer Enterprise Manager pour démarrer les processus comme suit:


Récupération du résultat:




Pour télécharger le projet JDEV c'est ICI

Aucun commentaire: