Es gibt vier Möglichkeiten, aus einem Workflow andere Workflows aufzurufen. Jede Möglichkeit des Aufrufs eines Workflows wird durch ein anderes Workflowschemaelement dargestellt.

Synchrone Workflows

Ein Workflow kann einen anderen Workflow synchron starten. Der aufgerufene Workflow wird als integraler Bestandteil des aufrufenden Workflows in demselben Arbeitsbereich wie der aufrufende Workflow ausgeführt. Der aufrufende Workflow startet einen anderen Workflow und wartet dann, bis der aufgerufene Workflow seine Ausführung beendet hat, bevor er das nächste Element in seinem Schema startet. Normalerweise rufen Sie einen Workflow synchron auf, weil der aufrufende Workflow die Ausgabe des aufgerufenen Workflows als Eingabeparameter für ein nachfolgendes Schemaelement benötigt. Ein Workflow kann beispielsweise den Workflow „Virtuelle Maschine starten und warten“ aufrufen, um eine virtuelle Maschine zu starten, und dann die IT-Adresse dieser virtuellen Maschine benötigen, um sie an ein anderes Element oder an einen Benutzer per E-Mail weiterzugeben.

Asynchrone Workflows

Ein Workflow kann einen Workflow asynchron starten. Der aufrufende Workflow startet einen anderen Workflow, aber der aufrufende Workflow läuft selbst mit seinem nächsten Schemaelement weiter, ohne auf das Ergebnis des aufgerufenen Workflows zu warten. Der aufgerufene Workflow wird mit Eingabeparametern ausgeführt, die der aufrufende Workflow definiert, aber der Lebenszyklus des aufgerufenen Workflows ist unabhängig vom Lebenszyklus des aufrufenden Workflows. Asynchrone Workflows erlauben Ihnen, Ketten von Workflows zu erstellen, die Eingabeparameter von einem Workflow zum nächsten weitergeben. Beispielsweise kann ein Workflow verschiedene Objekte erstellen, während er ausgeführt wird. Der Workflow kann dann asynchrone Workflows starten, die diese Objekte als Eingabeparameter für ihre eigene Ausführung verwenden. Wenn der ursprüngliche Workflow alle erforderlichen Workflows gestartet und seine restlichen Elemente abgearbeitet hat, endet er. Die asynchronen Workflows, die er gestartet hat, laufen aber unabhängig von dem Workflow, der sie gestartet hat, weiter.

Damit der aufrufende Workflow auf das Ergebnis des aufgerufenen Workflows wartet, verwenden Sie entweder einen verschachtelten Workflow oder erstellen eine skriptfähige Aufgabe, die den Status des Workflowtokens des aufgerufenen Workflows ermittelt und dann das Ergebnis des Workflows abruft, wenn er abgeschlossen ist.

Geplante Workflows

Ein Workflow kann einen Workflow aufrufen, aber den Start dieses Workflows bis zu einem späteren Zeitpunkt oder Datum verschieben. Der aufrufende Workflow wird danach fortgesetzt, bis er endet. Durch das Aufrufen eines geplanten Workflows wird eine Aufgabe zum Start dieses Workflows zu einem bestimmten Zeitpunkt und Datum erstellt. Wenn der aufrufende Workflow fertig ist, können Sie den geplanten Workflow in der Ansicht Zeitplan und Mein Orchestrator im Orchestrator-Client sehen.

Geplante Workflows werden nur einmal ausgeführt. Sie können einen Workflow so planen, dass er wiederholt ausgeführt wird, indem Sie die Methode Workflow.scheduleRecurrently in einem skriptfähigen Aufgabenelement in einem synchronen Workflow aufrufen.

Verschachtelte Workflows

Ein Workflow kann mehrere Workflows simultan starten, indem mehrere Workflows in einem einzelnen Schemaelement verschachtelt werden. Alle Workflows, die im verschachtelten Netzwerkelement aufgelistet sind, starten simultan, wenn der aufrufende Workflow in seinem Schema zum verschachtelten Workflowelement kommt. Das Besondere ist, dass jeder verschachtelte Workflow in einem eigenen Arbeitsspeicherbereich gestartet wird, der von dem des aufrufenden Workflows verschieden ist. Der aufrufende Workflow wartet, bis alle verschachtelten Workflows abgeschlossen sind, bevor er das nächste Element in seinem Schema startet. Der aufrufende Workflow kann daher die Ergebnisse der verschachtelten Workflows als Eingabeparameter nutzen, wenn er seine restlichen Elemente ausführt.