Modèle des processus métiers (bp)

De Wiki1000

Sommaire

Le modèle de processus métier

Vue simplifiée du modèle

image107.png

Les différentes entités du modèle de processus

Les serveurs

Les serveurs sont des entités qui hébergent les machines. La fonction des serveurs est de fournir des informations stables d’adressage (serveur, services…) aux machines.

Les machines

Les machines sont les entités qui exécutent les processus métiers.

Une machine maintient :

  • une liste de points d’écoute des évènements initiaux des processus,
  • une liste d’instances de processus en cours d’exécution,
  • une liste d’évènements métiers susceptibles d’être traités.

Les processus métiers

Les entités Processus Métiers contiennent la description du processus métier. Un processus métier est identifié par son nom et sa version. Il est constitué d’un ensemble d’activités et d’évènements reliés par des séquances.

Un processus métier doit contenir un et un seul évènement initial et peut contenir un ou plusieurs évènements finaux.

Les catégories de processus métiers

Les catégories de processus métiers servent à classer les processus métiers. Elles sont arborescentes et un processus métier peut être rattaché à zéro ou à une catégorie.

L’exécution d’un processus métier

Un processus métier est exécuté en étant placé dans une machine.

Une copie du processus métier est alors créée et maintenue dans la machine. Cette copie est conservée tant que des instances sont en cours d’exécution ou que de nouvelles instances sont susceptibles d’être créées.

Comme l’exécution utilise une copie du processus métier, les modifications apportées ultérieurement au processus métier ne sont pas prises en compte dans la version en cours d’exécution.

Pour prendre en compte les modifications d’un processus métier en cours d’exécution, il faut :

  • soit attendre que toutes les instances en cours soient terminées pour arrêter le processus métier et le recharger,
  • soit changer la version du PM et exécuter la nouvelle version. Dans ce cas, plusieurs versions du processus métier s’exécuteront simultanément.

Les instances de processus métiers

L’exécution d’un processus métier crée des instances de ce processus. A un instant donné, il peut exister aucune, une ou plusieurs instances de ce processus.

Une instance de processus métier a un état qui évolue entre l’état initial du processus métier et un des états finaux.

Les activités

Les activités sont les tâches élémentaires réalisées par un processus métier.

Une activité peut avoir deux types de résultat :

  • OK
La ou les séquences Succès seont exécutées.
  • NOK
La ou les séquence Echec seront exécutées.

Les évènements

Les évènements sont des activités particulières qui permettent à un processus métier d’attendre qu’une condition soit remplie.

Trois types d’évènements sont disponibles :

  • les évènements initiaux :
Un processus métier doit contenir un seul évènement initial. L’évènement initial attend qu’une condition soit remplie pour créer une instance de processus métier.
  • les évènements finaux :
Un processus métier doit contenir au moins un évènement final. Lorsque l’état d’une instance atteint un évènement final, l’instance est terminée.
  • les évènements intermédiaires :
Ils sont utilisés à l’intérieur d’un processus métier pour attendre qu’une condition soit remplie.

Les gestionnaires d’exception

Les gestionnaires sont des activités particulières permettant de réagir de façon globale à des situations inattendues.

Les séquences entre évènements et activités

Les activités et les évènements sont en relation par des séquences, des liens, qui indiquent l’enchainement entre ces éléments, c'est-à-dire la façon dont l’état d’une instance peut changer.

Trois types de séquences sont disponibles:

  • Séquence Succès
enchainement si l’exécution de l’activité est un succès,
  • Séquence Echec
enchainement si l’exécution de l’activité est un échec,
  • Séquence TimeOut
enchainement si l’exécution de l’activité ne s’est pas réalisée.

Les automates à états finis

Les automates à états finis ne sont pas visibles de l’utilisateur ou du concepteur de processus métiers mais il est utile de comprendre leur fonctionnement pour la compréhension du système.

Un processus métier est traduit en description d’automates à états finis:

  • chaque élément du processus métier, c’est-à-dire activité ou évènement, correspond à un état de l’automate,
  • chaque séquence entre deux éléments correspond à une transition entre les deux états.

