Implementation of Work-flow Management System
Oral Defence Date:
Wednesday, May 19, 2010 - 12:00
Profs. James Wong and Hui Yang
A workflow management (WFM) system is a software system which provides functions to define workflow definitions and control the executions of workflow instances. Workflow Management Coalition (WfMC), which was founded in 1993, is an organization dedicated to the standardization of WFM systems to improve the interaction ability among incompatible WFM products . The efforts of WfMC include standardization of workflow terms, system structures, and programming interfaces . The XML Process Definition Language (XPDL)  is one of the standards published by WfMC. XPDL is used as data format to describe workflow process definitions. It is also utilized by workflow design tools to exchange workflow process definitions. XPDL compatible workflow engine can interpret and execute the workflow XPDL format workflow process definitions. In this project, a WFM system is designed and implemented according to WfMC standard and workflow processes are stored using XPDL compatible data format. The WFM system includes a workflow design tool, a workflow engine and workflow client API (WAPI). The workflow design tool provides functions in GUI for users to define workflow process definitions as diagrams. The workflow engine implements basic workflow patterns including sequence, parallel split (AND split), exclusive choice (XOR split), synchronization (AND join), Simple Merge (XOR join). The workflow engine runs based on Finite State Machine (FSM) strategy . The workflow engine uses finite state transition diagrams to control the synchronized transactional execution of workflow processes. Workflow client API (WAPI) provides function for client applications to interact with the workflow management system. To test the WFM system, a demo document approval process is implemented and integrated into the workflow management system.
Workflow Management System, Workflow Patterns, Workflow Designer, Workflow Engine, Workflow API