4.2.1
Table Of Contents
- Developing with VMware vCenter Orchestrator
- Contents
- Developing with VMware vCenter Orchestrator
- Developing Workflows
- Principal Phases in the Workflow Development Process
- Accessing the Orchestrator Client
- Testing Workflows During Development
- Workflow Editor
- Provide General Workflow Information
- Defining Attributes and Parameters
- Workflow Schema
- Obtaining Input Parameters from Users When a Workflow Starts
- Requesting User Interactions While a Workflow Runs
- Add a User Interaction to a Workflow
- Set the User Interaction security.group Attribute
- Set the timeout.date Attribute to an Absolute Date
- Calculate a Relative Timeout for User Interactions
- Set the timeout.date Attribute to a Relative Date
- Define the External Inputs for a User Interaction
- Define User Interaction Exception Behavior
- Create the Input Parameters Dialog Box for the User Interaction
- Respond to a Request for a User Interaction
- Calling Workflows Within Workflows
- Running a Workflow on a Selection of Objects
- Developing Long-Running Workflows
- Configuration Elements
- Workflow User Permissions
- Validating Workflows
- Running Workflows
- Develop a Simple Example Workflow
- Create the Simple Workflow Example
- Define the Simple Workflow Example Parameters
- Create the Simple Workflow Example Schema
- Link the Simple Workflow Example Elements
- Create Workflow Zones
- Define the Simple Workflow Example Decision Bindings
- Bind the Simple Workflow Example Action Elements
- Bind the Simple Workflow Example Scripted Task Elements
- Define the Simple Example Workflow Exception Bindings
- Set the Simple Workflow Example Attribute Read-Write Properties
- Set the Simple Workflow Example Parameter Properties
- Set the Layout of the Simple Workflow Example Input Parameters Dialog Box
- Validate and Run the Simple Workflow Example
- Develop a Complex Workflow
- Create the Complex Workflow
- Define the Complex Workflow Example Input Parameters
- Create a Custom Action For the Complex Workflow Example
- Create the Complex Workflow Example Schema
- Link the Complex Workflow Example Schema Elements
- Create the Complex Workflow Example Zones
- Define the Complex Workflow Example Bindings
- Set the Complex Workflow Example Attribute Properties
- Create the Layout of the Complex Workflow Example Input Parameters
- Validate and Run the Complex Workflow Example
- Scripting
- Orchestrator Elements that Require Scripting
- Limitations of the Mozilla Rhino Implementation in Orchestrator
- Using the Orchestrator API
- Access the Scripting Engine from the Workflow Editor
- Access the Scripting Engine from the Action or Policy Editor
- Access the Orchestrator API Explorer
- Use the Orchestrator API Explorer to Find Objects
- Writing Scripts
- Add Parameters to Scripts
- Accessing the Orchestrator Server File System from JavaScript and Workflows
- Accessing Java Classes from JavaScript
- Accessing Operating System Commands from JavaScript
- Exception Handling Guidelines
- Orchestrator JavaScript Examples
- Developing Actions
- Creating Resource Elements
- Creating Packages
- Index
n
Prerequisites for Calling a Remote Workflow from Within Another Workflow on page 51
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 52
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 1 Developing Workflows
VMware, Inc. 47