FlowBack: Providing Backward Recovery for Workflow Management Systems

Similar documents
Improving Backward Recovery in Workflow Systems

Correctness Criteria Beyond Serializability

A Concurrency Control for Transactional Mobile Agents

Transactional Workflows or Workflow Transactions?

Towards Choreography Transactions

Constructive Review of Transaction Models in Database Systems

Correctness Criteria Beyond Serializability

RTC: Language Support for Real-Time Concurrency

Fault tolerance with transactions: past, present and future. Dr Mark Little Technical Development Manager, Red Hat

Deriving Reliable Compositions using Cancelable Web Services

On Capturing Process Requirements of Workflow Based Business Information Systems *

A CORBA-based Multidatabase System - Panorama Project

Realisation of Active Multidatabases by Extending Standard Database Interfaces

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Towards a Framework for Capturing Transactional Requirements of Real Workflows

Transactions in Task Models

E-Commerce with Rich Clients and Flexible Transactions

A Comparative Study of Transaction Models in Mobile Computing Environment

Long running and distributed transactions. TJTSE54 spring 2009 Ville Seppänen

Transaction Management & Concurrency Control. CS 377: Database Systems

Chapter 4: Transaction Models

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts *

Advances in Data Management Distributed and Heterogeneous Databases - 2

Concurrency Control & Recovery

Atomic Commitment for Integrated Database Systems

The Workflow Activity Model WAMO Research paper

Examining BPEL s Compensation Construct

Chapter 25: Advanced Transaction Processing

CORBA Object Transaction Service

Advanced Transaction Management

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

PROBLEMS IN SUPPORTING DAT A BASE TRANSACTIONS IN AN OPERATING SYSTEM TRANSACTION MANAGER

Databases - Transactions

Examining BPEL s Compensation Construct

An Optimistic Transaction Model for a Disconnected Integration Architecture

A Process History Capture System for Analysis of Data Dependencies in Concurrent Process Execution

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Proposal for Business Transaction Protocol Version 1.0

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

On The Theoretical Foundation for Data Flow Analysis in Workflow Management

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Security Mechanisms I. Key Slide. Key Slide. Security Mechanisms III. Security Mechanisms II

Requirements Engineering for Enterprise Systems

Workflow Recovery * Johann Eder, Walter Liebhart Institut fur Informatik Universitat Klagenfurt, Austria { eder,w alter ifi.uni-klu. ac.

2-PHASE COMMIT PROTOCOL

A practical and modular implementation of extended transaction models

XI. Transactions CS Computer App in Business: Databases. Lecture Topics

Transaction Management. Pearson Education Limited 1995, 2005

Recoverability. Kathleen Durant PhD CS3200

6.033 Computer System Engineering

Concurrency Control & Recovery

An open and safe nested transaction model: concurrency and recovery

Interactive Responsiveness and Concurrent Workflow

CS5412: TRANSACTIONS (I)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

7 Fault Tolerant Distributed Transactions Commit protocols

An Efficient Log.Based Crash Recovery Scheme for Nested Transactions

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

H2 2/3/2006. (c) (5 points) Name the three main primitive patterns of interoperability among workflows.

Advanced Databases Lecture 17- Distributed Databases (continued)

An Analysis of Mobile Transaction Methods and Limitations in Execution of M Commerce Transaction

Version Models. Temporal Databases Engineering Databases Software Configuration Systems

Transactional Composition and Concurrency Control in Disconnected Computing

Distributed Transaction Management. Distributed Database System

Transaction Processing in Mobile Database Systems

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

CS514: Intermediate Course in Computer Systems. Lecture 38: April 23, 2003 Nested transactions and other weird implementation issues

Managing Overlapping Transactional Workflows *

OCL Support in MOF Repositories

Distributed Transaction Management

July 13, Via to RE: International Internet Policy Priorities [Docket No ]

Arbeitspapiere der GMD GMD Technical Report No. 1071

A Survey of B-Tree Logging and Recovery Techniques

Intro to Transaction Management

Adaptive Web Transactions: An Approach for Achieving the Atomicity of Composed Web Services

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

Design, Share and Re-use of Data and Applications into a Federate DataBase System. 1. Introduction

Integrated Version and Transaction Group Model for Shared Engineering Databases

Ecient Redo Processing in. Jun-Lin Lin. Xi Li. Southern Methodist University

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Middleware Mediated Transactions & Conditional Messaging

Transaction Management Overview. Transactions. Concurrency in a DBMS. Chapter 16

Software Architectural Modeling of the CORBA Object Transaction Service

Overview. Introduction to Transaction Management ACID. Transactions

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Synchronisation and Coordination (Part 2)

Transaction Management Overview

TRANSACTION PROPERTIES

Implementation Techniques

Serializability of global history

Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM).

