How to Invoke a Process Using Call Activities

21-2 Modeling and Implementation Guide for Oracle Business Process Management When you define an asynchronous processes operation you must also define its corresponding callback operation. The asynchronous operation defines the input arguments and the callback operation defines the output arguments. You can define the process interface by defining operations in your BPMN Process or you can choose to use an existing interface from the business catalog. You can implement any of these options using message events or send and receive tasks.

21.2 Using Message Events to Define the BPMN Process Interface

The process interface contains the operations that other services and processes can invoke to interact with a BPMN process. These operations may be synchronous or asynchronous. You can define the process interface using message events or send and receive tasks. To expose an operation in a BPMN process you can use a message start or message catch event configured as initiators. These message events enable you to define if the operation is synchronous or asynchronous. They also enable you to define the process input. The process interface must always contain an operation that exposes the start event of a BPMN process. A process or service that invokes this BPMN process must always invoke the operation that corresponds to the start event before invoking any of the operations in the process. To define the process output, you must configure the message throw or message end event that continue the event that defines the operation. If the operation is asynchronous, then these events also define the callback operation. If an interface contains an asynchronous operation, then it must also define the callback operation that returns the result of this operation. See Section 21.2.1, Using Message Events to Define the Callback Interface for BPMN Processes for more information on how to define a callback operation in a BPMN Process. Figure 21–1 shows a BPMN process that exposes a message start message event in its interface. It also shows how the SOA Composite editor displays this operation. Defining the Process Interface 21-3 Figure 21–1 BPMN Process that exposes a message start event as an operation This figure shows a BPMN process that exposes a message start event as an operation, and how this reflects in the SOA Composite editor. In addition, the process interface may contain the operations exposed by the catch message events in the process. Before invoking an operation that corresponds to a catch message event, you must always invoke the operation that corresponds to the message start event. Figure 21–2 shows a BPMN process that exposes a catch message event in its interface in addition to the message start message event. It also shows how the SOA Composite editor displays this operation.