Building mission critical applications and services (e.g. e-commerce) using process-oriented approaches has had successes and difficulties. These applications automated successfully the important frequent cases such as purchases, but the code needed for handling exceptions such as cancellations and failures tend to grow to disproportionate size and complexity. These difficulties lead to non-automated and expensive solutions such as call centers, which resolve data inconsistency problems manually. In this paper we describe the WED-flow (work, event, and data-flow) approach, which provides transactional recovery through incremental evolution of exception handling, by combining the concepts of advanced transaction models, events, and data states. By carefully recording the detailed data states of each execution step, WED-flow composes backward and forward recovery mechanisms as reusable exception handling services to preserve the consistency of all databases involved in the application with well-defined correctness properties. A practical application of the automated recovery in WED-flow is the real-time recovery of failed cases for mission-critical applications and services.
展开▼