FlexFlow: Workflow for Interactive Internet Applications

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 17-1

CS122 Lecture 15 Winter Term,

Recommended Practice for Software Requirements Specifications (IEEE)

Automating Workflows for Service Provisioning: Integrating AI and Database Technologies

1 Executive Overview The Benefits and Objectives of BPDM

' There is yet another category of data that are defined and used

Extending Workflow Systems with QoS Management

Transcription:

FlowBack: Providing Backward Recovery for Workflow Management Systems Bartek Kiepuszewski, Ralf Muhlberger, Maria E. Orlowska Distributed Systems Technology Centre Distributed Databases Unit ABSTRACT The Distributed Systems Technology Centre (DSTC) framework for workflow specification, verification and management captures workflows transaction-like behavior for long lasting processes. FlowBack is an advanced prototype functionally enhancing an existing workflow management system by providing process backward recovery. It is based on extensive theoretical research ([3],[4],[5],[6],[8],[9]), and its architecture and construction assumptions are product independent. FlowBack clearly demonstrates the extent to which generic backward recovery can be automated and system supported. The provision of a solution for handling exceptional business process behavior requiring backward recovery makes workflow solutions more suitable for a large class of applications, therefore opening up new dimensions within the market. For the demonstration purpose, FlowBack operates with IBM FlowMark, one of the leading workflow products. Keywords: Workflow, transactions, advanced transaction models, backward recovery, compensation, FlowBack, FlowMark 1. INTRODUCTION Historically, the coordination of business activities, the order of operations, and recovery from exceptional process behavior have all been performed manually. In recent years, the possibility of automating the flow and scheduling of tasks has been explored and substantial development has been made in what is generally called workflows technology. The workflows represent organization flow of information from one processing entity, either manual or automated, to another. The workflow management systems, partially or fully, take over the responsibility for coordination of the multi-system execution of tasks. Workflow technology has emerged as a 1/7

multi-disciplinary field with significant contributions from the areas of software engineering, software process management, database management and distributed systems. There exists a strong school of thought that supports a need for concurrency control and synchronization of workflow processes, addressing correctness concerns during workflow execution. In particular, production workflows, on which this project is focused, involve the coordination of organizational information processing systems that are usually based on database management systems, having multi-tier, client-server architectures with a central workflow server responsible for management of business processes. These workflows, in contrast to ad-hoc or administrative document management workflows, have well defined procedures for a rigorous and multiple repetitive process instance execution, which may span several heterogeneous information systems. Thus workflows management systems are complex software products which should provide a number of functions/services to different groups of users. Basically, among others, they should have extensive features to define the internal task structure, control the execution of activities involving different types of processing entities and support reliable forward recovery services (for system failures) and backward recovery services (for external actions such as, for example, cancellation of a customer request). The support for backward recovery service is the main focus area of the FlowBack project. 2. RECOVERY FOR COMPLEX PROCESSES The term transactional workflows has been introduced [14] to clearly recognize the relevance of transactions in the context of workflows. Transactional workflows involve coordinated execution and suggest selective use of transactional properties for individual tasks or entire workflows. Basically, they use advanced transaction models as a core concept to specify workflow correctness, data consistency and reliability [1],[10],[16]. A great deal of research has been devoted to broaden the scope of classical transactions [1]. However, study of transaction models for workflows is still in its early phase [7] [13] [14]. So far it seems to emphasize only flow control within applications. In this project we have considered another issue: a semantic transaction model focusing on flow control between tasks of different processes in the case of semantic failure (such as a change of business rules or cancellation of previously requested service provision) resulting in the necessity for backward process recovery. It is well understood that the "classic" flat transaction model (although extremely successful in database environments) does not sufficiently reflect the processing patterns of complex, multi-system applications. The most fundamental drawback of transaction systems in the context of long-lived applications is their notion of transactions being concurrent and completely unrelated units of work. As a consequence, any existing interrelations between individual processes, like control flow and other semantic connections, cannot be implemented by the system, but have to be handled by the application. 2/7

