Introduction to Synchronous and Asynchronous Operations

20-8 Modeling and Implementation Guide for Oracle Business Process Management See Section 8.13, Introduction to Data Associations , for more information on how to configure data associations.

12. Click OK.

20.3.6 What Happens When You Invoke an Asynchronous BPMN Process Using Message Events

When you invoke an asynchronous BPMN process using a message throw event, the BPMN Service Engine does not wait for the BPMN process to answer. It continues running the flow objects that follow to the message throw event. The invoking BPMN process can obtain the response of the asynchronous BPMN process by invoking the service callback operation using a message catch event. Even if the asynchronous BPMN process finishes running, the invoking BPMN process does not receive the response until it reaches a message catch event that receives a message from the asynchronous BPMN process. If the asynchronous BPMN process is still running when the BPMN Service Engine runs the message catch event, then the engine waits for the asynchronous BPMN process to complete before passing the token to the next flow object in the process.

20.4 Using Message Events Configured as Boundary Events

You can use message catch events configured as boundary events to wait for an event while an activity is running. If the message arrives after the activity finishes running, then the event is not triggered. You can configure a boundary message catch event as interrupting or non-interrupting. Interrupting boundary message catch events stop running the activity when the expected message arrives. Then the engine starts running the flow defined for the message catch event. The flow defined for interrupting boundary message catch events may resume the main process flow. Non-interrupting boundary catch events do not stop running the current activity. When the expected message arrives the engine starts running the flow defined for the message catch event in parallel to the current activity. The flow defined for non-interrupting boundary message catch events cannot resume the main process flow.

20.5 Using Service Tasks to Invoke Synchronous Operations in Services and BPMN Processes

Service tasks enable you to invoke synchronous operations in services and BPMN processes. When the BPMN Service Engine runs a service task, it invokes the operation specified in the service task and waits for a response. The BPMN Service Engine does not move the token to the next activity until it receives a response from the synchronous service or BPMN process. The services you can use from a service task include BPEL processes, SOA mediators and SOA adapters that expose synchronous operations. You can also use service tasks to invoke other BPMN processes that expose synchronous operations.