Untergeordnete Workflows - 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.

Untergeordnete Workflows

Komplizierte Workflows können durch die Verwendung von untergeordneten Workflows in kleinere, überschaubarere und möglicherweise wiederverwendbare Komponenten aufgeteilt werden. Bei einem untergeordneten Workflow handelt es sich um eine Workflow-Ausführung, die von einer anderen (übergeordneten) Workflow-Ausführung initiiert wird. Um einen untergeordneten Workflow zu initiieren, verwendet der übergeordnete Workflow die StartChildWorkflowExecution-Entscheidung. Eingabedaten, die mit dieser Entscheidung festgelegt wurden, werden dem untergeordneten Workflow während des gesamten Verlaufs verfügbar gemacht.

Die Attribute für dieStartChildWorkflowExecution Entscheidung legen auch die Child-Richtlinie fest, d. h., wie Amazon SWF mit der Situation umgehen soll, in der die Ausführung des übergeordneten Workflows vor der Ausführung des untergeordneten Workflows beendet wird. Hierfür gibt es drei mögliche Werte:

  • BEENDEN: Amazon SWF beendet die Hinrichtungen von Kindern.

  • REQUEST_CANCEL: Amazon SWF versucht, die untergeordnete Ausführung abzubrechen, indem einWorkflowExecutionCancelRequested Ereignis in die Workflow-Ausführungshistorie des untergeordneten Workflows aufgenommen wird.

  • ABBRUCH: Amazon SWF wird keine Maßnahmen ergreifen; die Hinrichtungen von Kindern werden fortgesetzt.

Nachdem die untergeordnete Ausführung gestartet wurde, wird sie wie eine reguläre Ausführung durchgeführt. Nach Abschluss zeichnet Amazon SWF den Abschluss zusammen mit seinen Ergebnissen im Workflow-Verlauf der übergeordneten Workflow-Ausführung auf. Nachfolgend finden Sie Beispiele untergeordneter Workflows:

  • Untergeordneter Workflow zur Kreditkartenabwicklung, der von Workflows auf verschiedenen Websites verwendet wird

  • Untergeordneter E-Mail-Workflow, der die E-Mail-Adresse des Kunden bestätigt, die Abmeldeliste überprüft, die E-Mail sendet und sicherstellt, dass sie zugestellt wird bzw. nicht fehlschlägt.

  • Untergeordneter Workflow zur Datenbankspeicherung und Wiederherstellung, der Verbindung, Einrichtung, Transaktion und Verifizierung kombiniert.

  • Untergeordneter Workflow zur Kompilierung des Quellcodes, der Erstellung, Paketerstellung und Verifizierung kombiniert.

Im E-Commerce-Beispiel empfiehlt es sich, die Aktivität zur Belastung der Kreditkarte als einen untergeordneten Workflow einzurichten. Registrieren Sie dazu einen neuen Workflow zur Überprüfung des Kunden, registrieren Sie die Aktivitäten zur Verifizierung der Kundenadresse und zum Überprüfen der Datenbank auf Betrug und definieren Sie die Koordinationslogik für die Aufgabe. Anschließend kann ein Entscheider im Kundenauftrag-Workflow einen untergeordneten Workflow zum Überprüfung des Kunden initiieren, indem die StartChildWorkflowExecution-Entscheidung geplant wird, die diesen Workflow-Typ festlegt.

Die folgende Abbildung stellt einen Kundenauftrag-Workflow dar, der einen untergeordneten Workflow zum Überprüfung des Kunden einschließt, über den die Kundenadresse und die Betrugsdatenbank überprüft und die Kreditkarte belastet werden.

Diagramm eines untergeordneten Workflows

Mehrere Workflows können unter Verwendung des gleichen Workflow-Typs untergeordnete Workflow-Ausführungen erstellen. So könnte beispielsweise der untergeordnete Workflow zur Überprüfung des Kunden auch in anderen Bereichen der Organisation verwendet werden. Die Ereignisse für einen untergeordneten Workflow sind in ihrem eigenen Workflow-Verlauf und nicht im übergeordneten Workflow-Verlauf eingeschlossen.

Da es sich bei untergeordneten Workflows um einfache Workflow-Ausführungen handelt, die von einem Entscheider initiiert werden, können sie auch als normale eigenständige Workflow-Ausführungen gestartet werden.