An important step in the evolution of a basic transaction model was the extension from single-level transaction structure to multi-level structures. Solutions such as a nested transaction [10], open nested transactions [17], the Saga model [2], split-and-join transactions [11], flexible transactions [12], poly transaction [15], ConTract [16], all introduce various ways to handle long lasting transactions without the necessity of long held locks on relevant data resources. However, a fundamental problem with many extended and relaxed transaction models is that they provide a pre-defined set of properties that may or may not be required by the semantics of a particular activity. Another problem with adopting these concepts for designing and implementing workflows is that the systems involved in the processing of a workflow may not provide support for facilities implied by an extended transaction model (e.g. no visible "prepare-to-commit" state). Furthermore, and most importantly, in order to support long-running computations the proposed models either assume that only forward recovery is supported after a crash (unacceptable limitations which implies human controlled backward recovery!) or that compensating transactions will be performed, which semantically undo what previously original transactions have done. Consequently, if the transaction later aborts, its failure atomicity may require that the effects of already committed subtransactions be undone by executing compensating subtransactions. Moreover, as in a multidatabase environment, relaxing the isolation property may cause violation of global consistency (global serializability) since other transactions may observe the effects of subtransactions that will be compensated later. It seems to be hard, or often impossible, to provide fully automated compensation transactions. But as a matter of fact, compensation as a concept is a standard technique, if applied successfully (especially by a human). Since a workflow process is heavily dependent on the organizational structure and business policies within the organization s individual process, instances may require different semantic "undo", i.e., compensation activity. Thus the complete compensation should be performed by executing for each task instance its corresponding compensating activity (semantic undo). In this context we may define workflow management systems that provide the backward recovery feature as a systems that will automatically recover an aborted process to a state that is determined to be acceptable from a business perspective. Automatic backward recovery is of extreme importance from the user s perspective, as the manual solution to this problem is both very time consuming and labor intensive, with a correspondingly high cost. Providing backward recovery feature for workflow management systems is a goal of the FlowBack project. The issue of a thorough design of compensation activities is a related problem to the one described above. We will not benefit much from a proper scheduling of compensation activities if we are not able to define properly the semantics of compensation actions. There is much work done so far in this field, including some internal research associated with the FlowBack project ([8]). 3/7

3. FLOWBACK As stated in the previous section, the FlowBack project concentrates more on the process scheduling aspects, rather than the design of the compensation activities, and is an attempt to provide the workflow management systems with the feature of backward recovery by generating the compensation path and managing its execution. From the user perspective, FlowBack is an exciting opportunity to: enhance the semantics of their business processes by including the definition of compensation for the individual steps of the process; make them more comprehensive and reliable; speed up the deployment process; address more business needs. This can open up new domains within the workflow market that were formerly inaccessible due to the above inefficiencies. 3.1 Architectural considerations From the design point of view we may consider several ways of dealing with the execution of a compensation plan: namely static, dynamic or semi-dynamic. The basic concept behind the static approach is as follows: knowing the model of the original process we automatically generate another process called the abort workflow model. This additional workflow process is instantiated and executed every time the user or process owner decides to abort the process. Its main goal is to compensate every activity that was executed during the runtime of the original process model. After the automatic generation of the abort workflow model, the user is allowed to make some modifications to it. The dynamic approach is built on the assumption that it is possible to build the compensation path during the execution of the original model. When the original model is executing, the workflow system is building a compensation path. This compensation path is taken when the user decides to abort the original workflow. The dynamic approach is the most transparent solution to the user. The drawback of the dynamic approach is that the user is not allowed to make any modifications to the generated compensation plan, which can cause problems for certain applications. The semi-dynamic solution is the combination of the former two. In the first step the static approach is taken and the static abort workflow model is generated. When the user aborts the original process, a simplified model that contains only activities needed for compensation is generated based on the static model and the log files. This simplified model is then executed. 4/7

