Design of Workflow Engine Based on Relational Structures

Design of Workflow Engine Based on Relational Structures

Song Ji (Baoding University of Technology, Baoding, China), Weifang Zhai (Baoding University of Technology, Baoding, China) and Yiran Jiang (Baoding University of Technology, Baoding, China)
DOI: 10.4018/IJAPUC.2019100103


Workflow technology is the core technology to realize business process modeling, process operation, monitoring and management, and ultimately realize business process automation. Workflow-based office automation system can separate code writing and the operation mode. When business processes need to be changed, there is no need to modify the program. Users only need to customize the workflow through the visual process customization mode. The workflow engine is the core of the whole workflow management system and the control center of the whole system. This article designs a workflow engine based on a relational structure, including the design of workflow engine class, functional component, interface and database. Finally, a flexible office automation system with customizable business processes is implemented.
Article Preview

1. Introduction

Office automation (OA) system greatly improves office efficiency and quality. However, most of the current OA systems are designed and developed for traditional organizations and business processes, and the development mode is more concerned with the specific business process. For each task, the corresponding Web interface needs to be developed. After the development of OA system is completed, the work flow is fixed. We hope to establish a general office automation system, improve the flexibility of the system, so that it can adapt to changes in business processes. Workflow technology is a new subject in the field of computer-supported collaborative work. It is the core technology to realize enterprise business process modeling, process operation, monitoring and management, and ultimately realize business process automation1. The OA system developed by workflow technology can separate code writing from operation mode. When a business process needs to be changed, users only need to re-customize the workflow through visual process customization mode without modifying the specific program.

Workflow engine is the most important part of OA system workflow technology development. It schedules the tasks of business process and is responsible for allocating various resources. In business activities supported by workflow management system, workflow engine is considered as a BOS (Business Operating System). Workflow engine manages and monitors specific business processes, and promotes process instances according to process definition and data information. Workflow engine is the core of the whole workflow management system. The main functions of workflow engine are as follows:

  • 1.

    Instance of Process Model;

  • 2.

    Navigate the execution of processes and activities;

  • 3.

    Complete activities by interacting with external resources;

  • 4.

    Maintaining Workflow Control Data and Workflow Related Data.

The most important task of developing office automation system is to develop workflow engine. Workflow engine is the core of the whole system. A good design of workflow engine can improve the efficiency of execution, and make the workflow system have good flexibility and scalability. Therefore, this paper is to design an efficient workflow engine.


2. Design Of Workflow Engine

2.1. Class Design of Workflow Engine

The workflow engine use case diagram is shown in Figure 1. Common users of workflow and workflow managers can drive the process. At the same time, they can carry out task list and process query and statistics functions. In addition, compared with ordinary users of workflow, workflow managers also have the functions of monitoring and data maintenance for process instances.

Figure 1.

Use case diagram of workflow engine


The function of workflow engine is developed by using object-oriented method. The functions of the engine are divided into various aspects. There are seven classes designed by the workflow engine in this system:

  • 1.

    WorkflowType:Workflow type

  • 2.

    WorkflowNode: Workflow Node

  • 3.

    WorkflowNodeType: Workflow node type

  • 4.

    WorkflowInstance: Workflow instance

  • 5.

    WorkflowNodeInstance: Workflow node instance

  • 6.

    Workflowdirection: Workflow Flow

  • 7.

    Workflow: Workflow

From the graph, we can see that a workflow corresponds to a workflow class, and workflow can realize multiple workflow instances. The flow direction of workflow consists of multiple workflow nodes, each workflow node corresponds to a node type.

These classes are encapsulated into components and cooperate with each other to realize the function of workflow engine. The classes and relationships of workflow engines are shown in Figure 2.

Figure 2.

Class diagram of the workflow engine


Figure 3 is a sequence diagram of workflow engine process creation. The requester sends an application to the workflow engine to create a workflow. If the request is passed, the workflow engine will create a new workflow. After the creation of a workflow, the next task is to instantiate the workflow and form workflow steps. After the process of creating the process is over, the user chooses to save the processed results and display them in the task list in a striking way.

Figure 3.

Timing chart of process created


Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing