Moteur de Workflow
TobFlow possède son propre moteur de workflow inspiré par une grande expérience des créateurs dans les processus métiers.
Ce moteur gère les flux d'activité entre les acteurs qui travaillent sur un même objet (voir modélisation) et peut travailler avec plusieurs versions différentes de workflow. Associé au modèle, le moteur fourni un réel outil de traçabilité de la vie des objets.
TobFlow interprète des activités et des transitions issues du modèle. Ci-dessous, un workflow qui présente les principaux éléments présents dans le moteur.
Il y a donc plusieurs types d'activité :
- Start : toujours utilisé pour démarrer un workflow.
- Finish : toujours utilisé pour terminer un workflow
- Interactive : utilisé pour les activités intermédiaires.
- WFProcess : contient un sous-processus (subflow) indépendant.
- SFProcess : contient un sous-processus (subflow) liée. Il y a normalement toujours un « Join » associé.
-
Join : attend que plusieurs activités/subflows se terminent.
Le créateur du modèle peut également préciser sur chaque activité de nombreux paramètres : la durée maximale, les personnes assigné à cette activité ...
Et 3 types de Transitions :
- Next : passage vers une activité suivante.
- Back : retour vers une activité précédente.
-
Creation : associé à une activité contenant un subflow.
Pour chaque transition, le moteur assigne un nouvel état (State) défini dans le modèle. Ce qui rend possible la définition de règles en fonction de l'état dans lequel se trouve le worflow. C'est grâce à cette fonctionnalité qu'un champ devient éditable ou non.
Le créateur du modèle a aussi la possibilité de créer un script (souvent en python) qui se déclenchera au moment d'une transition. TobFlow offre d'ailleurs une petite API pour manipuler les composants du modèle.