Flux de travail


Un workflow est un modèle d'un processus dans votre programme. Il pourrait s’agir de la progression « d’un sujet de blog depuis l’ébauche jusqu’à la révision et la publication ». Un autre exemple est lorsqu'un utilisateur soumet une série de formulaires différents pour accomplir une tâche. Il est préférable de séparer ces processus de vos modèles et doivent être définis dans les informations de configuration.

La définition d'un flux de travail comprend des lieux et des actions pour se rendre d'un endroit à un autre. Les actions sont appelées transistions. Le flux de travail doit également savoir où se trouve chaque objet dans le flux de travail. Le marking store écrit une propriété de l'objet pour mémoriser l'emplacement actuel.

Les noms propres ci-dessus sont généralement utilisés pour discuter du flux de travail et des réseaux de Petri.

Le composant Workflow prend en charge les machines à états. Une machine à états est un sous-ensemble d'un workflow dont le but est de conserver un état de votre modèle. Vous pouvez en savoir plus sur les fonctions différentes et spécifiques des machines à états dans l'article Workflows as State Machines.

Exemple

Le flux de travail le plus simple est celui ci-dessous. Il comprend deux places et une transition.

777_simple.png

Lorsqu'il est utilisé pour décrire une entreprise réelle, le flux de travail peut être plus complexe. Le flux de travail suivant décrit le processus de remplissage du programme de travail.

1485943055_74540_85131_job_application.png

Lorsque vous remplissez un poste dans cet exemple, il y a 4 à 7 étapes selon le poste demandé. Certains emplois nécessitent des tests de personnalité, des tests de logique et/ou obligent les utilisateurs à remplir des exigences formelles. D'autres non. GuardEvent Utilisé pour décider « quelle est la prochaine étape autorisée » dans une procédure spécifique.

En définissant un workflow comme celui-ci, vous pouvez avoir un aperçu de la façon dont le processus est affiché. La logique du processus ne se confond pas avec le contrôleur, la couche modèle ou la couche vue. L'ordre des étapes ne peut être modifié qu'en modifiant les « informations de configuration ».