Implement Business Logic in BPEL process: correlation, fault handling, compensation, human task, events

The step by step implementation of the business process is done in the remaining part of chapter 18. We will start from the AirportAccreditationService-step3 application in the source code repository – which contains global and local variables, the various interactions of the BPEL process (with dummy implementations of external services) as well as the human tasks for discussing unclear outcomes of the national security check and performing the internal manual review by Saibot’s security staff, and work our way to AirportAccreditationService-step6.

This figure visualizes the SOA Composite at the start of this section, as implemented in the sources in AirportAccreditationService-step3.


The business rule is implemented for deriving the internal security level. This is reflected in the sources of AirportAccreditationService-step4.

In order for the requestor to learn about the status of the accreditation request or to cancel the request, we have to configure correlation. The service operations retrieveStatus and cancelRequest will leverage correlation to make sure that requests end up in the right running instance. In this section we add the correlation definition and the implementation for the retrieve status and cancel request event handlers. This brings us to AirportAccreditationService-step5.

This section goes beyond the initial discussion of faults and fault handling in chapter 8. It discusses some types of faults and exception handling – dealing with the non-happy flow – and also introduces compensation as a mechanism in BPEL to undo the logical effects of steps in the process that should be rolled back because of the abortion of the logical transaction. The results are found in the sources in AirportAccreditationService-step6.

Supporting Resources

The sources for the final situation for this section are found in folder AirportAccreditationService-step3 through AirportAccreditationService-step6.

Ronald van Luttikhuizen -   Compensation Hello World

Anil Reddy Gandra  – What is the use of Compensation Handler


Using Compensation in BPEL Processes

Transaction and Fault Propagation Semantics in BPEL Processes

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

De volgende HTML tags en attributen zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>