This application claims priority under 35 U.S.C. §119 from Chinese Patent Application No. 200710167037.3 filed Oct. 31, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to the computer field, particularly to the business process management field, and more particularly to an apparatus and method for generating a monitoring view of an executable business process.
2. Description of the Related Art
Executable Business Process (xBP) technologies are being adopted by more and more enterprises to automate their Enterprise Business Processes (eBP). An xBP is a kind of eBP whose lifecycle is controlled by a system called Business Process Management System (BPMS). Usually, an xBP is long running, with its running period spanning days, months or years. An xBP relies on specific interactions between users, systems and business partners which it ties together. One of the well-known xBP technologies is Business Process Execution Language (BPEL), and there are many other xBP technologies in addition to BPEL, such as Web Services Flow Language (WSFL) and Web Services for Business Process Design (XLANG). Different BPMS software vendors support/leverage certain xBP technologies.
xBP technologies usually need to handle many IT system level details, which include interaction protocols (e.g. HTTP, SOAP, JMS, JCA) with different systems, process related data structures (e.g. XML message type) and mapping rules among data, business rules and flow control (e.g. condition expressions expressed by specific language like Xpath), and more. So an xBP is usually developed by a programmer and then deployed onto a BPMS system. It can hardly be understood by a business user as it contains too many IT details. However, as an xBP is used to automate business processes, business users have strong demand to understand what is going on about the business processes in which they are involved. That is to say, business users have the need to intuitively monitor the execution status of an xBP which is running in a BPMS system.
Most BPMS software vendors provide certain monitoring capability for an xBP deployed on a BPMS. However, the monitoring capability is on an IT level and can only be easily understood by IT people (e.g. system administers). For example, IBM WebSphere Process Server (WPS) provides a capability called “BPC Explorer” which can only show the execution status of the BPEL processes running on the WPS. However, since BPEL was not originally designed for the purpose of process monitoring by end business users, this capability cannot provide an intuitive and overall view. Business users can hardly map BPEL (xBP processes) to an eBP they really understand on business level. Most BPMS software has a similar problem.
There are some efforts in the art which try to solve the same or related problems. Some BPMS software vendors are trying to solve the problem through a Model Driven Business Process Development approach. According to this approach, an eBP should be defined by a business analyst first, and then the eBP will be transformed into an xBP for IT implementation. However, this approach has the following challenge which makes this approach hardly satisfy user requirements. In most cases, an eBP can hardly maintain very good round-trip traceability with an xBP. An eBP cannot be simply one to one mapped to an xBP. Even if an eBP can be transformed into an xBP, the xBP will usually be customized by a programmer for IT implementation, and this customization can hardly be mapped back to the eBP programmatically. So today, an xBP can not be automatically mapped to an eBP to serve business users' monitoring requirements, and an eBP for business process monitoring should be generated manually, which makes the development and management of business level process monitoring complex and costly.
For example, IBM further provides the WebSphere Business Monitor for event based process monitoring, which can show a business operation model (BOM)-based monitoring UI. Its shortcoming, however, is a developer/designer needs to use great effort to build a complex monitoring model manually, thus there is a long monitoring model building/testing/deployment lifecycle. In addition, the BOM model is also IT oriented, instead of business user oriented.
For another example, U.S. patent application US20060106626, entitled “Method and apparatus of model driven business solution monitoring and control”, provides a method for transforming a business level model to an IT level executable BPEL language by applying model driving and additionally sending various events and data by a process engine to monitor a process. The method needs to construct a complex model manually.
Therefore, in the technical field there is a need for a development and management solution for business process monitoring that can overcome or alleviate the above shortcomings.
According to an aspect of the present invention, a method of generating a monitoring view of an executable business process is provided. The method includes the steps of: obtaining a business process model from an executable business process template; generating a business process monitoring model from the business process model; obtaining status data of a business process instance from a business process engine; generating a business process monitoring model instance by combining the status data with the business process monitoring model; and presenting the business process monitoring model instance as a monitoring view through which a user monitors a running business process instance.
According to another aspect of the present invention, an apparatus for generating a monitoring view of an executable business process is provided. The apparatus includes: a monitoring model editor which is configured to obtain a business process model from an executable business process template and generate a business process monitoring model from the business process model; and a visual monitoring dashboard which is configured to obtain status data of a business process instance from a business process engine, generate a business process monitoring model instance by combining the status data with the business process monitoring model and present the business process monitoring model instance as a monitoring view through which a user monitors a running business process instance.
These embodiments have the following characteristics and advantages.
First, these embodiments have a fast and low-cost monitoring development lifecycle. In many cases, there are over 100 process modules needing to be deployed, and the number will be continuously increasing with business growth. Therefore, users wish the time of developing the monitoring model for a new BPEL process should be as short and cost-effective as possible, in order to meet the continuously changing requirements. These embodiments greatly release the development burden on an xBP developer for process monitoring. The xBP developer need not redevelop or substantially modify an xBP or develop a complex monitoring model, and only needs to add a few annotations into the xBP when necessary.
Second, these embodiments allow business users to customize the look and feel of a monitoring view in a self-service and dynamic manner. Although business users usually have very low or even no IT skills, they strongly wish they can customize a monitoring UI at runtime by themselves easily and quickly without recourse to the IT department or software vendor. These embodiments significantly improve the customization capability of process monitoring in terms of user interface, without affecting the xBP's implementation. As the customization can be conducted by an end user at runtime, this greatly decreases the time period of building/customizing monitoring features for business users. This customization process is WYSIWYG, and does not interrupt the running of the business process (i.e., no need of redeployment, restart and stop). And legacy processes can be monitored in a non-intrusive way. Since a process monitoring UI (including the look and feel, and functional extension) can be customized by a user, this greatly improves the user experience of a business user.
Third, these embodiments can provide an intuitive, interactive, and integrated management UI to improve accessibility. These embodiments provide a user with functions supporting its daily use. For example, the user can see more detailed process tracking information on a visual monitoring dashboard, including the process execution path, activity status, roles and business objects (BOs), and navigate smoothly among the main process and its sub-processes. The user can also integrate richer management (e.g. suspend and terminate a process) and collaboration functions (e.g. Email, SMS and IM) into the dashboard to better control the monitored process/activity instances.
Forth, these embodiments are easily integrated and extended. These embodiments can integrate or mix up monitoring features with users' other (third-party) business applications to more fully leverage the monitoring dashboard's strong presentation and interaction capabilities. For example, the monitoring dashboard can guide a user to navigate among different process artifacts to perform a complicated configuration or other business operations. And, such navigation is very easy and effortless.
Finally, these embodiments reduce the cost for enhancing a BPMS to support process monitoring by a business user because the apparatus of the present invention can be implemented as an add-on component of a BPMS not involving changes to the BPMS architecture.
The attached claims describe novel features believed to be characteristic of the present invention. However the invention itself and its preferred embodiments, additional objectives and advantages can be best understood from the following detailed description of the illustrative embodiments when read in conjunction with the drawings, in which:
Embodiments of the present invention will be explained hereinafter. It should be understood, however, that the present invention is not limited to the specific embodiments described herein. On the contrary, it is contemplated to implement or practice the present invention using any combination of the following features and elements, regardless of whether they involve different embodiments. Therefore, the following aspects, features, embodiments and advantages are only for illustration and should not be regarded as elements or definitions of the attached claims, unless indicated explicitly in the claims.
The embodiments can automatically extract human tasks and invoke nodes from a running business process, and transform them to a monitoring model at runtime. It significantly releases the development burden on developers for process monitoring. In addition, all the process status data are extracted automatically via a process engine API without needing to insert any additional code into the process template. Further, process status data, including the statuses of human tasks and automation tasks, the execution paths, BOs, roles, etc., are dynamically presented with a pre-generated monitoring model in a visualized way, and the developer need not write any code.
The embodiments further provide a monitoring model editor for further customizing the monitoring model, and the display thereof, without needing to modify, re-deploy, and re-start the underlying BPEL process. In addition, the solution of the present invention can track and manage process instances using an intuitive and interactive visual monitoring dashboard. Task claim, complete and process suspend, terminate functions are provided to manage the process instances. Notification mechanisms like SMS, email and IM are provided to afford the collaboration among business rules.
The technical solution of the present invention is described in detail below with reference to the drawings. The following description is given with respect to a system adopting BPEL. However, both the apparatus and method of the present invention are applicable not only to the system adopting BPEL, but also to a BPMS system adopting any other xBP technologies such as WSFL and XLANG.
The business process monitoring model according to an embodiment of the present invention comprises all the information necessary for building a graphic monitoring application within a browser. The monitoring model is generated by performing the following operations to extract necessary information from the BPEL model of a deployed or non-deployed business process to be monitored by a monitoring model editor 101 according to an embodiment of the present invention to be described below, obtained by further optional customization and editing of the presented monitoring model by the user in the monitoring model editor 101 to be described below, and instantiated by acquiring its status data from the BPEL engine by a visual monitoring dashboard 102 according to an embodiment of the present invention to be described below. In order to generate a monitoring model from a BPEL model, the BPEL model should contain the following information:
In most cases, a BPEL model will contain the above information. So the monitoring model editor 101 of the present invention can generate a monitoring model from a deployed or non-deployed BPEL model to be monitored directly. When a specific BPEL model does not contain some of the above information, the information needs to be added into the BPEL model in the form of annotations before the deployment of the BPEL model, thus the monitoring model editor 101 of the present invention can generate a monitoring model based on the information.
The monitoring object model comprises the following 5 monitoring objects: human task, automation task, sub-process, BO object and link and logic nodes.
Specifically, key properties of a human task object include:
Dynamic or automatic visualization rules of a human task object include:
Key properties of an automation task object include:
Dynamic/automatic visualization rules of an automation task object include:
The key properties of a sub-process object include:
Dynamic/automation visualization rules of the sub-process object include:
Key properties of a BO include:
Dynamic/automatic visualization rules of the BO include:
Key properties of a link object include:
Dynamic or automatic visualization rules of the link object include:
Key properties of a logic node object include:
Dynamic or automatic visualization rules of the logic node object include:
The monitoring object model in the monitoring model according to an embodiment of the present invention is described above. Next, the relationship model and the visualization model in the monitoring model will be described below.
The relationship model in the monitoring model according to an embodiment of the present invention comprises the following three aspects:
A visual model in the monitoring model, according to an embodiment of the present invention, defines the visualization information for all the monitoring objects in the monitoring model. The visual model is composed of visual elements. Each visual element corresponds to a monitoring object and has the following key properties:
See the above description of the visualization rules of the monitoring objects for other content of the visualization model.
The monitoring model editor 101 is used for the following operations:
A. It collects a BPEL model of a business process to be monitored from a BPEL template repository. This BPEL model is for example in the form of a XML document, and is generally of a tree structure. The monitoring model editor 101 can collect the BEPL model from a BPEL template repository by interacting with the BPEL engine, such as by invoking an API of the BPEL engine. Alternatively, the monitoring model editor 101 can directly collect the BPEL model of a deployed business process to be monitored from the BPEL template repository, or the BPEL model can be provided to the monitoring model editor 101 before being deployed.
B. After having obtained the BPEL model, the monitoring model editor 101 can extract a simplified BPEL model from the original BPEL model by filtering out those unused nodes or structures from the BPEL model while retaining main process logics.
In an exemplary embodiment of the present invention, the simplified BPEL model only contains all the task nodes, including invoke (i.e., automation task) nodes and human task nodes, in the original BPEL model, and connecting relationships among task nodes, while all the other nodes and relationships in the original BPEL model are filtered out.
In addition to various leaf nodes, a complicated BPEL model further comprises various container nodes. For these container nodes, if they contain task nodes, then these task nodes will also be retained and extracted.
Specifically, the monitoring model editor 101 simplifies the BPEL model by using the following steps:
Thus, through the above simplification process, a simplified BPEL model is abstracted from the original BPEL model, and the simplified BPEL model will only contain task nodes and relationships among task nodes. It should be noted that the steps in the above process are only illustration, and are not limitations to the present invention, that is, the original BPEL model can be simplified using steps different from those described above.
C. The monitoring model editor 101 converts the simplified BPEL model formed through the above process into a monitoring model, which is generally in XML format. The monitoring model will contain human task nodes, automation nodes and connecting relationships among the task nodes.
D. The monitoring model editor 101 converts the generated monitoring model into xHTML format using a known method in the art, so as to form a visual monitoring model, and present it in the editor.
E. A user can edit the visual monitoring model in the monitoring model editor 101 for improvement. Of course, if the user is satisfied with the visual monitoring model as generated above, then the step can be omitted. The edition operation comprises: adding links to business objects into the monitoring model generated in the above steps according to a business view (for example, the link is added to a human task node or automation node needing the business object), adding logical nodes such as while, decision, fork, join or merge, and adding link nodes if necessary; and specifying and adjusting the display manner of the visual monitoring model, such as layout information of monitoring objects like positions and sizes, related icons, pictures, line styles and line widths, etc.
The above edition functions can be performed using a method known in the art, such as by establishing an edition interface in the monitoring model editor 101, and establishing some controls that can accomplish various editing operations in the edition interface.
F. The user can store the generated and/or edited monitoring model in a model repository, and can later retrieve the monitoring model from the model repository for re-edition or re-customization, such as changing the layout of a visual monitoring model, changing the appearance of monitoring objects, changing various links, and changing logical and connecting relationships, status dependency relationships and data dependency relations among various monitoring objects.
Returning to
G. Monitoring and collecting status data of a BPEL instance from a BPEL engine.
H. A monitoring model instance is generated by combining the status data and the monitoring model generated in the above described process. In the monitoring model instance, the various monitoring objects in the monitoring model will obtain corresponding data statuses and property data, and implement the visualization model and the relationship model in the monitoring model.
For example, in the generated monitoring model instance, in addition to an object ID, display name and icon, and status, a human task object further has owners' names and contact information, such as IM/SMS/email/Phone Addresses, etc., as well as possibly links to related input/output BO data. Thus, by clicking the corresponding contact information, a notification mechanism such as phone, SMS, email and IM can be invoked, so as to provide collaboration among business users; and by clicking a link to a BO, corresponding BO data (which is obtained by invoking an API of the BPEL engine, for example) can be displayed. The icon as well as the owners' names, contact information, etc. of the human task object will change dynamically according to changes of its status.
For another example, in the generated monitoring model instance, in addition to an object ID, display name and icon, and status, an automation task object may further obtain a link to related input/output BO data. Those automation task objects containing sub-processes further have the list of the contained sub-process templates or instance IDs; clicking a certain sub-process template or an instance ID in the sub-process template or the instance ID list will invoke a corresponding BPEL engine API to obtain and display a sub-process monitoring model. The icon of the automation task object will change dynamically according to changes of its status.
For still another example, in the generated monitoring model instance, in addition to an object ID and display name, a BO further has an indication of the data source of the BO, as well as possibly links to other related BOs. The BO can be displayed dynamically in a plurality of formats such as a picture, table, image, etc. In addition, the value of the BO can be dynamically changed according to the statuses of other monitoring objects or changes of data of other BOs.
For yet another example, in the generated monitoring model instance, in addition to an object ID, display name and status, a link object further possibly has related BOs. The icon of the link object, such as its line style and color, etc., can change dynamically according to changes of its status, and its related BOs can be displayed in pictures or other styles. The status of the link object can change dynamically according to changes of other incoming and outgoing monitoring objects.
For further example, in the generated monitoring model instance, a logical node will have an object ID, object type, display icon and name, and status. The icon of the logical node object will change dynamically according to changes of its status. And the status of the logical node object will change dynamically according to changes of the statuses of the task nodes it contains.
I. The generated monitoring object model in XML format is converted to an xHTML format, thus forming a visual monitoring model instance, which is presented to an end business user, so that the user can monitor the running BPEL business process. In a UI of the monitoring object model instance, there will be displayed the names and icons of human tasks and automations tasks, and sequential execution relationships and parallel execution relationships as well as various logical relationships among these tasks, so as to display graphically the statuses of these tasks, which change dynamically and automatically, and links of these tasks to business objects. By clicking the links, corresponding BO data can be accessed and displayed, etc.
In addition, using the UI of the visual monitoring model instance, the end business user can perform some management functions and execution functions on the business process instance, including suspension and termination of the business process instance, transferring of the owner of a human task, and task claim and completion. These functions are implemented by providing in the UI of the visual monitoring model instance necessary buttons, upon clicking which, a corresponding API provided by the process engine can be invoked.
In the foregoing is described an apparatus for generating a monitoring view of an executable business process according to an embodiment of the present invention. It is obvious for a person skilled in the art to also derive from the above description a method for generating a monitoring view of an executable business process according to the embodiment of the present invention, since the operations performed by the above described apparatus correspond to the steps in the method, respectively.
It should be noted that the above descriptions are only illustrations, and not limitation to the present invention. For example, although in the above description it is the monitoring model editor 101 and the visual monitoring dashboard 102 that perform the above operations, in other embodiments of the present invention, the operations can also be performed by components contained in the monitoring model editor 101 and the visual monitoring dashboard 102, respectively. For example, the monitoring model editor 101 may comprise a BPEL model extractor for extracting a BPEL model from the BPEL engine, a BPEL model simplifier for simplifying the BPEL model, a monitoring model generator for generating a monitoring model from a simplified BPEL model, a monitoring model presenter for converting the monitoring model into a visual monitoring model and presenting the visual monitoring model, and a monitoring model manager for editing and storing the monitoring model and loading the stored monitoring model. The visual monitoring dashboard 102 may comprise a status data collector for collecting status data from a BPEL engine, a monitoring model instance generator for generating a monitoring model instance based on the status data and the monitoring model, a visual monitoring model instance generator for converting a monitoring model instance into a visual monitoring model instance, and a business process monitoring manager for presenting a monitoring model instance, and monitoring and managing the business process through the UI of the monitoring model instance, etc.
The present invention can be realized in hardware, software or a combination thereof. The present invention can be realized in a computer system in a centralized manner, or in a distributed manner, in which, different elements are distributed among interconnected computer systems. Any computer system or other apparatus suitable for carrying out the methods described herein is applicable. Preferably, the present invention is realized by a combination of computer software and general purpose computer hardware, in which, the computer program, when being loaded and executed, controls the computer system to make it carry out the method of the present invention, and constitute the apparatus of the present invention.
The present invention can also be embodied in a computer program product, which comprises all the features enabling the method described herein to be implemented, and which, when being loaded into the computer system, can carry out these methods.
While the present invention is shown and described with reference to the preferred embodiments particularly, a person skilled in the art can understand that various changes in form and detail can be made thereto without departing from the spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
200710167037.3 | Oct 2007 | CN | national |