Analysis of Workflow Management System Based on UML
0 Preface
With the process of social production, workflow has become increasingly important role. Depending on the definition of WFMC, the workflow is the automatic operational process part or whole, which is manifested as a participant to take action on files, information, or tasks, and deliver it between participants. Simply put, workflow is a series of mutually connected, automated business activities or tasks. This article will detail the analysis and modeling of UML-based workflow management system.
1 Workflow overview
The research on workflow originated from the 1970s, subject to the limitations of the network, the initial workflow system mainly based on document processing within the enterprise. In the 1990s, with the development and application of Internet technology, the company has made the company and the company, between the company, and the company's internal department, the company has become possible This brings great opportunities and challenges for the development of workflow.
According to the prediction of international organizations, with the development of e-commerce, the data processing-centric database products have entered a stable development period, and the workflow products centered on business process will enter the high-speed development period. In China, with the continuous expansion of the standardization and scale of enterprise management, companies' computer management will not only stay in information resource management, but will move toward more complex business process.
In order to achieve organizational goals, relevant business activities constitute a business process in terms of timing or logical relationships. During business development, documents, information or tasks are transmitted, handled or executed between participants in accordance with the organization specification. In the overall business process, all or partially referred to as a workflow based on computer-aided processing is implemented. That is, the workflow is a working process that is automatically performed in a computer assisted, which can operate in a heterogeneous and distributed operating environment for many people. The workflow server is the operation of the operational process visual design, manages and controls business processes, and dynamically modifying a computer software platform for business processes during actual implementation. It makes it possible to rapidly develop, deploy and run enterprise business management systems, e-commerce systems, etc. It also enables companies in complex and varied market environments, in order to quickly adapt to market changes, quickly adjust business or business processes in the case of saving existing investments, existing systems constant. As it is available in: procurement processing, various applications, orders and quotation processing, employee performance assessment, personnel change, loan approval, claim processing, B2B, e-commerce, etc.
2 Workflow management system overview
The workflow management system is a system defined, created and executes a workflow, which is a special computer support for collaborative processing (CSCW, Computer Supported Cooperative) software system.
Production of workflow management system
Workflow management systems (WFMS, WorkflowManagementSystem) are software systems that are automatically or semi-active for computer support for automatic or semi-self-active automatic or semi-self-activated as a research target. With computer networks, especially the rapid development and application of Internet / intranet, computer supported distribution, collaborative work, workflow systems in enterprises, and institutions are more important, and there is also a broad prospect.
The workflow management system is a system defined, created, and performing a workflow. Development This type of software system is to coordinate the activities of various nodes that are distributed, collaborative processed, and execute in the predefined control process to achieve automatic execution and effective management of them. Developing such software has a lot of repeatability, the workflow management system is abstracting the public process control section of such software (workflow running service, engine), management section and other public parties, forming a software development platform. Users only need to describe their control flows, which can be automatically executed and efficiently managed for their control flow without repeatedly developing each different app.
Different workflow management systems can have different implementation methods, different underlying communication mechanisms, the scope of application can also have a big gap, but all workflow management systems come from the user's application layer, the general workflow management system should It can provide the following three functional support: first is the construction function, that is, define and modeling the business processes of the workflow and the activities of these business processes.
Secondly, running control functions, that is, in a certain operating environment, responsible for creating, executing, and controlling workflow instances, activating the corresponding resources and applications, and completing the control transfer from one activity to another. It is the core part of the entire workflow management system.
Finally, the interactive function is run, that is, the function of interacting the workflow management system with the workflow participant (participant or controller) and external applications.
Due to the development of information technology and increasing business competition, people are no longer satisfied with independent, scattered office automation and computer applications, but requires a comprehensive, integrated solution. As a technique for managing routine affairs, integrated technology, the emergence of WFMS is inevitable. It can improve and optimize business processes, improve business efficiency; achieve better business process control, improve customer service quality; improve the flexibility of business processes.
3 Composition of Workflow Management System
A complete workflow management system mainly includes parts and data of seven parts.
a. Process Definition Tool
Process definition tools are used to create a computer handable business process description. It can be a formal process definition language or object relationship model, or a set of routing commands that simply specify user information transmission.
b. Process definition
Process definition (data) contains all necessary information that makes the business process can perform subsystems performed by the workflow. These information include starting and terminating conditions, each component activity, active scheduling rules, participants of each business need to do, related applications, and data call information, etc.
c. Workflow execution subsystem and workflow engine
Workflow execution subsystems are also known as (business) processes execution environments, including one or more workflow engines. The workflow engine is the core software component of WFMS. Its features include: interpreting process definition, creating a process instance and controlling its execution, scheduling various activities, adding a work item for the user works, calling the application through the application interface (API, Application Program Interface), providing supervision and management functions Wait. The workflow execution subsystem can include a plurality of workflow engines, and different workflow engines perform workflows together by collaboration.
d. Workflow control data
Refers to the system data managed by the workflow execution subsystem and the workflow engine, such as status information of the workflow instance, status information of each activity, and the like.
e. Workflow related data
Refers to the data related to the business process. WFMS uses these data to determine the status transfer of the workflow instance, such as process schedule decision data, transmission data between the activity, and the like. Workflow related data can be used either by a workflow engine or by application calls.
f. Worksheet and work table handler
The worksheet lists a series of work items related to the participants of the business process, and the workpiece handlers manage the interaction between users and worksheets. The function of the workpiece handler is completed: supporting the user to select a work item in the worksheet, reassign the work item, the completion of the informed work item, call the appropriate application, etc. during the work item being processed.
g. Application and Application Data
Applications can be called directly by WFMS or via application agents. Alternatively, the application call, the WFMS is partially or fully automatically completed, or support the work of the business participant. Unlike workflow control data and related data, application data is local data on applications, and other components of WFMS are invisible.
Term interpretation
Table 1 Interpretation of Workflow Management System
Terminology / abbreviation
Explanation
Process definition
A workflow process defined by the process definition tool
Process instance process definitions After the operation is converted to a process instance, a process definition can generate multiple process instances
activity
A description of a relatively independent work, it is an important part of the process definition
Activity example
An example after the event is running
Work item
In an active example, work needs to be implemented by workflow participants
Work item list
Detailed description of all work items responsible for a participant
Cardboard box
Station between the delivery information
Transfer
From the activity to the credit box or from the credit box to the event, describe the connection between the credit box and the activity
Workflow control data
Represents process instance, status information of the active instance
Workflow related data
Data related to business processes, workflow engines determine the status transfer of process instances
Log data
Records of all events and corresponding data occurred in the system
Run server
Responsible for the operation, scheduling, query and log of the whole process, etc.
Process definition status
Indicates that the process defines the status of the current, such as: Whether it has been released, etc.
Process instance status
Indicates the status of the process example, such as operation, hang, etc.
Activity instance status
Indicates the status of the activity instance, such as running, hang, etc.
Work item
Represents the status before working project, such as running, hang, etc.
engine
Run the core of the server, responsible for the execution of the process instance, scheduling
Engine container
Contains multiple engines and provides multi-engine management functions
4 function analysis of workflow management system
As mentioned earlier, a complete general workflow management system should include seven components, limited to space, only the core part of the workflow management system: workflow execution subsystem and workflow engine analysis.
Workflow management system core function
The core component of the workflow management system is called a workflow execution subsystem, which provides a running environment for creation, initialization, and execution.
In a workflow execution subsystem, one or more workflow engines may include a centralized implementation, while the latter is a distributed implementation. Distributed implementations can also be divided into groups and irrelevant. The so-called assignment refers to a plurality of compatible workflow engines in a running service system; so-called heterogeneity refers to a workflow execution subsystem that contains two or more heterogeneous workflows in a workflow management system.
The workflow engine is the core software components of the workflow management system. Its main features are: interpretation process definition, control process instance (creation, activation, hang, termination, etc.), add a work item to the user works, maintain workflow control Data and workflow related data, call applications, provide supervision, management, and auditing functions.
Workflow execution subsystem involves four data: workflow control data, workflow related data, organization / role model data and worksheet.
The first, workflow control data. Refers to internal control data maintained by the workflow execution subsystem, mainly used to represent state information of the process instance and the active instance.
Second, workflow related data. Refers to the data related to the business process, they are generated and updated by the application or by the user, and the workflow engine determines the status transfer of the process instance based on the relevant data, such as process scheduled decision data, transmission data between the activity, etc. .
The third, organizational / role model data. It is a data describing the organizational structure, mainly used to determine the executor of the work item.
The fourth, worksheet. Lists a series of work items related to workflow participants.
5 modeling example
5.1 Creating an example of using
Use an example view to capture the behavior of the system from an external user. It divides system functions into transactions with meaningful actors (ideal users). These functional pieces are called the use case. The use case describes the interaction with the actors through a series of messages between the system and one or more actors. Its actors include personnel, other computer systems and processes.
The actors said with a villain that the actor's name was marked below this small person. Use an example to indicate an ellipse, the name of the use case is labeled in the ellipse, and the actor is connected with the actors of the same self. Modeling the active person, the perceived system function is to list the actors and the use case, showing the participation of the actors in each use case. a. Workflow execution subsystem
Fig. 1 is a view showing an example of a workflow execution subsystem. Activists include WFClient, Monitor, DefinitionDB (Workflow Definition Database), EnactDB (Workflow Run Database), OrganizationDB (Organization Database), ApplicationDB (Application Database), WorkItemdb (Work Item Database), Configfile (Workflow System Profile). Here, the WFCLIT is used as an interface portion that receives the user interaction, and the behavior of the user will be processed to the workflow execution subsystem according to the fixed rule. As the interface part of the receiving system administrator interaction, the Monitor is the adjustment of the system administrator to the system administrator to process the system. Actors such as the rest of DefinitionDB are responsible for recording the operations and status of each step of the workflow execution subsystem into the database for permanent saving. The use case includes ResourceLocate, EngineContainer, ProcessDefload, ProcessMonitor, UTIL (utility). Among them, EngineContainer locates all the resources used by ResourceLocate, and the table EngineContainer uses the ResourceLocate use case, represented by the solid line with the arrow. EngineContainer is not interacting with users, and the participation of the Activator's workflow is performed by the entrance to the workflow of the ProcessMonitor. ENGINECONTAINER The existing workflow definition is loaded through ProcessDefload, so that the workflow is run, and the engineContainer uses the relationship with the ResourceLocate use case.
Only the specific functional analysis of the useful ProcessMonitor is given here. These functional analysis As an annotation of the ProcessMonitor, not identified by the example map, only the main point when designing the system. Analytical methods for the rest of the use cases are similar.
Process Supervision Server As part of the engine container, mainly providing external supervision of the health of the engine container, that is, query the current health of the engine.
For example, when the client or management is required to understand the health of the engine, first issue a message request, the message server interprets the message after the message is interpreted, and if it belongs to the health of the query engine, the API provided by the call supervision service part (Application Interface) Query the engine and then returns the result to the requester.
The query request for supervising server processing is as follows according to the different objects:
The engine container is running the status query; the query of each engine is running; the process definition information query; the query of the process instance information; the query of the active instance information; the query of the work item information; the response of the synchronization command request.
b. Workflow engine
Fig. 2 is a view showing an example of a workflow engine. Among them, the actors include EngineManager and Logfiles. EngineManager is responsible for controlling the state of all elements in the workflow is the core of workflow scheduling. The logfiles phase is recorded in the fixed format as a log for saving. The use case here has ProcessControl, TransitionControl, ActivityControl (Control Activity), WorkItemControl, DanamaticModify, Createlogfile, CreateLogfile. ENGINEMANAGER controls the status of the workflow into the state of the workflow by ProcessControl, TransitionControl, ActivityControl, WorkIntrol, ActivityControl, WorkIntrol, ActivityControl, WorkIntrol, to DanamaticModify to achieve the purpose of controlling workflow. c. Process supervision
Figure 3 shows the example of process supervision. The actors include EnactMentDB (Workflow Run Database) and EngineContainer (Engine Container). The use case has EngineQuery, ProcessDefQuery, Query of Process Definition Information, Query of EngineContainerQuery, ProcessInstanceQuery, ActivityInstanceQuery (query the active instance), WorkItemQuery Query work items), TransitionQuery (for transfer information query).
Here only, the use of example ProcessInstanceQuery is analyzed, and the analysis method of the rest of the use case is similar.
ProcessInstanceQuery is a query for a process instance in the system, mainly including the following: A list of process instances: obtain a list of all process instances in the system; obtain a process instance of a process instance from the process instance; Number gets detailed information of the process instance; turn off the list of procedures that have been opened; a list of various states in the system's process instance; query its status according to a given process instance number; turn off the open process instance list; A list of various attribute information of the process instance.
5.2 Creating an interactive view
The interaction view describes the message exchange sequence between the realization role of the system behavior. The classification role is a description of the object that acts as a special role in interaction. The interactive view provides a global description of the system in the system, which shows the control flow between multiple characters. The interaction view is displayed by two diagrams of the side focus: sequence diagrams and collaboration maps.
The message refers to the unidirectional communication between the characters, from the control flow of the sender to the recipient's carrying information. Messages may have parameters of the role transfer value.
The sequence diagrams and collaborative maps show interactions, but they emphasize different aspects. The sequence diagram shows the time order, but the relationship between the roles is implicit. Collaborative diagrams show the relationship between roles and associate messages to the relationship, but the time order is not very obvious due to sequence number. Each picture should be used according to the main focus focus.
Sequence diagram
The sequence diagram represents a series of messages arranged at time. Each classification role is displayed as a lifeline that represents the role of the entire interaction. The message is displayed as an arrow between the lifeline. The sequence diagram can express the scene, which is a specific history of a transaction.
The sequence diagram shows interaction with a 2D chart. The longitudinal direction is the time axis, the time is from top. The horizontal display has a classification role representing a single object in collaboration. Each object is represented by a square box, the name of the object is inside the box and below the name below. Each classification role is characterized by a vertical column-lifeline. During the time of the role, the lifeline is displayed as a dashed; within the role process activation time, the lifeline is displayed as a double line. The message is displayed as an arrow from one role lifeline to another, and the arrow is arranged from the top time.
One purpose of the sequence diagram is the behavioral sequence of the use case. When the behavior is implemented, the message in each sequential diagram is consistent with the event trigger on the operation of the object or the state machine.
FIG. 4 shows a sequence diagram of a processing request case. Five boxes in the figure represent five objects: ProcessMonitor, EngineManager, Engine, EntactmentDB, Logfiles. This use case is to receive user operations by ProcessMonitor, and then convert these operations into fixed requests, and send it to the engine.
When ProcessMonitor receives the user's operation on the interface, convert these operations into a fixed command request, sent to the ENGINEMANAGER. EngineManager will send the command to different Engine according to the category of the command. ENGINE will perform the corresponding command. After the ENGINE performs the command, notify EntactmentDb to modify the corresponding data. Next, Engine refers to logfiles to record the operations for later queries. Finally, Engine directly returns the result to ProcessMonitor, packaged by ProcessMonitor, and is displayed to the user.
b. Collaboration
Collaborative maps are integrated with objects and chain modeling. Objects and chains exist in the context provided. The classification role describes the object, and the associated role describes the chain in the collaboration. Collaboration map shows the role in interaction through the geometric arrangement of the graph. The message is displayed as an arrow on the straight line of the connection classification role. The order of the message is represented by the sequence number before the message description.
One use of the collaborative drawing is the implementation of performance operations. Collaboration shows the parameters and local variables of the operation, and more permanent associations. When the behavior is implemented, the order of the message is consistent with the nested call structure of the program and the signal transmission.
Fig. 5 is a collaboration diagram corresponding to the processing request case. This use case is to receive user operations by ProcessMonitor, and then convert these operations into fixed requests, and send it to the engine. This collaborative figure shows the relationship between the five related objects involved in the processing request case.
5.3 Creating a status chart
The status chart describes the dynamic behavior of the object in the time series by modeling the possible life history of an object. Each object is considered to be an isolated entity that communicates with the outside by detecting an event and responding to an outside. The event expresses the change in the change in the object, the call between the object, or the display signal, the change of a value change or time. Anything that affects the object can be described as an event. Things that happen to real worlds are built into external worlds to system signals.
The status refers to a series of object values that have the same properties in the event of a particular class. In other words, all objects in the same state respond to an event in the same manner, that is, the same action is performed when all of the given objects are received at the same event. The objects of different states may have different responses to the same event, perform different actions.
The state machine contains a state of the event connection. Each state models a period of time in the object life during this time, the object satisfies certain conditions. When an event occurs, it can cause the migration to excite the excitation of the object to change the object to a new state. Action attached to migration can be executed when migration is excited. The state machine is shown as a state diagram in the UML.
In the status chart, the state is represented by a rounded rectangular rectangle, and the initial state is represented by a solid-filled circle, and the end state is indicated by a solid filled circle.
Figure 6 shows a state machine view of a process instance. As can be seen from the figure, a workflow definition process instance may have five different processes at runtime, which are initial state, ready state, operational status, suspend status and end state. A process instance is initial in the initial state (INITIAL state). A process instance is created as needed, making it a ready state. Subsequently, the user can select the process instance for selecting the ready state according to the needs, and the state of the start-up process instance is running. Process instances in ready-to-state and running state can be transformed into end state by cancel operation (Abort). Process examples in operation, by suspend operation (HOLD), can be converted to a temporary stopped suspended state, while the process instance in which a suspended state can also be converted to a running state. The difference between the suspend state and the end state is that the suspend state does not release the resource occupied, and thus can be recovered. Finally, a process instance in an operational state is transformed into an end state by completing the operation (Finish).
The state machine can be used to describe user interfaces, device control, and other interactive subsystems. They can also be used to experience a number of specific stages in the lifetime, and each stage has special behavior objects.
5.4 Creating an activity view
Active view is a special form for displaying a state machine for executing an arithmetic activity during a calculation process. The active state represents the status of the operation: the process of the process step or the operation of the operation. The activity diagram describes the order and concurrent activity packets. The activity view is expressed as an active diagram.
The active diagram contains the active status. The active state exhibits the execution of statements in the process or operation of the activity in the workflow. Unlike the general waiting state, the active state is waiting for the end of the operation. When the activity is over, the next activity processed into the figure is performed. At the end of the first activity, the end migration in the activity diagram was excited. Active state usually does not migrate an external event, but they can be canceled by an event of a peripheral state.
In the active diagram, the left and right paragraph is a rectangular representation of the circular arc, indicating the distribution of activity with a thicker horizontal line, indicating the order of activity processing with the arrow.
Fig. 7 shows an operational activity of the user. The user should first log in before using the function provided by the system, that is, the first step of the operation is to log in. After logging in, the user can optionally perform one in three operations: Choose Process Define, select Process Instance, and select the work item (Choose WorkItem). The implementation of these three activities has no order, completely selected by the user.
When the user selects the process definition, you can create an instance of the selected process definition, which is to execute the creation process define; after the user selects a process instance, according to this process instance status, Terminate this process, start, start, suspend (HOLD), etc., the execution of these operations has no order, and after the user selects a work item, you can execute this Work items, that is, the content of this work item (Do WorkItem). According to the above use case, interactive view, state machine view, and activity view on the functional level of the workflow management system should have a clearer understanding of the goal of the general workflow management system. And these understandings and understanding will lay a good foundation for further design.