The present invention relates in general to the field of information technology, and specifically to a system and method for business process monitoring.
In the field of information technology, business process integration and management (including business process monitoring) is emerging as a set of key technologies to improve operational efficiency.
However, current business process monitoring functions are mainly for administration purposes and there is no special consideration for displaying the process execution status in an easy-to-understand way for a business user/operator. Thus, it is impossible to really realize a complete and direct business process monitoring. This is mainly reflected in the following aspects.
First, a business process itself contains not only activities being executed by a workflow engine or other IT systems (called IT activities), but also manual activities which are integral parts of the process and supplemental activities which facilitate people's understanding (called non-IT activities). However, the current business process monitoring functions can only monitor the IT activities (the states of the IT activities are monitored by events in a computer), and lacking an effective way to monitor these non-IT activities, they are usually excluded from the current process tracking function. When these non-IT activities have to be monitored, the current way is to convert these non-IT activities into IT activities and then monitor the IT activities. For example, a manager signs a paper document and then accesses the computer system and monitors the non-IT activity by changing the execution status of the process stored in the computer via specific operations.
The IT activities and non-IT activities are illustrated below with reference to
It can be seen that, the existing business process monitoring functions cannot realize an integrated business process monitoring.
Second, the current business process monitoring functions do not possess the ability to define timeout, triggering. (such as notifying) and so on for all the activities (including the activities executed in the computer system and those not directly executed in the computer system).
Third, an interface of the current business process monitoring functions is generally technical, without providing the technology for expressing and describing a single business process in a direct and clear way, so that without the special knowledge on the process monitoring, it is hard to understand the states of respective activities in the process.
Therefore, it is desirable to provide a system and method capable of facilitating business process monitoring by participants of a business process.
In view of the above problems of the prior art, a system and method of the present invention are set forth.
According to one aspect of the present invention, a method for monitoring a business process is provided, the method comprising: modeling a business process to obtain a business process model which includes IT activities and non-IT activities; auto-defining an activity state dependency table for the non-IT activities; monitoring states of said IT activities; and monitoring states of said non-IT activities by referring to said activity state dependency table.
According to a further aspect of the present invention, a system for monitoring an overall business process is provided, the system comprising: a process skeleton designer for modeling a business process to obtain a process model which includes IT activities and non-IT activities, wherein states of said IT activities are monitored with outer events; a process designer for auto-defining an activity state dependency table for the non-IT activities; and an activity dependency manager for, by referring to said activity state dependency table, monitoring states of said non-IT activities.
The present invention can be employed to monitor all the activities of the business process, including IT activities and non-IT activities, so that the activities (such as manual activities and additional status activities, etc.) in the computer system state information of which cannot be directly obtained can be integrally expressed and monitored.
A preferred embodiment of the present invention provides the steps of monitoring states of said non-IT activities, comprising: receiving events related to state change of IT activities and/or non-IT activities and extracting the states of said IT activities and/or non-IT activities; inspecting an activity dependency table to determine whether or not the state change of said IT activities and/or non-IT activities will trigger state changes of other non-IT activities; if it is determined that the state change of said IT -activities and/or non-IT activities will trigger the state changes of said other non-IT activities, transmitting events that trigger the state changes of said other non-IT activities.
The preferred embodiment of the present invention further provides the step of monitoring the states of said non-IT activities in a recursive way, that is, further determining, in the foregoing step of determining whether or not the state change of said IT activities and/or non-IT activities will trigger state changes of other non-IT activities, whether or not the state change of said IT activities and/or non-IT activities is the only dependency that will trigger state changes of other non-IT activities; if yes, executing the step of transmitting events which trigger the state changes of said other non-IT activities; otherwise, perform the operations recursively until all the dependencies are satisfied, and then executing the step of transmitting events which trigger the state changes of said other non-IT activities.
Further, according to the preferred embodiment of the present invention, visual characters, icons, pictures, videos or sound are used to expressly demonstrate activities of the business process and state of the activities so as to facilitate the business process monitoring. The present invention, for process participants, provides special designing steps (and modules) to support the design showing the business process, and the designing result can be directly mapped to a monitoring interface during operation.
Further, according to the preferred embodiment of the present invention, by setting a timer, it is possible to provide various abilities including defining timeout, act triggering (such as notifying) and the like for all the activities (including the activities executed in the computer system and those not directly executed in the computer system), and to make an expansion as specifically required, so that the process monitoring modes become diversified and the monitoring ability is strengthened.
The preferred embodiment is explained below with reference to the drawings.
First,
During design time, the system comprises a process modeler 201 for modeling a business process by business modeling personnel to obtain a logical business process model.
During runtime, the system comprises a process engine 202, separate repositories 203-1 and 203-2, applications 204 and a process monitor client 205, wherein the process engine 202 is responsible for executing those executable processes and sending, after the execution of the processes, corresponding events to the repository 203-1 for storage, and the applications 204 are for executing some activities in the processes and sending, subsequent to the execution, states of documents within a process to the repository 203-2 for storage. An end user may query the repositories 203-1 and 203-2 about a current execution situation of the business process via a process monitor client 205.
As stated-above, the typical system in
As shown in
The process skeleton designer 301 is a component for modeling a business process and for depicting and obtaining a logical business process model. According to the present invention, said logical business process comprises both IT-activities and non-IT activities. It should be understood that only from the modeling perspective, there is no substantive difference between the non-IT activities and the IT-activities and they can be handled in the same way. Said process skeleton designer 301 can be realized by using any commercially available process modeler, such as UML, Visio and the like.
The activity state template 303 is for storing one or more sets of pre-defined activity states, such as Finished, Disabled, Ready, Abnormal, Terminated, etc.
The process designer 302 is for generating an activity state dependency table 305 for non-IT activities in the logical business process model established by the process skeleton designer 301 by referring to the activity status template 303.
Furthermore, in the preferred embodiment according to the present invention, considering that activity states of particular activities may be different from pre-defined states in the activity status template 303, the system further provides an activity state dependency editor 306, so that the user can add or delete one or more states based on the template to generate self-defined activity states, thereby improving the activity state dependency table 305 which is auto-defined by the process designer 301, or completely manually creating the activity state dependency table 305.
The activity state dependency table 305 is explained below with reference to
It should be understood that, states of activities which some business processes include are relatively fixed (for example, only including three states: “Finished”, “Disabled”, and “Ready”), and a state dependency pattern between non-IT activities and IT activities is relatively fixed as well. In this case, the state dependency of the non-IT activities can be auto-defined by the process designer. For instance, as for the linear business process as shown in
It should be understood that the simple state dependencies shown in
Continuing to refer to
The activity state controller 309 stores the states into a process state repository 310 to update states associated with said IT activities or non-IT activities stored in the process state repository on one hand, and invokes the activity state dependency manager 307 to determine whether the states of said non-IT activities or non-IT activities trigger state changes of other non-IT activities on the other hand.
Upon receiving the invocation from the activity state controller 309, the activity state dependency manager 307 consults the activity state dependency table 305 so as to determine whether or not the state changes of other non-IT activities will take place. When the state changes of other non-IT activities will indeed take place, the activity state dependency manager 307 will send this situation to the event handler 308.
The process state repository 310 is configured to store states of activities in the business process. As aforesaid with reference to
At the front end of the system, when an end user requests to check a business process, the end user inputs information of the business process to be queried (such as an ID of the business process) via a computer (for example, it may be a text input box on a user interface). Thus, the computer queries the process state repository 310 to acquire states of the activities in the business process and present them to a user via a business process renderer or business process visualizer 311 (for example, in any known way of the prior art or in the below-described way provided by the present invention).
As described above, Step 610 of modeling the business process can be implemented using any modeling mode known in the art, which is not described in detail here.
Taking the business process shown in
The process shown in
In Step 710, when a state change of an activity in the business process takes place, the corresponding event is sent to the event manager 308. Here, assume that an event indicating activity G is finished is sent to the event manager.
Next, in Step 720, the event manager 308 extracts the state (i.e., G. Finished) from the event and sends it to the activity state controller 309.
Then, in Step 730, the activity state controller 309 updates the state of activity G of a current author in the process state repository 310 by using the received activity state on one hand, and on the other hand, invokes the activity dependency manager 307 using for example “Activity. State” (i.e., G. Finished) as a parameter.
Subsequently, in Step 740, the activity dependency manager 307 checks a “dependency” column in the activity state dependency table 305 using the parameter “G. Finished”.
In Step 750, the activity dependency manager 307 determines whether there is any dependency being satisfied. If no dependency is satisfied (“No” branch), the method turns to Step 780 to stop operation. If it is determined in Step 750 that there is a dependency being satisfied (“Yes” branch), whether or not the dependency is the only one is further determined in Step 760.
If the determination result in Step 760 is “Yes” (that is,. “G. Finished” is the unique dependency), an event indicating an activity state change is sent to the event handler 308 in Step 770 (that is, the state of activity “B” is changed to “Ready”). Finally, the method ends in Step 780.
The method shown in
At this time, the operations still begin with Step 700 and then go to Step 710, assuming an event indicating activity F is finished is sent to the event manager 308. Next, Steps 720-760 shown in
In Step 810, the activity dependency manager 307 queries the process state repository 310 about states of other activities which said non-IT activity depends on (e.g., the states of activities E and I). Then, in Step 820, whether or not the states of activities E and I can satisfy the dependencies is determined. If the determination result of Step 820 is “Yes” (for example, the state of E is “Finished” and the state of I is “Disabled”), the method returns to Step 770 shown in
According to the present invention, if a state change of a non-IT activity does not merely depend on a state of one other activity, only when satisfying all the dependencies defined in the activity state dependency table, can the state change of the non-IT activity take place. When all the dependencies which cause the state change of the non-IT activity to take place are not satisfied, the system performs a recursive processing, until all the dependencies which cause the state change of the non-IT activity to take place are satisfied.
Furthermore, in a preferred embodiment according to the present invention, timeout and triggered action can be defined for non-IT activities. For example, in
In addition, as described above, in the existing business process monitoring functions, the business process monitoring interface is usually technical rather than friendly to a user. Thus, it is hard for the non-technical users to dearly know what the activities in the business process or their states are like. Therefore, the invention of the present invention further provides a support module capable of describing and expressing the activities of the business process and their states in a directly clear way, as shown in
In
Furthermore, as those skilled in the art know, although
Corresponding to the system shown in
In
In order to visualize the business process, the process designer 302, while generating the activity state dependency table 305, can further associate the activities and their states in the table 305 with one or more media files (including but not limited to text, icon, picture, video and audio, etc.) in the media repository 304 by referring to the media repository 304. For example, as for “Notify Supplier” activity C shown in
In the process in which the process designer 302 associates the activities in the business process and their states with one or more media files, the process designer 302 can further generate a process configuration file. This file lists the activities in the business process, states of the activities and media files utilized for the activities and states.
When a user queries the system about the business process, the system will query the process state repository 310 about the current activity states. After acquiring the activity states, the system will refer to said process configuration file 312 and dynamically invoke one or more media files 314 to render an end user view 312 on the business process visualizer 311 in the form of video, image, text and the like, or to play the query result to the user in an audio form.
In addition, those skilled in the art will realize that the embodiments of the present invention can be provided in the form of method, system or a computer program product. Thus, the present invention can adopt the form of full-hardware embodiments, full-software embodiments or embodiments of the combination of hardware and software. The typical combination of hardware and software can be a universal computer system with a computer program, and when the program is loaded or executed, the above method can be performed by controlling the computer system.
The present invention can be embedded into a computer program product, which comprises all the features which enable the described method to be implemented. Said computer program product is contained in one or more computer readable storage media (comprising but not limited to a disk storage, a CD-ROM, an optical memory and the like), and said computer readable storage media have computer readable codes contained therein.
The present invention is explained above with reference to the flow charts and/or block diagrams of the method, system and computer program product according to the present invention. Each block in the flow charts and/or block diagrams and the combination of the blocks therein can be obviously realized by computer program commands. These computer program commands can be supplied to a processor of a universal computer, a dedicated computer, an embedded processor or other programmable data processing devices to produce a machine, so that the commands (through the processor of a computer or other programmable data processing devices) produce an apparatus for realizing the functions specified in one or more blocks in the flow charts and/or block diagrams.
These computer program commands can also be stored to read memories of one or more computers, and each of the read memories can direct the computer or other programmable data processing devices to function according to a specified mode. Thus, the commands stored in the computer read memories produce a manufacturing product which comprises commanding means for realizing the functions specified in one or more blocks in the flow charts and/or block diagrams.
The computer program commands can also be loaded to one or more computers or other programmable data processing devices so as to perform a series of operating steps on said computers or other programmable data processing devices, so that a computer-implemented process can be produced on each of these devices. Thus, the commands executed on these devices provide the steps specified in one or more blocks in the flow charts and/or block diagrams.
Referring to the preferred modes for carrying out the present invention, the principles of the present invention are explained above. However, these explanations are only exemplary and should not be understood as any limitation to the present invention. Those skilled in the art can modify and transform the present invention, without departing from the spirit and scope defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
200610094154.7 | Jun 2006 | CN | national |