Global transaction support for workflow management systems: from formal specification to practical implementation

Abstract. In this paper, we present an approach to global transaction management in workflow environments. The transaction mechanism is based on the well-known notion of compensation, but extended to deal with both arbitrary process structures to allow cycles in processes and safepoints to allow partial compensation of processes. We present a formal specification of the transaction model and transaction management algorithms in set and graph theory, providing clear, unambiguous transaction semantics. The specification is straightforwardly mapped to a modular architecture, the implementation of which is first applied in a testing environment, then in the prototype of a commercial workflow management system. The modular nature of the resulting system allows easy distribution using middleware technology. The path from abstract semantics specification to concrete, real-world implementation of a workflow transaction mechanism is thus covered in a complete and coherent fashion. As such, this paper provides a complete framework for the application of well-founded transactional workflows.

[1]  Fabio Casati,et al.  WIDE Workflow Model and Architecture , 1996 .

[2]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[3]  Paul W. P. J. Grefen,et al.  CrossFlow-cross-organizational workflow support for virtual organizations , 1999, Proceedings Ninth International Workshop on Research Issues on Data Engineering: Information Technology for Virtual Enterprises. RIDE-VE'99.

[4]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[5]  Philip A. Bernstein,et al.  Principles of Transaction Processing , 1996 .

[6]  Paul W. P. J. Grefen,et al.  WIDE-a distributed architecture for workflow management , 1997, Proceedings Seventh International Workshop on Research Issues in Data Engineering. High Performance Database Management for Large-Scale Applications.

[7]  Umeshwar Dayal,et al.  Organizing long-running activities with triggers and transactions , 1990, SIGMOD '90.

[8]  Paul W. P. J. Grefen,et al.  Semantics and architecture of global transaction support in workflow environments , 1999, Proceedings Fourth IFCIS International Conference on Cooperative Information Systems. CoopIS 99 (Cat. No.PR00384).

[9]  Frank Leymann,et al.  Supporting Business Transactions Via Partial Backward Recovery In Workflow Management Systems , 1995, BTW.

[10]  Krithi Ramamritham,et al.  Correctness issues in workflow management , 1996, Distributed Syst. Eng..

[11]  Gustavo Alonso,et al.  Flexible exception handling in the OPERA process support system , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[12]  Michael J. Franklin,et al.  Concurrency Control and Recovery , 2014, Encyclopedia of Database Systems.

[13]  Paul W. P. J. Grefen,et al.  Two-Layer Transaction Management for Workflow Management Applications , 1997, DEXA.

[14]  Umeshwar Dayal,et al.  Failure handling for transaction hierarchies , 1997, Proceedings 13th International Conference on Data Engineering.

[15]  Hector Garcia-Molina,et al.  Modeling long-running activities as nested sagas , 1991 .

[16]  Andrzej Cichocki,et al.  Workflow and Process Automation: Concepts and Technology , 1997 .

[17]  Panos K. Chrysanthis,et al.  Synthesis of extended transaction models using ACTA , 1994, TODS.

[18]  Asit Dan,et al.  Business-to-business integration with tpaML and a business-to-business protocol framework , 2001, IBM Syst. J..

[19]  Roel Wieringa,et al.  Subsystem design guidelines for extensible general-purpose software , 1998, ISAW '98.

[20]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[21]  Weimin Du,et al.  A Proposed Method for Creating VCR Functions using MPEG Streams. , 1995 .

[22]  Maria E. Orlowska,et al.  FlowBack: providing backward recovery for workflow management systems , 1998, SIGMOD '98.

[23]  Matthias Nussbaum Database Transaction Models for Advanced Applications , 1992 .

[24]  Gustavo Alonso,et al.  Functionality and Limitations of Current Workflow Management Systems , 1997, unpublished.

[25]  Ming-Chien Shan,et al.  Virtual transaction model to support workflow applications , 2000, SAC '00.

[26]  Andreas Reuter,et al.  ConTracts Revisited , 1997, Advanced Transaction Models and Architectures.

[27]  A. Elmagarmid Database transaction models for advanced applications , 1992 .

[28]  Gustavo Alonso,et al.  Advanced transaction models in workflow contexts , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[29]  Rajeev Rastogi,et al.  ConTracts - A Low-Level Mechanism for Building General-Purpose Workflow Management-Systems. , 1995 .

[30]  Paul W. P. J. Grefen,et al.  Cross-Organizational Transaction Support for Virtual Enterprises , 2000, CoopIS.

[31]  Sushil Jajodia,et al.  Advanced Transaction Models and Architectures , 2012, Springer US.

[32]  Gustavo Alonso,et al.  Concurrency control and recovery in transactional process management , 1999, PODS '99.

[33]  Paul W. P. J. Grefen,et al.  An Architecture for Nested Transaction Support on Standard Database Systems , 1998, DEXA.

[34]  Karl Aberer,et al.  CrossFlow: Cross-Organizational Workflow Management in Dynamic Virtual Enterprises , 2000 .

[35]  Mark F. Hornick,et al.  Customizing Transaction Models and Mechanisms in a Programmable Environment Supporting Reliable Workflow Automation , 1996, IEEE Trans. Knowl. Data Eng..

[36]  Paul W. P. J. Grefen,et al.  Distributed Global Transaction Support for Workflow Management Applications , 1999, DEXA.

[37]  Umeshwar Dayal,et al.  A Transactional Model for Long-Running Activities , 1991, VLDB.

[38]  Jennifer Widom,et al.  Active Database Systems: Triggers and Rules For Advanced Database Processing , 1994 .

[39]  Krithi Ramamritham,et al.  Failure handling and coordinated execution of concurrent workflows , 1998, Proceedings 14th International Conference on Data Engineering.

[40]  Gustavo Alonso,et al.  Transactions in Stack, Fork, and Join Composite Systems , 1999, ICDT.

[41]  Abraham Silberschatz,et al.  A Formal Approach to Recovery by Compensating Transactions , 1990, VLDB.

[42]  Gerhard Weikum,et al.  Principles and realization strategies of multilevel transaction management , 1991, TODS.

[43]  Vijay Kumar,et al.  Recovery mechanisms in database systems , 1997 .

[44]  Frank Leymann,et al.  Production Workflow: Concepts and Techniques , 1999 .