Schlüsselkonzepte in Workflow Manager 1.0

 

Veröffentlicht: Mai 2016

Dieses Thema bietet einen Überblick über die Schlüsselkonzepte von Workflow-Manager 1.0.

Schlüsselkonzepte

  • Workflow-Verwaltungsdienst

  • Workflow Client-API

  • Aktivitätsdaten

  • Workflow

  • Instanz

  • Umfang

  • Benachrichtigungen

  • DynamicValue

Workflow-Verwaltungsdienst

Workflow-Manager 1.0 stellt einen auf REST basierenden Dienstendpunkt für die Veröffentlichung, Verwaltung und Ausführung von Workflows zur Verfügung.Die gesamte Kommunikation für die Interaktion mit Workflowdefinitionen und ihren Instanzen erfolgt über HTTP(S).

Den Weitere Informationen über zur Workflowverwaltung finden Sie unter Workflow Manager 1.0 - Serververwaltung.

Workflow Client-API

Die Workflow Client-API, die in Microsoft.Workflow.Client.dll enthalten ist, ist eine Sammlung von auf .NET basierenden Klassen, die zum Veröffentlichen, Verwalten und Ausführen von Workflows verwendet werden können.Sie stellt eine erstklassige Sammlung von APIs zur Verfügung, die den internen HTTP-Datenverkehr zum Workflow-Verwaltungsdienst abstrahieren.

Aktivitätsdaten

Eine Aktivität ist eine benannte Entität, die die Bausteine für die Funktionen des Workflows enthält.Eine Aktivität besteht normalerweise aus anderen Aktivitäten – aus vom Entwickler erstellten benutzerdefinierten Aktivitäten oder aus Aktivitäten, die im Namespace Microsoft.Activities bereitgestellt werden.

Eine Aktivität wird in der Workflow Client-API durch die Klasse ActivityDescription dargestellt.Ein grundlegendes Element dieser Klasse ist die XAML-Eigenschaft, die eine auf XAML basierende Definition der Aktivität darstellt.

Workflow

Ein Workflow ist eine benannte Entität, die einen Workflow darstellt, der aktiviert oder gestartet werden kann.Er wird in der Client-API durch die Klasse WorkflowDescription dargestellt.Diese Klasse besitzt die folgenden zwei Schlüsseleigenschaften:

  1. ActivityPath – Gibt an, welche Aktivität als Implementierungstext für diesen Workflow verwendet wird.

  2. ActivationFilter – Definiert die Charakteristika von Nachrichten, die eine Instanz dieses Workflows aktivieren können.

Instanz

Eine Workflowinstanz ist eine Entität, die eine Instanz eines bestimmten Workflows darstellt.Sie wird mit einer von zwei Methoden erstellt:

  1. Explizit durch Aufrufen der StartWorkflow-API zum Starten einer neuen Instanz eines bestimmten Workflows.

  2. Implizit durch Verwenden der PublishNotification-API zum Veröffentlichen einer Nachricht, die mit dem ActivationFilter eines angegebenen Workflows übereinstimmt.Beachten Sie, dass eine Nachricht mit den ActivationFilters von null, einem oder vielen Workflow(s) übereinstimmen kann.Eine neue Workflowinstanz für jeden Workflow, mit dem eine Übereinstimmung vorliegt, wird als Ergebnis der Veröffentlichung einer solchen Nachricht instanziiert.

Nachdem eine Workflowinstanz erstellt wurde, wird sie in der Client-API durch die WorkflowInstanceInfo-Klasse dargestellt.

Umfang

Ein Bereich ist ein benannter und sicherbarer Container für Aktivitäten, Workflows, Instanzen, die Konfiguration und untergeordnete Bereiche.Er stellt außerdem eine Grenze für Mehrinstanzfähigkeit und Messaging (Benachrichtigungen) dar.Bereiche können mithilfe der Workflow Client-API erstellt und geändert werden.Sie werden in der Client-API durch die Klasse T:Microsoft.Workflow.Client.ScopeInfo dargestellt.

Wenn Workflow installiert wird, wird nur der Stammbereich vorerstellt. Dieser kann nicht gelöscht werden.Bei Bedarf können weitere Bereiche erstellt werden.Die Mehrfachschachtelung von Bereichen wird unterstützt.Workflows und Aktivitäten sollten in einem Bereich unter dem Stammbereich bereitgestellt werden.

Jede Aktivität, jeder Workflow und jede Instanz gehört zu einem einzelnen Bereich.Eine Aktivität und ein Workflow gehören zu einem Bereich, in dem sie veröffentlicht wurden.Eine Instanz gehört zum gleichen Bereich wie ihr Workflow.

Ein Aktivitäts-XAML kann auf andere Aktivitäten verweisen und diese verwenden, wenn sie zum gleichen Bereich, dem übergeordneten Bereich oder zu einem Vorgängerbereich mit Ausnahme des Stammbereichs gehören.

Ein Workflow kann mithilfe einer Aktivität aus dem gleichen Bereich, dem übergeordneten Bereich oder einem Vorgängerbereich mit Ausnahme des Stammbereichs definiert werden.

Die Sicherheits- und anderen Konfigurationseinstellungen eines Bereichs werden von allen untergeordneten Bereichen geerbt.

Ein Bereich ist eine Namensgrenze.Die Namen aller benannten Entitäten (Aktivitäten, Workflows und untergeordnete Bereiche) müssen nur innerhalb des Bereichs eindeutig sein, zu dem sie gehören.

Ein Bereich ist außerdem ein Ziel der PublishNotification-API. Dies bedeutet, dass eine einzelne Nachricht, die an PublishNotification übergeben wird, nur Workflows aktivieren kann, die zum Zielbereich gehören.

Workflow erfordert keine spezifische Semantik für untergeordnete Bereiche.Es liegt im Ermessen der Benutzer von Workflow, zu entscheiden, welche Bereichsstruktur für eine angegebene Anwendung geeignet ist.

Ein ISV, der eine OnlineCollaborationSolution entwickelt, kann z. B. Bereiche auf oberster Ebene erstellen, die Mandanten der OnlineCollaborationSolution-Anwendung darstellen, beispielsweise Contoso, Fabrikam und Litware.OnlineCollaborationSolution kann den Mandanten der Anwendung das Erstellen von Entitäten erlauben, die als geschachtelte Bereiche im Ressourcenmodell dargestellt werden. Die folgende Abbildung zeigt dies.

Windows Azure Workflow Scopes

Benachrichtigungen

Workflowinstanzen können mithilfe von Benachrichtigungen erstellt und fortgesetzt werden.In einem Bereich veröffentlichte Nachrichten werden verteilt und asynchron an alle Workflowinstanzen übermittelt, die mit dem Filter wie vom Workflow definiert übereinstimmen.

Den Weitere Informationen über zu Messaging in Workflows finden Sie unter Messaging in Workflow Manager 1.0.

DynamicValue

DynamicValue ist eine dynamische Datenstruktur, die zum Übergeben komplexer Daten an einen Workflow, zum Manipulieren von Daten in einem Workflow oder zum Übergeben von Daten aus einem Workflow als JSON verwendet werden kann.

Den Weitere Informationen über zu "DynamicValue" finden Sie unter Grundlegendes zum dynamischen Wert.