1. Field of the Invention
The present invention relates to self-adapting, autonomous business processes that have capabilities to adapt themselves to changes in the business environment.
2. Background Description
Business processes describe the behavior of a business. Due to the wide acceptance of web services related technologies, many new concepts and technologies have been proposed to support business process integration and management. The goal is to create an Information Technology (IT) solution which represents the behavior of the business process as it is. Successful businesses, however, distinguish themselves by their ability to adapt to changing business conditions. The ability to sense changes in the business environment and respond to the changes appropriately are limited by today's IT systems design. IT systems often allow for sensing infrastructure to enable monitoring of the business process. Responding to events, however, often entails changes in the IT systems requiring costly manual changes and thereby human involvement at different levels.
It is therefore an object of the present invention to provide automomic business processes management solutions that have capabilities to adapt themselves to changes in the business environment.
According to the invention, autonomic business solutions are built by wiring together autonomic solution components called BPbots (Business Process robots). BPbots are granular solution components representing an aspect of a business process. In general, BPbots consist of two parts, an execution module and a managerial module. The execution module represents the standard, non-autonomic solution component, such as a standard process flow model describing the long-running flow or business adapter describing the communication of the solution with service providers (such as applications). The managerial module is responsible for the autonomic behavior of the BPbot. The managerial component has the ability to monitor the execution module, analyze the performance, plan new, more appropriate execution patterns and change the behavior of the execution module according to the new plan.
BPbots can be used to describe the business process behavior at different levels. The key to undeerstanding how BPbot enable autonomoic behavior is the notion of BPbot composition. BPbot communities can be composed in a hierarchical fashion or with independent BPbots, which work collectively towards achieving the targeted business goal. BPbots being the fundamental autonomic solution components to be wired together representing an autonomic business process will necessitate the overall construct to be a BPbot, as well. This implies that the autonomic business process solution is a BPbot, which consists of a managerial unit and execution modules. From this perspective, the execution modules are BPbots. If the BPbot community is nested, the managerial module (which can be a BPbot, as well) represents the major point of control in the BPbot community. In a non-hierarchical community, the BPbots are going to be interacting collaboratively to achieve the targeted business goal.
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
We assume that any business process behavior can be represented by the solution composition of three well-defined components: Adaptive Business Objects (ABO), Workflow, and Adapters.
Adaptive Business objects (ABO) model the executable image of business artifacts. ABOs can be viewed as a model for business records, containing data pertinent to the business process and handed from task to task along the business process. An ABO serves as a dynamic aggregator of distributed business data corresponding to a business artifact and models the life cycle and associated behavior of the business artifact. Augmented finite state machines define ABO behavior. Business events are processed by an ABO based on its state and may trigger state transitions. As part of a state transition, an ABO may execute commands to effect the business enfironment.
Workflows model a sequence of activities. An activity is a unit of collaboration. Typically, a set of activities performed by organizational role players constitutesd a business task (or respectively, a particular state of the ABO). Flow models are use to specify what the activities are, who are performing them, and the control flow between the activities. The activities themselves are defined using augmented finite state machines much like the ABO. But unlike ABOs, activities have no data content.
Adapters are components to mediate information between the business process and a diverse set of agents, such as applications, business partners, etc. There are various representations of adapters, from static, application specific Application Program Interfaces (APIs), to dynamic, state-machine based conversation policies.
Wiring these three components in the right way will enable an IT system, which will exhibit the behavior of the business process. At design time, the components will contain customized models such that the overall behavior of the solution represents the business process behavior. The created IT system, which will execute the models and thereby host the business process, should be designed to allow for changes. This does not mean, however, that changes due to changing business conditions or changing business goals can be managed by the system itself. It will always require human intervention to reconfigure the system manuallyl. To create a truly adaptive system, which is self-managing (and thereby adaptive to changing business conditions) to limit the manual changes to a minimum, the system needs to consist of autonomic solution components. The entire solution for a given business process consists of autonomic components (or BPbots) and an autonomic component or BPbot itself. By the same token, the set of enterprise wide business process should consists of autonomic business processes and be an autonomic business process system itself. BPbots reflect this hierarichal structure in it architecture.
BPbots are autonomic elements which consist of two parts, an execution module and a managerial module. The execution module is a standard solution component (such as ABO, Workflow or Adapters) lacking any inherent self-managing qualities. Execution modules contain the following items:
The managerial module is the main constituent to provide autonomic capabilities. The managerial module controls the behavior of the execution module. Managerial modules consist of the following items:
In the following, we discuss how an autonomic business process management system is created using BPbots. At the lowest level, a solution component, such as a workflow can be considered as an execution module. The managerial module manages the execution module. Hence, each solution component equipped with a managerial unit is a BPbot. Wiring together several BPbots will crate a business process solution. For example, a purchase order process will have the purchase order as the main business artifact (ABO), several workflows associated with activities executed as different states of the Purchase Order artifact (such as Address Verified, Product Availability Checked, Order Accepted, Product Sent, etc.). Finally, an adapter to store data into a SAP system is needed. The IT solution is created by wiring together the Purchase Order artifact, where different workflows will be executed as different states of the process and the SAP adapter will be used to communicate with the SAP system. In our autonomic solution, all these items, ABO, workflows and SAP adapters, are equipped with a managerial module and thereby are BPbots.
The entire business process is represented by a collection of automatic BPbots, which does not make the business process itself autonomic. To allow for management of the business process from the outside, the collection of BPbots has to be orchestrated by a managerial module.
Referring now to the drawings, and more particularly to
Different dimensions of BPbot functionality are defined by models. Each model needs to be supported by an adequate run-time environment. This is represented in
The modification service 18 of the execution module 12 is realized as Rule Engine 122′. The rule engine receives data and applies pre-defined or dynamically deployed rules to the data. The engine returns either true or false to based on the evaluation of data. The Adaptive Entities (AEs) 121′ are stateful business objects, where the state-adaptive behavior is modeled using finite state machines. Therefore, state transitions are executed following the Event/Guard/Action principle. Events requesting a state transition are evaluated based on guard methods. If the evaluation supports a state transition, the action is executed, and the state machine moves into the next state. The AE itself is an Enterprise JavaBean (EJB) deployed by the AE engine 121′. The AE engine 121′ has a controller unit, which manages the states. State transitions are triggered by events sent by clients to the AE engine 121′. The AE engine 121′ passes the event data to the rule engine 122′. The rule engine 122′ applies rules (which correspond to the guard conditions for a state transition) and either accepts or rejects the state transition (thereby influencing the behavior of the state machine). The controller unit of the AE engine 121′ will invoke the action (a public method on the AE engine) and moves the state machine into the next state.
The knowledge service 103 acts as a simple external client to the BPbot requesting a specific change of the process flow. An external knowledge resource acting as a client requests a change of a process flow. A message with decisions is sent to the in-queue 31 of a JMS service exposed by the manager service run-time 14. The run-time is a standard application server. The manager service 14 is a subscriber for messages from the knowledge service and parses the message to create an instruction set. This instruction set is translated into rules sets and is sent to the rule engine 122′. The rule engine will now contain rules associated to the data passed with a state-transition triggering event. The manager service 14 sends the event (including business data) to the adaptive entity engine 121′ to request a state change. The state machine invokes the rule engine 122′ and passes the data received with the event from the managerial module 10. The rules previously deployed by the managerial module are applied to the data. The rule engine 122′ determines whether the transition can occur. The transition can only occur if the rules applied are true. The state machine executes the state transition and returns a message to the manager service 14. The manager service 14 places the message on the JMS out-queue 32 to be picked up by an interested receiver.
BPbot composition is an important feature to enable business process management systems, which can dynamically adapt themselves to changing business conditions. Several BPbots will work together to achieve a certain goal. The organization of BPbots will depend on the specific business situation.
In the example shown in
Depending on the application, the BPbots may be more or less complex than the model shown in
While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.
Number | Date | Country | |
---|---|---|---|
Parent | 10706040 | Nov 2003 | US |
Child | 12051396 | US |