Thursday, November 11, 2010

Different Types of BPEL Processes


There are 3 different types of processes or services

  1. A synchronous process
  2. An asynchronous process
  3. An empty process

In Synchronous services, the client invoking a synchronous process will wait for the response to the request.
The client will not process further until it receives response from the invoked synchronous process.



In Oracle BPEL Process Designer, when a project is created with the “Synchronous BPEL Process” template, the initial BPEL process flow contains

  • A client PartnerLink representing the client who initiates this BPEL process as a service. This is shown as the client in the diagram.
  • A receive activity, called receiveInput, to receive a request message from the client.
  • A reply activity, called replyOutput, for the BPEL process to return a synchronous response message to the client.


In asynchronous services, the client invokes the service but does not wait for the response. The client can continue with some other processing and later, when it does receive the response, it resumes whatever processing initiated the service request.              



In Oracle BPEL Process Designer, when a project is created with the “Asynchronous BPEL Process” template, the initial BPEL process flow contains
  • A client PartnerLink representing the client who initiates this BPEL process as a service. This is shown as the client in the diagram.
  • A receive activity, called receiveInput, to receive a request message from the client.
  • A invoke activity, called callbackClient, for the BPEL process to return asynchronous response message to the client.

Empty Service is useful to design a process flow as a client to initiate other services.


In Oracle BPEL Process Designer, when a project is created with the “Empty BPEL Process” template, the initial BPEL process flow does not contain any activities as shown above.

0 Responses to “Different Types of BPEL Processes”

Post a Comment

Disclaimer

The ideas, thoughts and concepts expressed here are my own. They, in no way reflect those of my employer or any other organization/client that I am associated. The articles presented doesn't imply to any particular organization or client and are meant only for knowledge Sharing purpose. The articles can't be reproduced or copied without the Owner's knowledge or permission.