4.0

Table Of Contents
n
Schedule a Workflow on page 56
You can call a workflow from a workflow and schedule it to start at a later time and date.
n
Call Several Workflows Simultaneously on page 57
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.
Scheduled Workflows
A workflow can call a workflow but defer starting that workflow until a later
time and date. The calling workflow then continues its run until it ends. Calling
a scheduled workflow creates a task to start that workflow at the given time
and date. When the calling workflow has run, you can view the scheduled
workflow in the Scheduler and My Orchestrator views in the Orchestrator
client.
Chapter 2 Developing Workflows
VMware, Inc. 53