Système de workflow
Ce document est un brouillon
Sommaire
Objectif
L'objectif de ce document est de spécifier ce qu'il est nécessaire de faire pour implémenter un 'Activity based workflow'. La base de ce système de workflow sera les réseaux de Pétri.
Description
Le workflow sera basé sur les fonctionnalités, les événements d'Ovidentia. C'est à dire que sur chaque transition d'étape on pourra soit accomplir une action (appeler une fonctionnalité) ou bien attendre sur un événement (événement d'Ovidentia).
Contrainte
- Le workflow ne devra pas être fortement couplé aux fonctionnalités d'Ovidentia, c'est dire qu'il faudra trouver une API afin qu'il puisse appeler une action ou bien répondre à un événement de manière abstraite.
- Le workflow devra être développé en PHP5 afin de pouvoir utiliser entre autre l'API de réflection (cette API permet de faire du reverse-engineering)
Entités
- Place
- Arc
- Transition
- Token
- WorkItem
Proof of concept
Dans le but de modéliser un système de workflow qui tienne la route. Cette section va regrouper quelques exemples qui permettront de mettre au point l'API. Les différents exemples doivent permettre de mettre en exergue les différents défis à relever :
- Passage de paramètres
- Plusieurs actions dans une transitions
- Comment determiner qu'une action c'est correctement déroulée pour suivre tel ou tel embranchement.
.... A compléter
Exemple N°1
Modéliser un workflow permettant de faire comme une calculatrice. Il faudra : Opérateur1, Opérateur2, Opération (+, -, *, /), Résultat.