1. Field of the Invention
The present invention generally relates to Business Performance Management (BPM) implemented in software on a computer system and, more particularly, to a managed policy driven virtual data space for managing artifacts relationships and sharing artifacts among services.
2. Background Description
In today's world, Businesses are integrating their processes to achieve efficiencies and drive value. Although such integration results in many services brought together, sharing the resources, both business and IT, among the services is still a big challenge. Additionally monitoring of the processes has become very important as any interruption in the functioning of these processes and services can have catastrophic impact in the bottom line of the businesses. Secondly, the tool, such as BPM (Business Performance Monitoring), that enables the ability to monitor and analyze operational, organizational, and strategic KPIs (Key Performance Indicator) has become indispensable to effectively compete in the market place.
With BPM gaining larger acceptance, the enterprise the monitoring system have started to see manifold increase in the volume of business data and hence putting considerable strain on the existing middleware and services infrastructure, there by rendering them inefficient. Such inefficiencies can limit the benefits of process integration and real time KPI visibility there by diminishing the return on investments and effectiveness of the monitoring tools. Such problem can increase multifold as more processes are integrated and monitoring requirement of these processes increases. Today's middleware are still evolving and not sophisticated enough to provide efficient solution to the growing problem and necessary features as mentioned below:
Event Distribution,
Event/Data Artifacts life cycle management,
Access Control to Business Artifacts,
Sharing of Business artifacts,
Pre-compute (Aggregation, etc) analytics for Business artifacts, etc., and
Models to define and manage the event/business artifacts, define sharing of artifacts with Services and Access Control to the artifacts.
Current Business Performance Management (BPM) solution services take the business artifacts as input and generate other business artifacts such as situations, decisions, actions, and the like. The typical BPM solution might pass all the business artifacts to the services as they become available for the processing even though services are not required to process them immediately or services need other artifacts to become available.
The services use messaging or other infrastructure to communicate business artifacts among each other. The large flow of business artifacts puts constraints on the infrastructure and lets through considerable unnecessary transaction data with the result that the underlying infrastructure may not perform up to a desired optimum level.
The other challenge comes from integration. There are many legacy systems available in the enterprise. Some comes from different venders and some are home-developed. When coming to create business solution based on their business operation, each component only processes some part of business artifacts related to the operation. It is difficult to exam the business process as a whole from data representation standpoint. All artifacts are stored in their distributed, heterogeneous way in multiple components.
The current BPM solutions service also lacks a meta model that could police the flow of data content to various BPM services. And due to the distributed nature of BPM solutions, there is often a lack of visibility into processing the state of services and business artifacts. Existing shared spaces provide cache to temporarily store information, but they are not active in nature nor are aware of semantics/nature of the date. The external services interacting with the shared space controls the data.
It is therefore an object of the present invention to provide a method and apparatus to enable business artifacts sharing among multiple components, to provide a platform to deploy governing model for individual business process, and to provide visibility of on-going business process instances.
According to the present invention, Active Shared Space Server is provided as part of the solution and its features are summarized below:
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:
Referring now to the drawings, and more particularly to
Computer system 100 may include additional servers, clients, and other devices not shown. In the depicted example, the Internet provides the network 102 connection to a worldwide collection of networks and gateways that use the TCP/IP (Transmission Control Protocol/Internet Protocol) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages. In this type of network, hypertext mark-up language (HTML) documents and applets are used to exchange information and facilitate commercial transactions. Hypertext transfer protocol (HTTP) is the protocol used in these examples to send data between different data processing systems. Of course, computer system 100 also may be implemented as a number of different types of networks such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN).
Referring to
Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems may be connected to PCI bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to network computers 108, 110 and 112 in
Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228, from which additional modems or network adapters may be supported. In this manner, server 200 allows connections to multiple network computers. A graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
Those of ordinary skill in the art will appreciate that the hardware depicted in
The data processing system depicted in
With reference now to
In the depicted example, local area network (LAN) adapter 310, Small Computer System Interface (SCSI) host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection. In contrast, audio adapter 316, graphics adapter 318, and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. SCSI host bus adapter 312 provides a connection for hard disk drive 326, tape drive 328, and CD-ROM drive 330. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in
Those of ordinary skill in the art will appreciate that the hardware in
Data processing system 300 may take various forms, such as a stand alone computer or a networked computer. The depicted example in
In order to better understand the invention, consider a very simple example which illustrates how an existing BPM solution might handle the events coming into the system and gets distributed to the various services that are part of the solution. The
Additionally, there is a potential remote call or transaction for each event 403 sent to services there by increasing the utilization of network bandwidth and higher traffic flow. Moreover, from the control point of view a middleware 402 might not be capable of managing event access for each service; hence a service could potentially subscribe to all the events and filter at their end there by increasing the load on to the infrastructure.
Services could also potentially publish an event as part of its processing and the current middleware might not be able to establish the relationship between the event inputs and outputs. Additionally, various services might wish to subscribe to these output events from other services and the middleware might be limited to provide such functionality. Moreover, from the event tracing purposes, one might need to manage the life cycle of the events and its relationship with other events.
Active Shared Space is a pluggable component that enhances the functionality of existing middleware and attempts to provide solution to the sets of problems as mentioned above. It is a policy driven virtual shared space that permits services component to register for the artifacts of interest and publish the resultant artifacts into the shared space. The framework provides functionality such as correlation, notification to appropriate services about the availability of artifacts, build relationship between artifacts and provide persistent storage for the artifacts for the later retrieval. The framework also maintains the state of the data artifacts and also lets services to publish its internal state. This could provide visibility into the processing state of the services. It can also provide additional functionality such as accessing external data store, multidimensional data stores, etc. The details for the architecture and framework components according to a preferred embodiment of the invention are described below.
With reference now to
Shared space 503 (402 in
With reference to
Events 602 define an optional event artifact that gets the data from outside system into the current defined system. The data carried by the event could lead to the initiation of the artifact by policy management component in conjunction with context and dependency graph component. It could also provide the artifacts information to other artifacts that are interested in such information. The active shared space context manager 603 helps in reading events 602, archive events 602 and distribute the artifact carried by events 602 accordingly.
Data stores 604 define the relational database of records where the artifacts are archived. The system also stores all the context and dependency graph such that the artifact path could be retraced.
Context instance 605 define an instance of an artifact (context instance). The artifact gets instantiated when appropriate stimulus arrives (via events 602, for example). Depending upon the policy it could be very short lived artifact (instance creation, available for share and destroyed) or could be long lived (subscribe to other artifacts, recalculate itself, publish itself, and so on).
Services component 601 includes potential services that might be interested in the artifacts for the processing purposes and could re send the artifacts as a response to notification services or as an event artifact 602.
With reference to
With reference to
Data store 803 is part of both design time and execution time component. At the design time it stores the policy and other components configuration such as dependency graph definitions, access policy, artifact definition, etc.
Service components 806 form part of external service that subscribes to the artifacts. These services has to listed in the policy (either at design time or at execution time) to become eligible for the subscription of artifact. Middleware infrastructure 805 represents the execution time view of the active shared space component as a whole. It takes the multiple events 804 as input and initializes an artifact instance or assigns it to subscribing artifacts. An artifact as per the policy would wait for more artifacts or for a time to reach to a certain state. Once it reaches a desired state it would make itself available for subscription. Other artifacts as per their subscription request could acquire this artifact (as per the dependency graph) and subsequently makes itself available for subscription as soon as it reaches a desire state. This way the subscribing services will only get to know of an artifact once it reaches a state and there by not get overwhelmed by the artifacts. The Active Shared Space of the middleware infrastructure 805 manages the life cycle of the artifacts and archives the artifacts once it reaches the final state. The dependency graph for an instance of an artifact is also archived. This enables the auditing of the artifacts for any historical analysis purposes. The Active Shared Space of the middleware infrastructure 805 also forms the central controller component that controls the flow of the artifacts among services and there by preventing the system from getting overwhelmed with the incoming data. Various functions could be performed by the artifacts by defining those in the policy file such as aggregation of artifacts, time variant sharing of the artifacts, etc. Additionally, data store 803 could be expanded to create OLAP (On-Line Analytical Processing) aware data warehouse for the business intelligence purposes.
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 | 11211740 | Aug 2005 | US |
Child | 12055370 | US |