lundi 21 juin 2010

BPMN 11g - intercept process - intercepter un processus

Voici un article sur BPMN 11g qui est proposé avec la SOA Suite 11G PS2.


J'ai créé un processus qui comporte une étape de "timer" et lorsque celui-ci compte le temps restant, j'ai souhaité le stopper avec l'arrivée d'un nouvel élément sur le même processus.






Pour cela on utilise la normalisation WS-Adressing de façon à retomber sur la même instance qui à précédemment et qui a démarré mon compteur.

Pour plus de détail sur le WS-Adressing dans la Soa Suite je vous propose cet article: ICI


Pour indiquer à BPMN 11G que l'évèment du sous processus doit interomptre le processus maitre, il suffit d'indiquer dans le start2 du processus (interrupting event):

Ensuite vous déployer le processus BPMN 2.0 vers Soa Suite, et depuis un SoapUi par exemple vous appeler la première opération d'accès au processus (opération dans mon exemple) avec un WS-adressing spécifique. Puis quelques secondes après on utilise le même Web Service d'interface du SCA mais cette fois ci avec la méthode opération1 (dans mon exemple) tout en indiquant le même id WS-adressing.




Nous avons alors 2 instances de composite SCA avec le même conversation ID:


En zoomant sur le processus BPMN, celui-ci a bien été stoppé par un autre message sur la même instance, et le sous-processus à achevé le processus par d'autres étapes:




Sachez également que des actions d'interruption de processus peuvent être également réalisée sur une étape comme ci-dessous sur la tâche humaine:

Je vous propose mon projet jdev11 sur ce lien en téléchargement: ICI

Aucun commentaire: