Defining the Process Interface

Defining the Process Interface 21-7

12. Click OK.

21.3.3 What Happens When You Configure a BPMN Process Start Operation as Asynchronous Using Message Events When you invoke the process start event you must not wait for a response before continuing with the process flow. To obtain the response you must invoke the process callback operation. You can invoke asynchronous BPMN processes using message events or send and receive tasks. See Section 20.3, Using Message Events to Invoke Asynchronous Services and Asynchronous BPMN Processes and Section 20.7, Using Send and Receive Tasks to Invoke Asynchronous Services and Asynchronous BPMN Processes , for more information on how to invoke an asynchronous BPMN process. In the SOA Composite, the interface of an asynchronous process shows at least two operations: the operation to start the process and its callback operation. 21.3.4 How to Add an Asynchronous Operation to a BPMN Process Interface Using Intermediate Message Events You can expose an intermediate message event as an asynchronous operation. To add an asynchronous operation to a BPMN process interface: 1. Edit the BPMN process. 2. Locate the point in your process where you want to add the new operation. 3. Add an intermediate catch message event. 4. Right-click the catch message event.

5. Select Properties.

6. Click the Implementation tab.

7. In the Conversation section, select Initiates.

8. In the Properties section, select Define Interface from the Implementation list.

9. If your want your operation to have output arguments, then define input arguments. For more information on how to define output arguments see Section 21.10, Defining the Process Input and Output .

10. Expand the Advanced section.

11. Select Asynchronous.

12. To change the name of the callback operation, then enter a name in the Operation Name field.

13. Click OK.

14. Follow the procedure described in Section 21.3.2, How to Define a Callback Operation Using Message Events , to define the callback operation for this asynchronous operation. 21-8 Modeling and Implementation Guide for Oracle Business Process Management 21.3.5 What Happens When You Add an Asynchronous Operation to a BPMN Process Interface Using Message Events The asynchronous operation and the corresponding callback operation are available for other processes to invoke them. The SOA Composite shows the asynchronous operation and its callback in the BPMN process interface.

21.4 Using Message Events to Define a Synchronous Operation in a BPMN Processes Interface

You can define a synchronous operation in your BPMN process using message events. You define the synchronous operation using a message start or catch event, and a message throw or catch that continue the first. The message start or catch event defines the process input. The message throw or end event defines the process output. If you use a message catch event to define a synchronous operation, then you must also define a start operation. You must invoke the start operation before invoking the synchronous operation, to create an instance in the process. The synchronous operation runs over the created instance. See Section 20.5, Using Service Tasks to Invoke Synchronous Operations in Services and BPMN Processes , for more information on how to invoke a synchronous BPMN process. Message events enable you to send error message when you define synchronous operations. For more information about error message events, see Section 19.8, Handling Errors in a Peer Process Using Message Events .

21.4.1 How to Configure the Start Operation of a BPMN Process as Synchronous Using Message Events

You can expose the message start event of a BPMN process as a synchronous operation. To configure the start operation of a BPMN process as synchronous using message events: 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. 7. If your synchronous BPMN process requires input data, then you must define the process input in the Argument Definition section. For more information on how to define the process input, see Section 21.10, Defining the Process Input and Output .

8. Expand the Advanced section.