The present invention relates to workflow technical field, especially a workflow management system and a method for implementing the workflow definition tool.
A workflow is a computing model of business processes, which presents the orderly organizing logic and rules of tasks in business processes using appropriate models and implements computation on these models. The main problem workflows attempt to solve is the automation problem of the transmission of documents, information and tasks between participators by some predefined rules in computers for a specific business target. Workflow is a part of computer supported collaboration, which generally researches on how a group can cooperate together with the help of computers. The main functionalities of the workflow management system include using computer technology to define, execute and manage workflows, and coordinate the information exchange of tasks in the executing process of workflows and of individuals in the group. Workflow needs workflow management system to implement.
The existing workflow management generally includes a workflow definition tool and a workflow engine. The workflow definition tool adopts proper modeling technology to model workflows of the workflow management system. The workflow engine manages the life cycle of business processes by parsing process definition information generated by the workflow definition tool, including creating of process instances, generating of work item, controlling of routing and so on.
With the expansion of the application domain of workflow management systems, the drawbacks of different kinds of workflow products in the modeling problem become increasingly obvious. Most existing workflow products build on the reference model presented by WFMC (Workflow Management Coalition). Although the WFMC reference model admits that there is no unified method for workflow modeling, using meta-data modeling technology is the simplest and most efficient method generally accepted by people. The meta-data is the process definition data that the workflow engine understands. When the workflow reference model is proposed, this type of modeling method based on meta-data has positive effects and can easily achieve the conversion from process modeling requirements to meta-data through various definition tools. However, with the expansion of the application fields, the problem of limited modeling scope of the meta-data technology becomes increasingly obvious. The developers of the workflow management system need to determine the modeling requirements of business processes and to design the meta-data sets according to the modeling requirements before system development. Unfortunately, during the application of the workflow management system, the modeling requirements of users continuously change. This forces the workflow management system developers to expand the meta-data set and modify the source code of the workflow engine to adapt to the changes of the modeling requirements. To the development, maintaining and use of workflow management system, it is a disaster. Therefore, adapting to the changing requirements without modifying the source code of the workflow engine is a development trend of workflow management system in future.
This invention aims at the problem that the existing workflow management cannot satisfy the complex and changing process modeling requirements, and presents a workflow management and a method for implementing the definition tool.
In order to solve the technical problem, this invention presents a workflow management system, including a computer, a workflow definition tool and a workflow engine in the computer. The workflow definition tool directly models business process as workflow definition codes which can be executed by computers. The workflow engine directly executes the workflow definition codes.
The workflow management presented by this invention directly presents processes as computer executable codes. The workflow engine directly invokes these codes without parsing the process definition. When the business process changes, only the workflow definition tool needs to be modified without the need to modify workflow engine codes. This significantly facilities the development, maintenance and use of the workflow management system.
In addition, this invention presents a method for implementing the workflow definition tool. This method directly represents processes as computer executable definition codes, includes:
step 1: implementing the process interface, which defines the global functionalities of processes in a coding manner;
step 2: implementing the data interface, which defines the rules for data reading and writing in a coding manner;
step 3: implementing the activity interface, which defines the functionality of every activity in a business process in a coding manner;
step 4: implementing the work item interface, which defines the specific tasks of process activities in a coding manner.
This invention directly represents processes as computer executable process definition codes, and can implement the workflow definition tools in the workflow management flexibly according to the change of business processes. Thus, it facilities the development, the maintenance and use of the workflow management system greatly.
After sufficiently summarizing various the workflow modeling requirements, it has been found that no matter how complex the process definition is, it can be classified into four categories of interfaces. The interfaces described here refer to the functional description of business processes, but not specific details of implementation. As shown in
The process interface 21 defines the global functionalities of processes in a coding manner. The global functionalities include the acquisition of the candidate executors, the start of the business process and the finish of the business process. The acquisition of the candidate executors means the way that processes retrieve the executors, and the determination process through which various process executors can be chosen. The start of business processes refers to the activating process of workflows. Generally, the starting process can create a corresponding process instance, and specific starting operation can also be added here. The finish of business processes refers to cleaning up after the process execution, generally including the recording process of logs.
The activity interface 22 defines the functionality of every activity in a coding manner. During the modeling process, a business process generally includes a series of nodes (called activities) and transitions between nodes (called links) Process definition determines every activity, thus every activity needs to implement this interface. For an activity interface, it includes the activity activation function, activity completion function and activity execution function. The activation of activities refers to the activation condition, which usually depends on the links from previous nodes to current node. Of course, more complex activation condition can be implemented, for example, the adding of the expressions, compound linking in relations and so on. The completion of activities refers to operations after activity execution, generally activating the next activity, may also include retrieving the resources used in the activities. The execution of activities refers to specific operations during the life time of activities, generally including the generating of the activity instances and work item instances.
The data interface 23 defines the rules for data reading and writing in a coding manner. Processes contain some process data, and the execution of activities is the operation process of process data. The data interface includes data reading and writing functionalities. Data reading means how to control the reading of process data, for example, to determine which activities or users can read the data. Data writing means how to control the writing of process data, including the control of writing authority and concurrency.
The task item interface 24 defines the specific tasks of process activities in a coding manner. Here, this invention limits every activity has only one work item. These tasks include the acquisition of the task executor, the preparation of the work item and the operating interfaces of the end users, the completion of the work item, and the transmission of the work item. The acquisition of the task executor refers to the determination of the end users who can execute this task, which is also the activity participant. The preparing of the work item and the operating interfaces of the end users means how to show the end user interface, generally including reading data from the workflow engine by the data interface for the end user to read, and displaying the user interface for end user writing and writing data to the workflow engine by the data writing interface. The completion of the work item refers to specific finishing operations, generally triggering the finishing operation of the corresponding activity. The forwarding transmission of the work item means transmitting the work item from one executor to another.
In essence, the process modeling requirements all can be expressed by codes. The workflow definition tool in this invention represents processes as computer executable process definition codes by direct coding or assisting tools. According to the direct coding method, modeling persons (with programming experience) sequentially implement all process definition interfaces using the programming language which is the same as the implementing language for workflow engine through the process shown in
This invention can be used in a large scale in industry.
Number | Date | Country | Kind |
---|---|---|---|
200910152767.5 | Sep 2009 | CN | national |
This is a U.S. national stage application of PCT Application No. PCT/CN2010/071607 under 35 U.S.C. 371, filed Apr. 7, 2010 in Chinese, claiming the priority benefits of Chinese Application No. 200910152767.5, filed Sep. 28, 2009, which is hereby incorporated by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN2010/071607 | 4/7/2010 | WO | 00 | 3/27/2012 |