Amazon SWF SWF-Akteure - Amazon Simple Workflow Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon SWF SWF-Akteure

Was ist ein Akteur in Amazon SWF?

Während seiner Operationen interagiert Amazon SWF mit einer Vielzahl unterschiedlicher ProgrammtypenSchauspieleraus. Akteure können Workflow-Starter, Entscheider oder Aktivitäts-Worker sein. Diese Akteure kommunizieren mit Amazon SWF über seine API. Sie können diese Akteure in jeder Programmiersprache entwickeln.

Das folgende Diagramm zeigt die Amazon SWF-Architektur, einschließlich Amazon SWF und seiner Akteure.

Die verschiedenen Entitäten oder „Akteure“ in einem Amazon SWF SWF-Workflow.

Workflow-Starter

Ein Workflow-Starter ist eine beliebige Anwendung, die Workflow-Ausführungen initiieren kann. Im E-Commerce beispielsweise könnte ein Workflow-Starter eine Website sein, auf der ein Kunde eine Bestellung aufgibt. Ein anderer Workflow-Starter könnte eine mobile Anwendung oder ein mobiles System sein, das von einem Kundendienstmitarbeiter verwendet wird, um die Bestellung im Auftrag des Kunden aufzugeben.

Entscheider

Ein Entscheider ist eine Implementierung der Koordinationslogik eines Workflows. Entscheider steuern den Ablauf von Aktivitätsaufgaben in einer Workflow-Ausführung. Immer wenn während einer Workflow-Ausführung eine Änderung eintritt, wie etwa der Abschluss einer Aufgabe, wird eine Entscheidungsaufgabe, die den gesamten Workflow-Verlauf enthält, an einen Entscheider übergeben. Wenn der Entscheider die Entscheidungsaufgabe von Amazon SWF erhält, analysiert er den Workflow-Ausführungsverlauf, um die nächsten Schritte in der Workflow-Ausführung zu bestimmen. Der Entscheider kommuniziert diese Schritte mit Amazon SWF überEntscheidungenaus. Eine Entscheidung ist ein Amazon SWF SWF-Datentyp, der verschiedene weitere Aktionen darstellen kann. Eine Liste möglicher Entscheidungen finden Sie unterEntscheidungin Amazon Simple Workflow Service-API-Referenz.

Hier sehen Sie ein Beispiel einer Entscheidung im JSON-Format, dem Format, in dem sie an Amazon SWF übertragen wird. Diese Entscheidung plant eine neue Aktivitätsaufgabe.

{ "decisionType" : "ScheduleActivityTask", "scheduleActivityTaskDecisionAttributes" : { "activityType" : { "name" : "activityVerify", "version" : "1.0" }, "activityId" : "verification-27", "control" : "digital music", "input" : "5634-0056-4367-0923,12/12,437", "scheduleToCloseTimeout" : "900", "taskList" : { "name": "specialTaskList" }, "scheduleToStartTimeout" : "300", "startToCloseTimeout" : "600", "heartbeatTimeout" : "120" } }

Ein Entscheider erhält eine Entscheidungsaufgabe, wenn die Workflow-Ausführung gestartet wird, und immer dann, wenn in der Workflow-Ausführung eine Statusänderung stattfindet. Entscheider bringen die Workflow-Ausführung weiterhin voran, indem sie Entscheidungsaufgaben empfangen und mit mehr Entscheidungen auf Amazon SWF antworten, bis der Entscheider bestimmt, dass die Workflow-Ausführung abgeschlossen ist. Er antwortet dann mit der Entscheidung, die Workflow-Ausführung abzuschließen. Nachdem die Workflow-Ausführung abgeschlossen ist, plant Amazon SWF keine weiteren Aufgaben für diese Ausführung.

Im E-Commerce-Beispiel bestimmt der Entscheider, ob die einzelnen Schritte ordnungsgemäß ausgeführt wurden. Dann plant er entweder den nächsten Schritt oder verwaltet mögliche Fehlerbedingungen.

