Towards Dependable Business Processes with Fault-Tolerance Approach Angel Jesus Varela-Vaca, Rafael M. Gasca, Diana Borrego, Sergio Pozo Departamento de Lenguajes y Sistemas Inform´ aticos, ETS. Ingeneir´ ıa Inform´ atica, Avd. Reina Mercedes S/N, Universidad de Sevilla, Sevilla, Spain {ajvarela, gasca, dianabn, sergiopozo}@us.es Abstract—The management and automation of business processes have become an essential tasks within IT organiza- tions. Companies could deploy business process management systems to automatize their business processes. BPMS needs to ensure that those are as dependable as possible. Fault tolerance techniques provide mechanisms to decrease the risk of possible faults in systems. In this paper, a framework for developing business processes with fault tolerance capabilities is provided. The framework presents different solutions in the fault tolerance scope. The solutions have been developed using a practical example and some results have been obtained, compared and discussed. Keywords-business process; fault-tolerance; dependability; reliability I. INTRODUCTION In the last years, a new paradigm has emerged in the scope of business IT, Business Process Management (BPM). BPM is defined as a set of concepts, methods and techniques to support the modeling, design, administration, configuration, enactment and analysis of business processes [1]. A business process model is a set of activities that are executed in coor- dination within an organizational and technical environment to realize a set of business goals. BPM has turned into an essential tool for organizations. BPM as methodology pursues to improve the efficiency through systematic management of business processes that should be modeled, automatized, integrated, monitored and optimized in a continue form. One of the most important goals of BPM is the better understanding of the operations a company performs and the relationships among these opera- tions. BPM also aims at narrowing the gap between business processes that a company performs and the implementation of these processes in Business Process Management System (BPMS). BPMS is a set of software tools to manage business processes. Companies could deploy BPMS to automatize their busi- ness process, but they have to ensure that those are as dependable as possible. Take into account the dependable process operation is a significant requirement for many types of companies: electronic banking and commerce, automated manufacturing, etc. The cost and consequences of failures of these systems range from mildly annoying to catastrophic, with serious injury occurring or lives lost, systems destroyed, security breaches, and so on. BPM paradigm follows a life cycle which consists in several stages [2], shown in Figure 1. During the stages, different kinds of faults can be introduced: In the design stage, business process models can present some design faults (such as deadlocks, live locks or starvations). Some systematic approaches have been provided design guidelines for designers that allow them to correct and improve their designed processes. Design problems are not taken into account in this paper because it is a problem that has already been discussed [3] [4]. In the enactment stage, output process faults (verifi- cation) can be generated for business processes when a business process obtains an unexpected output, un- expected message, unexpected events or also an un- expected performance. Executable business processes usually use external services that are not under our jurisdiction. Thus, it is not possible to ensure that change of functionality appears during the business process life cycle. Therefore, the inclusion of measures that allow to reduce the risk of fault and increase the dependability of business processes from design stages it will be necessary. The approach proposes to achieve more dependable business processes based on fault tolerance. Some proposals have used the fault tolerance ideas in grid computing, composition of applications or service-oriented architectures, [5] [6] [7] [8]. In these works, different fault tolerance approaches have been applied: check-point view [5], recovery techniques [6], and other sophisticated techniques such as dynamic binding [7], and self-reconfiguration of systems [8]. Our proposal is based on the classical fault tolerence ideas of replication, but introducing other necessary elements like dynamic binding, and providing techniques of diversity in the software fault tolerance scope. This paper is structured as follows: Section II introduces some concepts of BPM and fault tolerance; Section III presents a framework for dependable business processes using fault-tolerant techniques; Section IV a practical exam- 2010 Third International Conference on Dependability 978-0-7695-4090-0/10 $26.00 © 2010 IEEE DOI 10.1109/DEPEND.2010.24 104