Vue d'ensemble de Windows Workflow

Cette rubrique s'applique à Windows Workflow Foundation 4.

Un workflow est un jeu d'unités élémentaires appelé activités, stocké comme un modèle qui décrit 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 utilise le modèle du début jusqu'à la fin 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, les workflows 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).

Dd489465.44c79d1d-178b-4487-87ed-3e33015a3842(fr-fr,VS.100).gif

Interaction entre composants de workflow

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

Interaction de workflow

Dans le diagramme précédent, la méthode Invoke de la 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 à la place à l'aide de Run. 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 :

  • Une activité Sequence qui contient une activité WriteLine enfant. Une Variable de l'activité parente est liée à un InArgument de l'activité enfant. Pour plus d'informations sur le sujet suivant les variables, les arguments et les liaisons, consultez Variables et arguments.

  • Une activité personnalisée appelée ReadLine. Un OutArgument de l'activité ReadLine est retourné à la méthode Invoke appelante.

  • Une activité personnalisée qui dérive de la classe abstraite CodeActivity. Le CodeActivity peut accéder aux fonctionnalités d'exécution (telles que le suivi et les propriétés) à l'aide du CodeActivityContext qui est disponible en tant que paramètre de la méthode Execute. Pour plus d'informations sur le sujet suivant ces fonctionnalités d'exécution, consultez Suivi et traçage de workflow et Propriétés d'exécution de workflow.

Voir aussi

Autres ressources

BizTalk Server 2006 ou WF ? Choix de l'outil de workflow approprié pour votre projet