Abstract
A workflow is a series of work processes performed under rules that reflect the formal structure of the organization in which they are carried out and the relationships between their various parts. Workflow applications are software applications used to automate part of workflow processes. They run under the control of a workflow management system (WfMS). The WfMS usually comprises an organizational model, describing the process structure, and a process model, describing the process logic. The Workflow Management Coalition (WfMC, 2008) publishes a set of workflow definitions and related material, including a reference model. Databases are commonly used as a WfMS supporting technology. Not only workflow data are maintained in databases but also the rules governing processes can be stored in database schemas. Database functionality can be used both for defining and managing process models as well as for environment notification and process enactment. This article shows how particular database-related technologies can be used to support WfMS.
TopIntroduction: Workflow Systems
A workflow is a series of work processes performed under rules that reflect the formal structure of the organization in which they are carried out and the relationships between their various parts. Workflow applications are software applications used to automate part of workflow processes. They run under the control of a workflow management system (WfMS). The WfMS usually comprises an organizational model, describing the process structure, and a process model, describing the process logic. The Workflow Management Coalition (WfMC, 2008) publishes a set of workflow definitions and related material, including a reference model.
Databases are commonly used as a WfMS supporting technology. Not only workflow data are maintained in databases but also the rules governing processes can be stored in database schemas. Database functionality can be used both for defining and managing process models as well as for environment notification and process enactment. This article shows how particular database-related technologies can be used to support WfMS.
Table 1 relates workflow issues and the database technologies that can be used to deal with them. It summarizes the content of this article presenting the relationships discussed in the text. The next two sections discussing workflow management issues and database support are related to the columns and lines of the table and provide an explanation for these relationships. Only the general relationships stressed in the text are shown. For example, data replication and partitioning have an influence on scalability and privacy but the table does not show the same influence with respect to distributed database technology, although data replication and partitioning are basic strategies of distributed databases.
Table 1. General relationships between workflow issues and database technologies
| ENVIRONMENT | | PROCESS | | | |
| | | | PEOPLE | | DATA |
| Diversity | Interoperability | Scalability | Collaborative work | Flexibility | Evolution | Assignment of tasks | Consistency | Changes | Privacy | Location | Semantic heterogeneity |
DATABASE TYPES | Distributed | ✓ | ✓ | | | | | | | | | | ✓ |
Parallel | | | ✓ | | | | | | | | | |
Multi | ✓ | ✓ | | | | | | | | | | |
Active | | | | | | | ✓ | | | | ✓ | |
DATABASE TECHNOLOGIES | Data replication | | | ✓ | | | | | | | ✓ | | |
Data partitioning | | | ✓ | | | | | | | ✓ | | |
Synchronization techniques | | | | | | | | ✓ | ✓ | | | |
Transaction models | | | | ✓ | ✓ | | | ✓ | | | | |
Schema | | | | | ✓ | ✓ | | ✓ | ✓ | | | ✓ |
Metadata | | | | ✓ | ✓ | ✓ | | ✓ | | | ✓ | ✓ |
Key Terms in this Chapter
Data Replication: A storage technique through which some nodes have copies of the same data. Replication of data is a common method to improve read performance but is rather problematic if data is often updated.
The definitions below are based on: Georgakopoulos, 2004, Schuster & Heinl, 1997, Stohr & Zhao, 2001, WfMC, 2008
when it is a process: the assignment usually results in its execution
Computer-Supported Cooperative Work (CSCW): Provides tools for supporting people working together, for example, video and audio conferences, group calendar, e-mail, text chat. Differs from Workflow applications in having more flexibility and less coordination
Process Enactment: A WfMS is said to enact the real world process for each process instance.
Data Partitioning: A storage technique through which each data item is assigned to exactly one node. Data operations accessing different data partitions can be executed in parallel. However, if one operation needs to access more than one data partition, the execution is more complicated
Content Management Systems: Provide tools for organizing, delivering and sharing documents and images. Usually used in conjunction with CSCW systems or workflow systems
Workflow Instance: Also, process instance. Each execution instance of a process managed by the WfMS
Task Assignment: The assignment of a task to an agent responsible for it, made by the WfMS. The agent may be a person or a process. When it is a person, the assignment usually implies a notification to the agent
Metadata Description: Abstract data description used to describe concrete data items. Usually contains descriptions of data structures, relationships to other data items, location, scope, and other features of the data item