Vue d'ensemble de Windows Workflow

Un flux de travail est un ensemble d’unités élémentaires appelées activités, stocké comme un modèle décrivant un processus réel. Les workflows offrent un moyen de décrire l'ordre d'exécution et les relations de dépendance entre des éléments de travail de courte ou longue durée. Ce travail s'effectue à travers le modèle de démarrage à l'arrêt et les activités peuvent être exécutées par des utilisateurs ou par les fonctions système.

Moteur d'exécution de workflow

Chaque instance de workflow en cours d'exécution est créée et gérée par un moteur d'exécution in-process avec lequel le processus hôte interagit par le biais de l'un des éléments suivants :

  • Un WorkflowInvoker, qui appelle le workflow comme une méthode.

  • Un WorkflowApplication pour contrôler explicitement l'exécution d'une instance de workflow unique.

  • Un WorkflowServiceHost pour les interactions basées sur des messages dans les scénarios à plusieurs instances.

Chacune de ces classes encapsule le runtime de l'activité principale représenté en tant que ActivityInstance responsable de l'exécution de l'activité. Un domaine d'application peut comporter plusieurs objets ActivityInstance fonctionnant simultanément.

Chacun des trois objets d’interaction hôtes précédents est créé à partir d’une arborescence d’activités appelée programme de workflow. À l’aide de ces types ou d’un hôte personnalisé qui encapsule ActivityInstance, des flux de travail peuvent être exécutés à l’intérieur de n’importe quel processus Windows, notamment des applications console, des applications basées sur les formulaires, des services Windows, des sites web ASP.NET et des services Windows Communication Foundation (WCF).

Workflow components in the host process
Composants de workflow dans le processus hôte

Interaction entre composants de workflow

Le diagramme suivant montre comment les composants de workflow interagissent les uns avec les autres.

Diagram that shows how workflow components interact.

Dans le diagramme précédent, la méthode Invoke de classe WorkflowInvoker est utilisée pour appeler plusieurs instances de workflow. WorkflowInvoker est utilisé pour les workflows légers ne nécessitant pas de gestion à partir de l'hôte ; les workflows qui nécessitent d'être gérés à partir de l'hôte (tel qu'une reprise Bookmark) doivent être exécutés avec Run à la place. Il n'est pas nécessaire d'attendre qu'une instance de workflow soit terminée avant d'en appeler une autre ; le moteur de runtime prend en charge plusieurs instances de workflow simultanément. Les workflows appelés sont les suivants :

Voir aussi