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

20-14 Modeling and Implementation Guide for Oracle Business Process Management

11. Click OK.

The Type dialog disappears and the receive task properties dialog shows the service you selected in the Name field. 12. From the Operation list, select the callback operation to invoke. 13. If the callback operation requires input data, then you must specify how the data objects in the project map to this input data, by configuring the receive task data association. See Section 8.13, Introduction to Data Associations , for more information on how to configure data associations.

14. Click OK.

20.7.3 What Happens When You Invoke an Asynchronous Service Using Send and Receive Tasks

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

20.7.4 How to Use the Send Task to Invoke an Asynchronous BPMN Process Operation

You can use a send task to invoke an asynchronous BPMN process operation. To invoke an asynchronous BPMN process operation: 1. Edit the BPM process where you want to invoke the asynchronous BPMN process. 2. Locate the point in your process where you want to invoke the asynchronous BPMN process. 3. Add a send task in the point you located in your process. 4. Right-click the send task.

5. Select Properties.

6. Click the Implementation tab.

7. In the Conversation section, select Initiates.

8. In the Properties section, select Process Call from the Implementation List.

9. Click the Browse button next to the Process field.

The Type dialog appears. 10. Select the asynchronous BPMN process you want to invoke.

11. Click OK.

12. From the Node list, select the operation from the asynchronous BPMN process.