Towards a Reusable Fault Handling in WS-BPEL
Service Oriented Architecture (SOA) is an evolution of distributed computing and it is based on the concepts of interoperable services. To enable reliable and robust service oriented information systems, it is important to establish an effective fault handling. WS-BPEL 2.0 specification does not provide sophisticated and reusable support for handling faults and challenges process designers with many obstacles in the process implementation. We introduce a novel policy driven fault handling framework for BPEL by extending the WS-BPEL 2.0 specification. We propose to separate business process and fault handling logic with the aim to decrease code duplication, process complexity and overall process size. The proposed framework consists of a fault policy which includes the definition of BPEL fault handling logic. The fault policy defines fault handlers and fault handling recovery actions that can be used to design handling BPEL process faults. As a proof-of-concept, we have developed a prototype implementation of the proposed policy driven fault handling framework for BPEL and tested it on 117 real world BPEL scenarios. We have confirmed that the proposed solution decreases the code duplication, the process complexity and overall the process size. Even more, we successfully improved the reliability and readability of BPEL processes.