Freigeben über


Übersicht über Windows Workflow

Ein Workflow ist eine Reihe von Elementeinheiten, die als Aktivitäten bezeichnet werden, die als Modell gespeichert werden, das einen realen Prozess beschreibt. Workflows bieten eine Möglichkeit zum Beschreiben der Reihenfolge der Ausführung und abhängiger Beziehungen zwischen Teilen kurzer oder langer Ausführung. Diese Arbeit durchläuft das Modell von Anfang bis Ende, und Aktivitäten können von Personen oder von Systemfunktionen ausgeführt werden.

Workflowruntime-Engine

Jede ausgeführte Workflowinstanz wird von einem prozessinternen Laufzeitmodul erstellt und verwaltet, mit dem der Hostprozess über eine der folgenden Komponenten interagiert:

  • A WorkflowInvoker, der den Workflow wie eine Methode aufruft.

  • Eine WorkflowApplication 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 Ausführung der Aktivität verantwortlich ist. Es können mehrere ActivityInstance Objekte in einer Anwendungsdomäne gleichzeitig ausgeführt werden.

Jedes der vorherigen drei Hostinteraktionsobjekte wird aus einer Struktur von Aktivitäten erstellt, die als Workflowprogramm bezeichnet werden. Mithilfe dieser Typen oder eines benutzerdefinierten Hosts, der ActivityInstance umschließt, können Workflows in jedem Windows-Prozess ausgeführt werden, einschließlich Konsolenanwendungen, anwendungsbasierten Formularen, Windows-Diensten, ASP.NET-Webseiten und Windows Communication Foundation (WCF)-Diensten.

Workflowkomponenten im Hostprozess
Workflowkomponenten im Hostprozess

Interaktion zwischen Workflowkomponenten

Das folgende Diagramm veranschaulicht, wie Workflowkomponenten miteinander interagieren.

Diagramm, das zeigt, wie Workflowkomponenten interagieren.

Im vorherigen Diagramm wird die Invoke Methode der WorkflowInvoker Klasse verwendet, um mehrere Workflowinstanzen aufzurufen. WorkflowInvoker wird für einfache Workflows verwendet, die keine Verwaltung vom Host benötigen; Workflows, die eine Verwaltung vom Host benötigen (z. B. die Wiederaufnahme), müssen stattdessen mithilfe von Bookmark ausgeführt werden. Es ist nicht erforderlich, bis eine Workflowinstanz abgeschlossen ist, bevor eine andere aufgerufen wird. Das Laufzeitmodul unterstützt das gleichzeitige Ausführen mehrerer Workflowinstanzen. Die aufgerufenen Workflows sind wie folgt:

Siehe auch