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-Schauspieler
Themen
Was ist ein Schauspieler in Amazon SWF?
Im Laufe seiner Geschäftstätigkeit interagiert Amazon SWF mit einer Reihe verschiedener Arten von programmatischen Akteuren. Akteure können Workflow-Starter, Entscheider oder Aktivitäts-Worker sein. Diese Akteure kommunizieren über die API mit Amazon SWF. Sie können diese Akteure in jeder Programmiersprache entwickeln.
Das folgende Diagramm zeigt die Amazon SWF-Architektur, einschließlich Amazon SWF und seiner Akteure.

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 Verlauf der Workflow-Ausführung, um die nächsten geeigneten Schritte in der Workflow-Ausführung zu bestimmen. Der Entscheider teilt diese Schritte mithilfe von Entscheidungen an Amazon SWF zurück. Eine Entscheidung ist ein Amazon SWF SWF-Datentyp, der verschiedene nächste Aktionen darstellen kann. Eine Liste der möglichen Entscheidungen finden Sie unter Entscheidung in der Amazon Simple Workflow Service API-Referenz.
Hier ist ein Beispiel für eine 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 treiben die Workflow-Ausführung weiter voran, indem sie Entscheidungsaufgaben erhalten und Amazon SWF mit weiteren Entscheidungen antworten, bis der Entscheider feststellt, dass die Workflow-Ausführung abgeschlossen ist. Er antwortet dann mit der Entscheidung, die Workflow-Ausführung abzuschließen. Nach Abschluss der Workflow-Ausführung 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 entweder über die Amazon SWF SWF-Konsole oder über die RegisterActivityTypeAktion registrieren.
Jeder Aktivitätsarbeiter fragt Amazon SWF nach neuen Aufgaben ab, die für diesen Aktivitätsarbeiter geeignet sind. Bestimmte Aufgaben können nur von bestimmten Aktivitätsmitarbeitern ausgeführt werden. Nach Erhalt einer Aufgabe bearbeitet der Activity Worker die Aufgabe bis zum Abschluss und 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ätsarbeiter Ergebnisse an Amazon SWF zurückgeben. Ebenso kann ein Entscheider die Ergebnisse einer Workflow-Ausführung melden, wenn die Ausführung abgeschlossen ist. Jeder Akteur kann Daten über Zeichenketten, deren Form benutzerdefiniert ist, an Amazon SWF senden und Daten von Amazon SWF empfangen. Je nach Größe und Sensitivität der Daten können Sie Daten direkt übergeben oder einen Zeiger auf Daten übergeben, die auf einem anderen System oder Dienst (wie Amazon S3 oder DynamoDB) gespeichert sind. Sowohl die direkt übergebenen Daten als auch die Verweise auf andere Datenspeicher werden im Workflow-Ausführungsverlauf aufgezeichnet. Amazon SWF kopiert oder speichert jedoch keine Daten aus externen Speichern als Teil des Verlaufs.
Da Amazon SWF den vollständigen Ausführungsstatus jeder Workflow-Ausführung beibehält, einschließlich der Eingaben und 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.