Übersicht über Windows-Workflow
Dieses Thema gilt für Windows Workflow Foundation 4.
Bei einem Workflow handelt es sich um eine Reihe von elementaren Einheiten (so genannten Aktivitäten), die als den tatsächlichen Prozess beschreibendes Modell gespeichert sind. Mit Workflows können die Reihenfolge der Ausführung sowie abhängige Beziehungen zwischen kurz- und langfristiger Arbeit beschrieben werden. Diese Arbeit durchläuft das Modell vom Anfang bis zum Ende, und Aktivitäten werden unter Umständen von Personen oder Systemfunktionen ausgeführt.
Workflow-Laufzeitmodul
Jede ausgeführte Workflowinstanz wird von einem prozessinternen Laufzeitmodul erstellt und verwaltet, mit dem der Hostprozess durch eines der folgenden Objekte interagiert:
Ein WorkflowInvoker-Objekt, der den Workflow wie eine Methode aufruft.
Ein WorkflowApplication-Objekt für die explizite Kontrolle über die Ausführung einer einzelnen Workflowinstanz.
Ein WorkflowServiceHost-Objekt für meldungsbasierte Interaktionen in Szenarien mit mehreren Instanzen.
Jede dieser Klassen umschließt die Kernaktivitätslaufzeit, die als ActivityInstance dargestellt wird und für die Aktivitätsausführung zuständig ist. Es kann mehrere ActivityInstance-Objekte innerhalb einer Anwendungsdomäne geben, die gleichzeitig ausgeführt werden.
Jede der vorausgehenden drei Hostinteraktionsobjekte wird aus einer Aktivitätsstruktur erstellt, die als Workflowprogramm bezeichnet wird. Unter Verwendung dieser Typen oder eines benutzerdefinierten Hosts, der ActivityInstance umschließt, können Workflows in einem beliebigen Windows-Prozess einschließlich Konsolenanwendungen, formularbasierten Anwendungen, Windows-Diensten, ASP.NET-Websites und Windows Communication Foundation (WCF)-Diensten ausgeführt werden.
Interaktion zwischen Workflowkomponenten
Im folgenden Diagramm wird dargestellt, wie Workflowkomponenten miteinander interagieren.
Im vorangehenden Diagramm werden mit der Invoke-Methode der WorkflowInvoker-Klasse mehrere Workflowinstanzen aufgerufen. WorkflowInvoker wird für einfache Workflows verwendet, die keine Verwaltung vom Host benötigen. Workflows, die vom Host verwaltet werden müssen (z. B. Bookmark-Wiederaufnahme), müssen stattdessen mithilfe von Run ausgeführt werden. Es ist nicht erforderlich, auf den Abschluss einer Workflowinstanz zu warten, bevor ein weiterer Workflow aufgerufen wird. Das Laufzeitmodul unterstützt die Ausführung mehrerer Workflowinstanzen gleichzeitig. Die aufgerufenen Workflows sind:
Eine Sequence-Aktivität, die eine untergeordnete WriteLine-Aktivität enthält. Eine Variable der übergeordneten Aktivität wird an ein InArgument der untergeordneten Aktivität gebunden. Weitere Informationen über zu Variablen, Argumenten und Bindung finden Sie unter Variablen und Argumente.
Eine benutzerdefinierte Aktivität mit dem Namen ReadLine. Ein OutArgument der ReadLine-Aktivität wird an die aufrufende Invoke-Methode zurückgegeben.
Eine benutzerdefinierte Aktivität, die von der abstrakten CodeActivity-Klasse abgeleitet wird. Die CodeActivity kann auf Laufzeitfunktionen (z. B. Nachverfolgung und Eigenschaften) mit dem CodeActivityContext zugreifen, der als Parameter über die Execute-Methode verfügbar ist. Weitere Informationen über diese Laufzeitfunktionen finden Sie unter Nachverfolgung und Ablaufverfolgung für Workflows und Eigenschaften der Workflowausführung.
Siehe auch
Weitere Ressourcen
BizTalk Server 2006 oder WF? Auswählen des richtigen Workflowtools für Ihr Projekt