Comparing Synchronous With Asynchronous Orchestration Workflows

Orchestration workflows can run synchronously or asynchronously. An orchestration workflow that runs synchronously immediately returns the data to an application. However, an orchestration workflow that runs asynchronously can keep going, independently of the application that contains it.

There are situations in which asynchronous (not synchronous) orchestration workflows should be used. For information, see Usage.

The following table lists the differences between synchronous and asynchronous orchestration workflows.

Synchronous Orchestration Workflow Asynchronous Orchestration Workflow
Used when an immediate reply is required. For example, a synchronous orchestration workflow might be used when certain data is needed before a user can transition to the next step in the application workflow, or when a Web service call is expected to return a quick reply such as a stock quote or a weather forecast. Used when an immediate reply is not required. For example, an asynchronous orchestration workflow might be used when the orchestration contains a long-running program, when the data that is returned by the Web service is required in a later step in the application workflow, or when the orchestration workflow performs some unrelated task such as sending an e-mail.
Requires the application workflow to wait for a reply before it can continue. Does not require the application workflow to wait for a reply. Runs independently of the application workflow.
Can be used for transition actions and for state actions. Can only be used for transition actions.
The SBM Application Engine invokes the SBM Orchestration Engine directly. The orchestration workflow can only be called by the SBM Application Engine. The SBM Application Engine calls the Event Manager, which then invokes the SBM Orchestration Engine based on event mappings in the event definition.
Tip: In SBM Composer, distinct icons let you quickly determine whether an orchestration workflow is synchronous or asynchronous. In addition, the orchestration workflow type is shown on the General tab of the orchestration workflow Property Editor.

In the exercises in Orchestration Tutorial, you will create a process app that contains both synchronous (event with reply) and asynchronous (event without reply) orchestration workflows. When you run the process app, you will be able to see the differences in behavior between them.

Note: The Web Service Invocation Timeout setting in the Database tab in SBM System Administrator is used to control the timeout for synchronous orchestrations. The timeout value that you specify controls the amount of time that the system will wait for an synchronous orchestration to complete. Prior to SBM 10.1.3, the SBM Orchestration Engine would timeout the response from a synchronous orchestration at sixty seconds.

Related Topics

About Orchestration Workflows