Processus métiers en interaction avec le métier (bp)

De Wiki1000

Sommaire

Introduction

L’intérêt des processus métiers est de pouvoir interagir avec les applications métiers. Cela entend :

  • Etre déclenché par un évènement issu d’un objet métier,
  • Pouvoir manipuler des informations d’un objet métier,
  • Pourvoir modifier l’état d’un objet métier.

Pour réaliser un processus déclenché par un objet métier vous devez utiliser la démarche suivante :

Ensuite, vous pouvez par exmple :

Lorsque vous déclenchez un processus par un évènement métier, l’instance du processus est automatiquement liée à l’instance de l’objet métier ayant déclenché l’évènement. Vous pouvez alors manipuler cette instance dans les activités du processus à travers l’attribut « Instance ».

Exemple d’utilisation

Description du modèle et du processus métier

La classe WFClasseA possède un Code (attribut unCode) et un état (attribut unEtat).

Deux règles d’état sont définies :

  • La règle RegleEtat_unCode détecte le changement de l’attribut code.

image41.png

  • La règle RegleEtat_unEtat détecte le changement de l’attribut unEtat :

image42.png

Le processus va réaliser les opérations suivantes :

  1. Lorsque l’utilisateur modifie le code d’un objet de WFClasseA, une instance du processus est déclenchée.
  2. Cette instance modifie l’attribut Etat de l’objet correspondant à la valeur « Initial ».
  3. Le processus attend ensuite que l’attribut Etat passe à la valeur « Etat3 », changement réalisé par l’utilisateur.
  4. L’instance du processus change alors la valeur de l’attribut Etat à « Final » et se termine.

Définition du processus métier

Le processus métier correspondant est défini.

image43.png

L’évènement initial est l’évènement métier généré par la règle d’état de changement de code.

image44.png

Le changement du code d’un objet de cette classe va donc créer une instance du processus.

L’activité suivante est une activité script qui modifie la valeur de l’attribut « Etat » de l’objet.

image45.png

La classe de l’objet métier est connue par le processus. Ainsi les outils d’aide à l’édition de code fonctionnent.

image46.png

Le corps du code modifie l’attribut de l’instance dans une transaction.

image47.png

Le processus attend ensuite la modification de l’état de l’objet. Pour cela il utilise un évènement « Attente » d’Evènement métier.

image48.png

Lorsque la case « Evènement de l’instance principale » est cochée, l’évènement doit provenir de la même instance d’objet métier que celle qui a déclenchée le processus.

Sur l’onglet « Post-Condition », la condition est la suivante : l’objet métier doit être dans l’état 3.Cette condition sera testée par l’activité. Si elle n’est pas remplie, l’activité sera toujours en attente.

image49.png

Lorsque l’objet a été changé, ici par l’utilisateur, le processus enchaine l’activité suivante qui modifie de nouveau l’état de l’objet, puis se termine.

image50.png

Déroulement

Une interface utilisateur simple est utilisée pour modifier les objets. Le processus est en cours d’exécution dans une machine locale.

image51.png

La modification du code entraine la création d’une instance. Les différentes activités du processus sont exécutées jusqu'à l’attente d’un nouvel évènement métier:

image52.png

Si on rafraichit l’interface utilisateur, on constate que l’état de l‘objet a été changé.

image53.png

Passez l’objet dans l’état Etat3.

image54.png

L’instance du processus enchaîne les dernières activités puis se termine. En rafraichissant l’interface utilisateur, on constate que l’objet est dans l’état final.

image55.png

Vous remarquez dans cet exemple que :

  • La création d’un nouvel objet de la classe ne déclenche pas d’instance de processus, cela parce que les règles d’état ne sont évaluées qu’en mode modification.
  • La modification de l’objet dans un autre état que l’état 3 n’a pas d’influence sur le processus.

Base de données d’une instance de Processus Métier

Par défaut un Processus Métier n’est pas rattaché à une base de données particulière, toutefois dans certain cas il est souhaitable qu’un Processus s’exécute dans un contexte de base de données particulier.

Pour cela il est possible de définir la base de données privilégié par un Processus à deux niveaux :

  • Au niveau de la machine qui contient le processus.

image56.png

  • Au niveau du Processus lui même.

image57.png

Cette base de données privilégiée sera utilisée :

  • Pour filter les évènements métiers, seules les évènements issus de cette base de données seront pris en compte.
  • Par les activités de type Tâche métier qui possède un paramétrage de base de données : si vous ne renseignez pas la base de données au niveau de l'activité Tâche la base de données privilégiée du Processus sera utilisé.
  • Lors de la création de l’instance associé au Processus Métier si vous avez utilisez l’option permettant de créée automatiquement une instance lors du démarrage d’une instance de Processus Métier.

La priorité de prise en compte des différentes possibilités de paramètrage est la suivante :

  • La base de données définie au niveau de l'Activité.
  • La base de données définie au niveau de la Machine
  • La base de données définie au niveau du Processus.

Processus Métiers (bp)Développement DSM

Outils personnels