Show TOC

Synchronous and Asynchronous ProcessesLocate this document in the navigation structure

Concept

Synchronous Process

When executing a synchronous process, the process may respond with a response message. At design time this response message is provided using the input mapping of the message end event. The response message is sent once when the first token reaches the message end event. The initiator waits synchronously during the time frame that is required to execute the process between the start and message end event. To model a synchronous process, you need to create a WSDL file (service interface definition) that has an operation with input and output parameters. For more information, see Creating Service Interface Definitions .

To provide process context data back to the process initiator, the output parameter of the WSDL operation can be filled with the input mapping of the message end event.

Parallel Split in a Synchronous Process

If you have modeled a parallel split in your synchronous process, it is possible that several tokens reach the end event. When a token first receives a message end event, the response is sent back synchronously from that message end event to the process initiator. If the end event is not a terminating event (the Terminating option is not selected in the end event properties) the process continues asynchronously if there is at least one other token left. Once the process instance has responded with a message end event for the first token, no further response is sent.

Recommendation

We recommend that you do not model any human activities in synchronous processes because of several timeouts (for example, from Web Service Navigator, Web Service Client, BPM runtime) with a duration of a few minutes.

When a timeout occurs outside BPM, an HTTP error is returned and the process runs asynchronously. If the process server notices that a timeout has occurred, the process is terminated with an error that is described in the default trace.

Synchronous processes run synchronously if you initiate them through a Web service call. Otherwise, processes modeled as synchronous processes are executed asynchronously if you start them in the Process Repository or with the Debugger (see Starting a Process ).

Asynchronous Process

The process does not send a response message in an asynchronous process. The initiator of an asynchronous process is not kept waiting for ay response. To model an asynchronous process, you only need to define input parameters for the operation in the assigned WSDL file.