Lorsqu’une instance de processus métier est créée, un automate correspondant est créé dans l’état initial du processus métier. L’automate évolue ensuite suivant l’apparition d’évènement internes élémentaires générés par les activités.

Ces évènements élémentaires sont générés par l’exécution des activités et sont définis ainsi :

  • EVN_OK
Une activité génère un évènement OK lorsque l’exécution de l’activité est un succès. La machine passe dans l’état défini par la transition Etat courant / Séquence OK.
  • EVN_NOK
Une activité génère un évènement NOK lorsque l’exécution de l’activité est un échec. La machine passe dans l’état défini par la transition Etat courant / Séquence NOK.
  • EVN_WAIT
Une activité génère un évènement WAIT lorsque l’exécution n’a pas eut lieu. La machine reste dans l’état courant.
  • EVN_TOUT
Cet évènement est utilisé de façon interne pour indiquer un Time out.
  • EVN_HALT
Cet évènement est utilisé de façon interne pour interrompre une instance.

Les branches

Généralement l’état suivant l’exécution d’une activité est unique. Mais si l’activité dispose de plusieurs séquences sortantes vers plusieurs éléments différents, il est possible d’avoir plusieurs états suivant le nombre d’éléments.

Dans ce cas la machine crée une ou plusieurs branches. Une branche est une restriction du processus métier qui est exécutée en parallèle avec la branche principale. La branche principale est la branche correspondant à la première séquence sortante.

Une instance de processus métier ne peut se terminer que si toutes ses branches sont terminées.

Les branches peuvent être synchronisées, c’est-à-dire attendre que toutes les branches rejoignent un état particulier.

Les attributs et paramètres des processus

Les instances des processus métiers maintiennent une liste d’attributs au cours de la vie de l’instance. Ces attributs peuvent être manipulés par les activités du processus métier et sont finalement archivés dans le journal.

  • Un attribut est défini dans les propriétés du processus. Il peut être manipulé lors de la conception du processus.
  • Un paramètre est ajouté lors de l’exécution d’une instance. Il n’est pas défini lors de la conception du processus.

Un paramètre est défini par deux identifiants, un préfixe et un nom ; le préfixe n’est pas obligatoire, il sert généralement à indiqué la source du paramètre.

Valeurs des paramètres et attributs

Pour accéder aux attributs et paramètres dans le code d’une activité :

nom_attribut
nom_paramètre_sans_préfix
Get(nom)
Get(prefix'''.'''nom)
GetParameter(prefix, nom_paramètre)

Pour définir un attribut ou un paramètre dans le code d’une activité :

nom_paramètre_sans_préfix := valeur
Set(nom, valeur)
Set(prefix'''.'''nom, valeur)
SetParameter(prefix, nom, valeur)

Les valeurs des attributs ou des paramètres peuvent aussi être substituées dans le paramétrage des activités. Utilisez pour cela une notation entre crochets [ ]. Le contenu entre crochets est une expression qui sera évaluée lors de l’exécution de l’activité.

Exemple :

Pour référencer la valeur d'un attribut de l'instance :

image108.png

Pour référencer la valeur d'un paramètre de l'instance :

image108b.png

Voir aussi :

L’instance métier d’une instance de processus

Une instance de processus métier peut être rattachée à une instance d’un objet métier. Dans ce cas cet objet métier peut directement être manipulé dans le code des activités de l’instance.

Lorsque l’évènement initial du processus métier est un évènement métier déclenché par un objet métier, alors ce rattachement est automatique et implicite.

Les messages émis par les instances de processus

Les activités peuvent émettre des messages. Ceux ci sont collectés par la machine et sauvegardés dans le journal.

La fonction principale de ces messages est la mise au point et le suivi du cheminement des instances.

Le journal d’exécution

Le journal d’exécution garde trace de l’exécution des instances des processus métiers.

L’enregistrement dans le journal est réalisé lorsque l’instance est terminée.

Info-20px.png Note : Tant que l'instance n'est pas terminée il ni a pas de trace dans le journal.

Les évènements métiers

Les évènements métiers sont des objets d’une classe de la base de données Master. Ils permettent au processus métier de réagir à des changements d’états d’objets des applications métiers.

Processus Métiers (bp)Développement DSM

Outils personnels