3.2 FlowBack architecture FlowBack is a module that can be put on top of any standards-compliant production workflow system. The solution we are proposing is vendor independent and is based on the architecture model as proposed by the Workflow Management Coalition [18] and supported by many leading vendors. To achieve its goals FlowBack uses the static compensation generation plan model. It consists of two main modules: the FlowBack Reverser and FlowBack Compensator. FlowBack Reverser is a module that takes the definition (*.FDL file) of a process model and generates the definition of a compensation plan. The output of this module is a *.FDL file that can be modified, approved and interpreted by a user. To be able to properly generate the compensation plan some enhancement to the original FlowMark process definition language is made. These additional constructs allow the user to specify which activities are to be compensated, what are the corresponding compensation activities, change the default user assignment, and finally define the way to compensate the nested constructs and loops in the original process model. FlowBack Compensator is a module that allows a user to abort a process and invoke the compensation plan. By analysis of the workflow log (audit trail) the appropriate execution path of the compensation plan is taken. 3.3 Environment FlowBack in its current version has been build on top of IBM FlowMark. It runs on OS/2 and Windows NT platforms and is written in Visual Age C++ and Microsoft Visual C++ respectively. 3.4 Demonstration Description The demonstration is based on a process describing telecommunication provisioning. The original business process involves steps like creating the user data file, establishing physical and logical connections, initializing metering systems, setting up the directory entry for the client and finally sending the invoice to the client. In the demonstrated scenario, after performing a process half way through the client decides to resign from the service because of the relocation to another city. DSTC FlowBack is used to abort the original process and initiate the compensation activities like disconnecting the line, removing the client information from the directory and charging the customer for establishing a physical connection line to their previous location. 4. ACKNOWLEDGMENTS The work reported in this paper has been funded in part by the Co-operative Research Centre Program through the Department of Industry, Science & Tourism. 5. REFERENCES [1] Elmagarmid A, Database Transaction Models for Advanced Application, Morgan Kaufmann Publishers 1992 5/7

[2] Garcia-Molina H, Salem K, Sagas, Proceeding of ACM SIGMOD Conference on Management of Data, 1987 [3] Kiepuszewski B, Rollback Mechanism in IBM FlowMark - Design Document, Proceedings of the 1997 DSTC Symposium, June 1997 [4] Kuo D, Lawley M, Liu C, Orlowska M, A Model for Transactional Workflows, Seventh Australasian Database Conference Proceedings, 1996 [5] Kuo D, Lawley M, Liu C, Orlowska M, A General Model for Nested Transactional Workflows, Proceedings of the International Workshop on Advanced Transaction Models and Architectures, 1996 [6] Kuo D, Transactional Workflow Prototype Design Document, Distributed Systems Technology Centre, Technical Report, 1996 [7] Leymann F, Schek H, Vossen G, Transactional Workflows, Dagstuhl Seminar 9629, 1996 [8] Liu C, Orlowska M, Confirmation: Increasing Resource Availability for Transactional Workflows. Submitted to SIGMOD Record, 1998 [9] Liu C, Kuo D, Lawley M, Orlowska M, Modeling and Scheduling of Transactional Workflows, Distributed Systems Technology Centre, Technical Report, DSTC-TR-9626, 1996 [10] Moss J, Nested transactions and Reliable Distributed Computing, Proceedings Of The 2nd Symposium on Reliability in Distributed Software and database Systems IEEE CS Press 1982 [11] Pu C, Superdatabases for composition of Heterogeneous Databases, IEEE Proceedings of The 4th International Conference on VLDB. 1998 [12] Rusinkiewicz M, Emagarmid A, Leu Y, Litwin W, Extending the Transaction Model To Capture More Meaning, SIGMOD Record, 19, 1990 [13] Rusinkiewicz M, Sheth A, Specification and execution of Transactional Workflows, in Modern Database Systems: The Object Model, Interoperability and Beyond, ACM press 1995 [14] Sheth A, Rusinkiewicz M, On transactional workflows, in Special Issue on Workflow and Extended Transaction Systems IEEE Computer Society, Washington DC, 1993 [15] Shet A, Rusinkiewicz M, Karabatis G, Using Poly transactions to Manage Interdependent Data in Elmagarmid A, Database Transaction Models for Advanced Application, Morgan Kaufmann Publishers 1992 [16] Wachter H, Reuter A, The ConTract Model in Elmagarmid A, Database Transaction Models for Advanced Application, Morgan Kaufmann Publishers 1992 [17] Weikum G, Schek H, Concepts and applications of Multilevel Transactions and Open Nested Transactions, in Elmagarmid A, Database Transaction Models for Advanced Application, Morgan Kaufmann Publishers 1992 6/7

[18] Workflow Management Coalition, The Workflow Management Coalition Specifications Terminology and Glossary, 1996 7/7