5.5

Table Of Contents
n
Call a Workflow Asynchronously on page 58
Calling a workflow asynchronously runs the called workflow independently of the calling workflow.
The calling workflow continues its run without waiting for the called workflow to complete.
n
Schedule a Workflow on page 59
You can call a workflow from a workflow and schedule it to start at a later time and date.
n
Prerequisites for Calling a Remote Workflow from Within Another Workflow on page 59
If the workflow that you develop calls another workflow that resides on a remote Orchestrator server,
certain prerequisites must be fulfilled so that the remote workflow can run successfully.
n
Call Several Workflows Simultaneously on page 60
Calling several workflows simultaneously runs the called workflows synchronously as part of the run
of the calling workflow. The calling workflow waits for all of the called workflows to complete before
it continues. The calling workflow can use the results of the called workflows as input parameters
when it runs its subsequent schema elements.
Workflow Elements that Call Workflows
There are four ways to call other workflows from within a workflow. Each way of calling a workflow or
workflows is represented by a different workflow schema element.
Synchronous
Workflows
A workflow can start another workflow synchronously. The called workflow
runs as an integral part of the calling workflow's run, and runs in the same
memory space as the calling workflow. The calling workflow starts another
workflow, then waits until the end of the called workflow's run before it
starts running the next element in its schema. Usually, you call a workflow
synchronously because the calling workflow requires the output of the called
workflow as an input parameter for a subsequent schema element. For
example, a workflow can call the Start virtual machine and wait workflow to
start a virtual machine, and then obtain the IP address of this virtual machine
to pass to another element or to a user by email.
Asynchronous
Workflows
A workflow can start a workflow asynchronously. The calling workflow
starts another workflow, but the calling workflow immediately continues
running the next element in its schema, without waiting for the result of the
called workflow. The called workflows run with input parameters that the
calling workflow defines, but the lifecycle of the called workflow is
independent from the lifecycle of the calling workflow. Asynchronous
workflows allow you to create chains of workflows that pass input
parameters from one workflow to the next. For example, a workflow can
create various objects during its run. The workflow can then start
asynchronous workflows that use these objects as input parameters in their
own runs. When the original workflow has started all the required
workflows and run its remaining elements, it ends. However, the
asynchronous workflows it started continue their runs independently of the
workflow that started them.
To make the calling workflow wait for the result of the called workflow,
either use a nested workflow or create a scriptable task that retrieves the
state of the workflow token of the called workflow and then retrieves the
result of the workflow when it completes.
Chapter 1 Developing Workflows
VMware, Inc. 55