How to Broadcast a Signal to Multiple Processes

21-4 Modeling and Implementation Guide for Oracle Business Process Management Figure 21–2 BPMN process that exposes a message start and a message catch event in its interface This figure shows a BPMN process that exposes a message start event and a message catch event as operation, and how this reflects in the SOA Composite editor.

21.2.1 Using Message Events to Define the Callback Interface for BPMN Processes

A BPMN process must expose a callback operation for each of the asynchronous operations it defines. The callback operation returns the response to the service or process that invoked the asynchronous operation. The callback operation may define output arguments. If it defines output arguments you must map their values to the data objects in the process using data associations. You can define a callback operation using a message throw event or a message end event. See Chapter 20.3, Using Message Events to Invoke Asynchronous Services and Asynchronous BPMN Processes , for information on how invoke an asynchronous BPMN process from another BPMN process. Figure 21–3 shows an end event that exposes the BPMN process callback operation. It also shows how the callback operation appears in the SOA Composite editor. Note: If you used a send task to expose an operation, then you must use a receive task to define the callback operation. See Section 21.7, Defining Asynchronous Processes Operations Using Send and Receive Tasks for more information on how to define a callback operation using send events. Defining the Process Interface 21-5 Figure 21–3 Asynchronous BPMN process that exposes a start operation an its corresponding callback This figure shows a BPMN process that exposes a start operation and its corresponding callback, and how this reflects in the SOA Composite editor.

21.3 Using Message Events to Define Asynchronous Operations in a BPMN Processes

You can define asynchronous operations in a BPMN Process using message events. If you expose an asynchronous operation, then you must also expose a start operation. The client invoking the asynchronous service must invoke the start operation first to create an instance in the process. The asynchronous operation runs over the created instance. You must also specify a callback operation for each of the asynchronous operations you define.

21.3.1 How to Configure the Start Operation of a BPMN Process as Asynchronous Using Message Events

You can expose the start event of a BPMN process as an asynchronous operation. To configure the start operation of a BPMN process as asynchronous: 1. Edit the BPMN process. 2. Right-click the start activity.

3. Select Properties.

4. Click the Implementation tab.

5. If the Implementation Type is not message, then change it to Message. The Conversation section appears.

6. In the Conversation Properties section, select Define Interface from the

Implementation list.