Workflow management systems (WfMS) have been developed as a means to coordinate organisational processes. In order to provide fault tolerance and concurrency control, concepts from transaction processing systems have been incorporated in WfMSs. Researchers from the database community have attempted to define workflows in terms of advanced transaction models. Another theoretical approach has been to selectively use concepts from transaction theory to better support existing WfMSs. However, most commercial systems use classical flat transactions where possible, but leave a lot to be desired.
This thesis explores the use of xymphonic transactions to improve transactional support in WfMSs. The Xymphonic Transaction Model was presented in (Anfindsen 1997), and introduces conditional isolation and nested databases. These concepts combine to give transactions the ACCID properties, which are better suited to supporting collaborative work.
The thesis proposes and discusses a design for implementing xymphonic transactions in a WfMS. The primary benefits are support for an undo functionality using the transaction manager's recovery mechanisms, and the possibility of grouping multiple and more complex tasks into atomic units. The transactional mechanisms may mostly be automatically enforced, and are controlled by the workflow designers through a very simple extension to the workflow definition language. The limitations to the design are considered. Xymphonic transactions are not suitable for environments where many heterogeneous and autonomous systems are to be integrated by the WfMS.