The design and implementation of fault handling in software applications is as important as the implementation of the normal processing, and often requires an equal amount of care, time, and effort when building robust and reliable applications. Faults can occur in specific situations, so you must be ready to react to them. Faults may already exist within a business process and can compromise the integrity of the system, so you must use process logic to restore the system's integrity. This can be achieved by business logic that is called in case of a failure and that reverses the effects of former service calls. This concept is known as compensation.
This article explains the concepts and usage of compensation in business processes that are run with the Business Process Choreographer, a component of IBM® WebSphere® Process Server Version 6.0.
Generally speaking, compensation is the means of reversing the effects of a service invocation in case of a later failure. For example, consider a process that takes an order request comprising multiple order items from a customer and delegates these requests to different suppliers. If some requests succeed but one fails, the process has to react on that failure to avoid that the customers request is only fulfilled partly. A solution may be to cancel the successful supplier requests and to signal the failure to the customer.
You should have a basic understanding of business processes and the Web Services Business Process Execution Language (WS-BPEL).
|Article in PDF format||0604_robeller-compensation-bpc.pdf||673KB||FTP|HTTP|
WebSphere Integration Developer documentation
Business Process Execution Language for Web Services version 1.1
WebSphere Process Server Info Center: Quality of service: Qualifiers
WebSphere Business Integration Zone provides the technical resources you need for WebSphere Business Integration products.
Business Process Choreographer samples
Business Process Choreographer
New to WebSphere Business Integration provides a brief introduction to the IBM WebSphere Business Integration family of products and describes resources available to help you learn more.
Participate in developerWorks
blogs and get involved in the developerWorks community.
Anke Robeller is a Software Developer at the IBM Development Laboratory in Böblingen, Germany. In 2001, she joined the Business Process Choreographer development team where she works on WebSphere Process Server and Business Process Choreographer.
Claudia Zentner has been working on business integration with a focus on workflow for many years as member of the Workflow team at the IBM Development Lab in Böblingen, Germany. She is currently the release architect for the Business Process Choreographer component of WebSphere Process Server V6. Claudia has worked on various middleware projects at different IBM labs.