The notion of compensation is widely used as means of backward recovery in long-lived transactions as well as in business processes supported by workflow management systems. In general, it is non-trivial to design compensating tasks for tasks in the context of a workflow. Actually, a task does not have to be compensatable. In this paper, we first look into the requirements that a compensating task has to satisfy. Then we introduce a new mechanism called confirmation. With the help of confirmation, we can modify some non-compensatable tasks so that they become compensatable. This greatly improves backward recovery for workflow applications in the case of failures. To effectively incorporate confirmation and compensation into the workflow management environment, a three-level bottom-up workflow design method is introduced. The implementation issues of this design are also discussed.
['Chengfei Liu', 'Maria E. Orlowska', 'Xuemin Lin', 'Xiaofang Zhou']
Improving backward recovery in workflow systems