Ein Entscheider repräsentiert einen einzelnen Computerprozess oder Thread. Mehrere Entscheider können Aufgaben für denselben Workflow-Typ ausführen.

Aktivitäts-Worker

Ein Aktivitäts-Worker ist ein Prozess oder Thread, der die Aktivitätsaufgaben durchführt, die Teil Ihres Workflows sind. Die Aktivitätsaufgabe stellt eine der Aufgaben dar, die Sie in Ihrer Anwendung angegeben haben.

Um eine Aktivitätsaufgabe in Ihrem Workflow zu verwenden, müssen Sie sie registrieren, entweder über die Amazon SWF SWF-Konsole oder über dieRegisterActivityTypeAktion

Jeder Aktivitäts-Worker führt Amazon SWF bei Abfragen für neue Aufgaben durch, die für die Ausführung durch diesen Aktivitäts-Worker geeignet sind. Bestimmte Aufgaben können nur von bestimmten Aktivitäts-Workern durchgeführt werden. Nachdem der Aktivitäts-Worker eine Aufgabe erhalten hat, verarbeitet er die Aufgabe bis zur Beendigung. Er meldet dann Amazon SWF, dass die Aufgabe abgeschlossen wurde, und stellt das Ergebnis bereit. Der Aktivitäts-Worker führt dann eine Abfrage für eine neue Aufgabe durch. Die einer Workflow-Ausführung zugeordneten Aktivitäts-Worker fahren auf diese Weise fort, indem sie Aufgaben verarbeiten, bis die Workflow-Ausführung selbst abgeschlossen ist. Im E-Commerce-Beispiel sind Aktivitäts-Worker unabhängige Prozesse und Anwendungen, die von Menschen verwendet werden, wie etwa von Kreditkartenverarbeitern und Lagermitarbeitern, die einzelne Schritte im Prozess ausführen.

Ein Aktivitäts-Worker stellt einen einzelnen Computerprozess (oder Thread) dar. Mehrere Aktivitäts-Worker können Aufgaben desselben Aktivitätstyps verarbeiten.

Datenaustausch zwischen Akteuren

Eingabedaten können einer Workflow-Ausführung bei ihrem Start bereitgestellt werden. Ebenso können Eingabedaten Aktivitäts-Workern bereitgestellt werden, wenn sie Aktivitätsaufgaben planen. Wenn eine Aktivitätsaufgabe abgeschlossen ist, kann der Aktivitäts-Worker Ergebnisse an Amazon SWF zurückgeben. Ebenso kann ein Entscheider die Ergebnisse einer Workflow-Ausführung melden, wenn die Ausführung abgeschlossen ist. Über Zeichenfolgen, deren Format benutzerdefiniert ist, kann jeder Akteur Daten an Amazon SWF senden bzw. von empfangen. Abhängig von der Größe und Vertraulichkeit der Daten können Sie Daten direkt übergeben oder Sie übergeben einen Zeiger auf Daten, die in einem anderen System oder Service gespeichert sind (wie Amazon S3 oder DynamoDB). Sowohl die direkt übergebenen Daten als auch die Zeiger auf andere Datenspeicher werden im Workflow-Ausführungsverlauf aufgezeichnet. Amazon SWF kopiert oder zwischengespeichert keinerlei Daten von externen Speichern als Teil des Verlaufs.

Da Amazon SWF den vollständigen Ausführungsstatus jeder Workflow-Ausführung aufzeichnet, einschließlich der Eingaben und der Ergebnisse von Aufgaben, können alle Akteure zustandslos sein. Folglich ist die Workflow-Verarbeitung in hohem Maße skalierbar. Wenn die Auslastung Ihres Systems wächst, können Sie einfach weitere Akteure hinzufügen, um die Kapazität zu erhöhen.