WO2003005167A2 - Business process policy object - Google Patents
Business process policy object Download PDFInfo
- Publication number
- WO2003005167A2 WO2003005167A2 PCT/US2002/021378 US0221378W WO03005167A2 WO 2003005167 A2 WO2003005167 A2 WO 2003005167A2 US 0221378 W US0221378 W US 0221378W WO 03005167 A2 WO03005167 A2 WO 03005167A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- business
- business process
- event
- process policy
- message
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- the methods, systems, and computer readable media described herein relate generally to object oriented programming and more particularly to employing objects in business process policy computing.
- This application concerns methods, systems and computer readable media for employing and accessing objects that model and implement business process policy logic.
- Employing objects in business process policy computing facilitates managing and optimizing business processes and perfonnance. Furthermore, business process policy objects simplify mitigating problems associated with integrating business process policy logic across computer components, technologies, and boundaries. Thus, business process policy object users can focus on using technology to increase business value by executing business strategy rather than focusing on technology integration issues.
- the methods, systems, and computer readable media described herein relate to a dynamic, data driven environment in which business process policies are treated as common objects in an object based computing environment.
- Employing business process policy objects facilitates reusability, portability, simplified messaging, and simplified integration with heterogeneous technologies and applications.
- one aspect of this application concerns a method for implementing business process policy logic in an object.
- the method includes providing data items associated with modeling a business logic, providing methods associated with modeling the business logic, and providing an interface to the business logic that facilitates accessing the data items and/or methods through object oriented messaging.
- the method also includes instantiating an instance of an object that stores the data items, stores the methods, and implements the interface, receiving a message into the instance through the interface, and selectively performing business logic in the instance of the object based, at least in part, on the received message, where the business logic is performed by at least one of, invoking one or more of the methods and accessing one or more of the data items.
- Another aspect of the application concerns a computer implemented method for automatically applying business process policy logic implemented in a business process policy object.
- the method includes identifying a business process policy object to which a message will be sent, and sending a first message to the business practice policy object.
- the system includes a business process policy object that models and implements a business logic associated with a business practice, and a business manager that performs business management by selectively interacting with the business process policy object.
- Figure 1 illustrates an example computing environment on which an example business process policy object can reside.
- Figure 2 illustrates an example business process policy object facilitating spanning a variety of heterogeneous computing environments.
- Figure 3 illustrates example business process policy objects employed in facilitating contextual visualization in an environment that includes event management and business management.
- Figure 4 illustrates a collection of example business process policy objects supporting event processing for an enterprise distributed across a global computer network.
- Figure 5 illustrates example business process policy objects interacting with heterogeneous applications through heterogeneous bindings and a common environment.
- Figure 6 illustrates an example data and control flow through a system employing a business process policy object in conjunction with an event processor to selectively perform business logic for an enterprise that includes computer components that generate business events.
- Figure 7 is a flow chart of an example method for implementing business process policy logic in an object.
- Figure 8 is a flow chart of a portion of an example method for modeling business process policy logic.
- Figure 9 illustrates an example of an object.
- Figure 10 illustrates an example of a business process policy object.
- Figure 11 illustrates a collection of example business process policy objects interacting with a variety of applications and performing a variety of functions.
- Figure 12 illustrates an example business process policy object receiving messages and/or events from a variety of environments and facilitating various data visualizations.
- Figure 13 is a flow chart of an example method for automatically applying business process policy logic implemented in a business process policy object.
- One example method described herein facilitates implementing business process policy logic in objects by providing modeling, instantiation, messaging, and selective performance of business logic based on the messaging.
- a business process policy Once a business process policy has been modeled and implemented in an object, then the object can be exposed, via its interface, to business applications to facilitate processes like enterprise management, workflow management, and so on.
- the objects can be exposed via a common environment.
- the objects can be accessed by heterogeneous computer components by interface protocols including, but not limited to, ODBC/XML, JAVA/EJB, C/C++, COM, and C#/.NET.
- Figure 1 illustrates a computer 100 that includes a processor 102, a memory 104, a disk 106, input/output ports 110, and a network interface 112 operably connected by a bus 108.
- Executable components of the systems described herein may be located on a computer like computer 100.
- computer executable methods described herein may be performed on a computer like computer 100.
- a business process policy object may reside on a computer like computer 100. It is to be appreciated that other computers may also be employed with the systems and methods described herein.
- the processor 102 can be a variety of various processors including dual microprocessor and other multi-processor architectures.
- the memory 104 can include volatile memory and/or non-volatile memory.
- the non-volatile memory can include, but is not limited to, read only memory (ROM), programmable read only memory (PROM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), and the like.
- Volatile memory can include, for example, random access memory (RAM), synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), and direct RAM bus RAM (DRRAM).
- the disk 106 can include, but is not limited to, devices like a magnetic disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, and/or a memory stick.
- the disk 106 can include optical drives like a compact disk ROM (CD-ROM), a CD recordable drive (CD-R drive), a CD rewriteable drive (CD-RW drive) and/or a digital versatile ROM drive (DVD ROM).
- the memory 104 can store processes 114 and/or data 116, for example.
- the disk 106 and/or memory 104 can store an operating system that controls and allocates resources of the computer 100.
- the bus 108 can be a single internal bus interconnect architecture and/or other bus architectures.
- the bus 108 can be of a variety of types including, but not limited to, a memory bus or memory controller, a peripheral bus or external bus, and/or a local bus.
- the local bus can be of varieties including, but not limited to, an industrial standard architecture (ISA) bus, a microchannel architecture (MSA) bus, an extended ISA (EISA) bus, a peripheral component interconnect (PCI) bus, a universal serial (USB) bus, and a small computer systems interface (SCSI) bus.
- ISA industrial standard architecture
- MSA microchannel architecture
- EISA extended ISA
- PCI peripheral component interconnect
- USB universal serial
- SCSI small computer systems interface
- the computer 100 interacts with input/output devices 118 via input/output ports 110.
- the input/output devices 118 can include, but are not limited to, a keyboard, a microphone, a pointing and selection device, cameras, video cards, displays, and the like.
- the input/output ports 110 can include but are not limited to, serial ports, parallel ports, and USB ports.
- the computer 100 can operate in a network environment and thus is connected to a network 120 by a network interface 112. Through the network 120, the computer 100 may be logically connected to a remote computer 122.
- the network 120 includes, but is not limited to, local area networks (LAN), wide area networks (WAN), and other networks.
- the network interface 112 can connect to local area network technologies including, but not limited to, fiber distributed data interface (FDDI), copper distributed data interface (CDDI), ethernet/IEEE 802.3, token ring IEEE 802.5, and the like.
- the network interface 112 can connect to wide area network technologies including, but not limited to, point to point links, and circuit switching networks like integrated services digital networks (ISDN), packet switching networks, and digital subscriber lines (DSL).
- ISDN integrated services digital networks
- DSL digital subscriber lines
- a business process policy object 200 is illustrated facilitating spanning a variety of heterogeneous computing platforms (e.g., 210, 220, 230, 240).
- business process policy logic was coded in stand-alone applications, not objects.
- benefits of object oriented analysis, design, and programming were not available to the applications.
- benefits like reusability, portability, data hiding, encapsulation, interface based messaging, inheritance, and polymorphism were not available. Therefore, integrating these standalone applications and/or spanning multiple heterogeneous computing platforms was difficult.
- business process policy objects facilitate interacting with diverse business entities (e.g., information management technology, enterprise management technology, rules based intelligent technology, predictive technologies).
- business process policy objects simplify interactions between applications like workflow, financial, supply chain, and human resources. Rather than interacting with unique stand-alone applications, each of which may require unique codings, bindings, messaging, and so on, business process policy objects facilitate a standard object oriented messaging interface.
- the example business process policy object 200 is illustrated facilitating interactions between computing platforms 210, 220, 230, and 240.
- Each of these computing platforms may include a variety of hardware, software, and operating systems in unique heterogeneous combinations.
- Software includes but is not limited to, one or more computer readable and/or executable instructions that cause a computer or other electronic device to perform functions, actions and/or behave in a desired manner.
- the instructions may be embodied in various forms such as routines, algorithms, modules, methods, threads, and/or programs.
- Software may also be implemented in a variety of executable and/or loadable forms including, but not limited to, a stand-alone program, a function call (local and/or remote), a servelet, an applet, instructions stored in a memory, part of an operating system or browser, and the like. It is to be appreciated that the computer readable and/or executable instructions can be located in one computer component and/or distributed between two or more communicating, co-operating, and/or parallel processing computer components and thus can be loaded and/or executed in serial, parallel, massively parallel, and other manners.
- the business process policy object 200 simplifies interactions between the computing platforms since a computing platform need only implement the interface to the business process policy object 200 and need not implement an interface to each of the computing platforms with which it desires to communicate. This mitigates integration and interoperability difficulties associated with conventional systems.
- an example business process policy object 300 employed in facilitating contextual visualization of data in an environment that includes event management and business management is illustrated.
- One or more business process policy objects 300 are illustrated interacting with a graphical user interface 310.
- the graphical user interface 310 facilitates contextual visualization of data received from, for example, an event manager 320 and/or a business manager 330.
- the event manager 320 and/or business manager 330 can receive data from a variety of sources including, but not limited to, business applications 340, computer components interfacing through the Internet 342, data processing applications 344, and other sources 346.
- a computer component refers to a computer-related entity, either hardware, firmware, software, a combination thereof, or software in execution.
- a computer component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and a computer.
- One or more computer components can reside within a process and/or thread of execution and a computer component can be localized on one computer and/or distributed between two or more computers.
- a collection of sources, applications, and managers may have individually implemented interfaces to the graphical user interface 310.
- the sources need only implement the interface to the object 300. While a single graphical user interface 310 is illustrated, it is to be appreciated that the object 300 may interact with one or more graphical user interfaces 310.
- the sources receive the benefit of simplifying interaction with a variety of graphical user interfaces 310 that facilitate contextual visualization.
- the object 300 can be a part of a system that automatically performs business process policies.
- the system can include, for example, one or more business process policy objects 300 that model and implement business logic associated with a business practice and a business manager 330 that performs the business management by selectively interacting with one or more business practice policy objects 300.
- the business process policy object 300 can be part of a system that includes an event manager 320 that provides to and/or receives messages from the business process policy object 300.
- a business process policy object 300 can receive information from a BOT and then selectively perform business logic that answers questions like, identify when an event occurs (e.g., bankruptcy, merger, disclosure, acquisition), identify why an event has occurred (e.g., XYZ revenues decline), identify how things are related (e.g., XYZ and ABC revenues are directly related because XYZ acquired ABC six months ago).
- a BOT is an entity that works like a mini web browser that can access and/or generate information.
- a BOT can, for example, crawl the Internet and produce an index of uniform resource locators (URL), correlate data (e.g., find prices on similar items), perform pattern matching, and so on.
- a business process policy object 300 can model and implement business logic for optimizing on-line spot commodity purchases.
- one or more BOTs may be released into the Internet to substantially continuously locate, analyze, and report on spot commodity prices.
- a business process policy object 300 can receive the spot commodity data from the BOTs and perform the appropriate business logic based on the BOT data.
- Business process policy objects 300 provide advantages for implementing such logic and performing such processing by implementing object oriented messaging, facilitating cross platform implementation and integration, and simplifying re-use and extensibility of logic, for example.
- Business process policy objects 300 can receive information from BOTs of various levels of sophistication. For example, a business process policy object 300 can receive information from a spider BOT that crawls the Internet, indexes the Internet, and provides pre-discovered, pre-indexed data that can be data mined. Similarly, a business process policy object 300 can receive information from an intelligent BOT that performs higher level functions like correlation, pattern recognition, and fuzzy logic processing. In one example, a business process policy object 300 can receive information from a BOT that generates business events for input to a business process policy object 300. BOTs may produce events including, but not limited to, reference events, change events, threshold events, task completion events, and task failure events.
- a reference event which may be a discrete event, can provide information like a date when a company files a financial disclosure, or a notification that a company has filed its financial disclosure.
- a change event can be employed to relate prior intelligence that has not yet been related to other events.
- a change event may provide information concerning when a product price page changes, or when a company stock price changes.
- a threshold event facilitates simple levels of correlation between current knowledge and prior knowledge.
- a threshold event may provide information concerning when a company's stock price has gone up or down 10% over the previous price.
- a task completion event relates to business process intelligence and thus may provide information concerning when an on-going task has completed (e.g., informing a business process policy object that a financial disclosure data download has completed).
- Events can be programmatically related and aggregated in a business process policy object 300 to facilitate comprehensive command and control by applying business intelligence.
- business process policy objects 300 can subscribe to BOTs for a flow of certain types of data and events for certain entities.
- business process policy objects 300 can be configured to listen for certain events in an enterprise management system.
- a business process policy object 300 can store values associated with the business practice that it models. The values can be stored in data items. The data items can include, but are not limited to, variables, arrays, lists, and so on.
- a business process policy object 300 can store computer executable instructions that implement decisions associated with modeling a business practice in one or more methods. To facilitate accessing the methods and/or data items, a business process policy object 300 can selectively expose methods through an interface.
- a collection 400 of example business process policy objects (e.g., 402, 404, 406, 408) is illustrated interacting with a variety of sources and destinations through a global computer network 420 and an event processor 410.
- the sources and destinations may be arranged into an enterprise, and the event processor 410 may be an enterprise management system.
- the collection 400 of business process policy objects is illustrated communicating with entities including a local business computer 430, a customer computer 440, a supplier computer 450, a news server 460, an email server 470, a voice mail server 480, and a remote business computer 490.
- business process policy objects can communicate with other entities.
- the communication occurs through a global computer network 420 (e.g., Internet).
- the collection 400 of business process policy objects may perform services like command and control services, event management services, workflow management services, and visual management services.
- the collection 400 of business process policy objects may perform workflow management services like facilitating defining a workflow amongst the sources and destinations, checking the status of work in progress, starting workflows, and/or stopping workflows.
- Figure 5 illustrates example business process policy objects (e.g., 510, 520, 530) interacting with a collection of heterogeneous applications through heterogeneous bindings and a common environment 500.
- a first business process policy object 510 is interacting with a business rules expert 512 (e.g., CleverPath Aion Business Rules Expert provided by Computer Associates International, Inc.) and the common environment 500.
- a business rules expert 512 e.g., CleverPath Aion Business Rules Expert provided by Computer Associates International, Inc.
- a second business process policy object 520 is interacting with an intelligent technology 522 (e.g., Neugents neural network technologies provided by Computer Associates International, Inc.) and the common environment 500 while a third business process policy object 530 is interacting with other applications 532 and the common environment 500.
- the common environment 500 interacts with a variety of applications through a variety of bindings.
- the common environment 500 may interact with an application 540 through an ODBC/XML binding 542.
- the common environment 500 can interact with a JAVA/EJB application 550 through JAVA/EJB binding 552.
- the common environment 500 can interact with a C/C++ application 560 via a C/C++ binding 562, a COM application 570 via a COM binding 572, and a C#/.NET application 580 via a C#/.NET 582 protocol.
- a variety of heterogeneous applications can interface through the common environment 500 to a variety of applications through a variety of bindings.
- Figure 6 illustrates an example data and control flow through a system employing a business process policy object 600 in conjunction with an event processor 610 to selectively perform business logic for computer components in an enterprise 630 that generates business events 620.
- the business process policy object 600 is illustrated establishing a secondary, two-way communication 640 with the enterprise 630 to facilitate gathering additional information associated with a business event 620 and/or processing performed by an event processor 610.
- processing blocks that may be implemented, for example, in software.
- diamond shaped blocks denote “decision blocks” o "flow control blocks” that may also be implemented, for example, in software.
- processing and decision blocks can be implemented in functionally equivalent circuits like a digital signal processor (DSP), an application specific integrated circuit (ASIC), and the like.
- DSP digital signal processor
- ASIC application specific integrated circuit
- a flow diagram does not depict syntax for any particular programming language, methodology, or style (e.g., procedural, object-oriented). Rather, a flow diagram illustrates functional information one skilled in the art may employ to program software, design circuits, and so on. It is to be appreciated that in some examples, program elements like temporary variables, routine loops, and so on are not shown.
- methodologies can be implemented as computer executable instructions and/or operations and the instructions and/or operations can be stored on computer readable media including, but not limited to, an application specific integrated circuit (ASIC), a compact disc (CD), a digital versatile disk (DVD), a random access memory (RAM), a read only memory (ROM), a programmable read only memory (PROM), an electronically erasable programmable read only memory (EEPROM), a disk, a carrier wave, and a memory stick.
- ASIC application specific integrated circuit
- CD compact disc
- DVD digital versatile disk
- RAM random access memory
- ROM read only memory
- PROM programmable read only memory
- EEPROM electronically erasable programmable read only memory
- Modeling can include analyzing a business practice to determine its logical and/or physical inputs, processes, and outputs. Inputs and outputs may be stored in fields in an object, while the processes may be implemented in computer executable instructions that are organized into methods. Since the method 700 concerns business process policy logic as captured in an object, modeling the business logic can also include defining an interface to the data and/or methods. An interface facilitates interacting with the object through object oriented messaging, rather than through conventional procedure calls.
- modeling a business logic includes providing data items associated with a business process policy logic, providing methods associated with the business process policy logic, and providing an interface to the business logic that facilitates accessing the data items and/or methods through object oriented messaging.
- a business process policy object models and implements intelligence (e.g., decision making) applied in understanding, analyzing, and/or responding to business events.
- a business event can be, for example, a message between an information source and an intended target (e.g., workflow manager, enterprise monitor) that describes a significant business activity.
- Business events can also be modeled in objects, and can be communicated to business process policy objects via, for example, object oriented messaging.
- Business events can be associated with business logic processing and can be involved, for example, in reporting a state, in noting a status change, in providing data, and so on.
- a business process policy object can facilitate automatically performing actions like responding to an inventory change, predicting sales activity, generating appropriate discounts, and scheduling deliveries. These and similar actions can be triggered by business events and/or messages, for example.
- the types of business events for which a business process policy object can implement logic include, but are not limited to, reference events, change events, threshold events, task completion events, and task failure events.
- a business process policy object can model and implement logic that deals with individual events and/or aggregations of events.
- an instance of an object is instantiated.
- memory for the data items, instructions for the methods, and resources for the interface can be allocated and addressed.
- the business logic that it models is available to be employed in an object oriented environment.
- a message can be received through an interface.
- the message will be received by the instance created at 720.
- the message can be, for example, a business event.
- An example schema of a business event facilitates identifying the description of and details concerning the business event being reported.
- the event may be related to object happenings, business processes, and/or intelligence (e.g., facts) gathered, for example.
- One example XML schema, for a business event processed by a business process policy object is: ⁇ COMPANY A>
- NAME VALUE> ⁇ NAME> . . . ⁇ /NAME> ⁇ TYPE> . . . ⁇ /TYPE> ⁇ VALUE> . . . ⁇ /VALUE> ⁇ NAME_VALUE> ⁇ NAME_VALUE>
- business logic can be selectively performed at 740.
- the business logic processing can include, but is not limited to, invoking one or more of the methods, accessing one or more of the data items, and or updating one or more of the data items. Therefore, in method 700, various business logic choices (e.g., 750, 752, . . . 754) are illustrated. These blocks of business logic indicate that multiple, substantially simultaneous paths may be taken based, at least in part, on the message received at 730.
- the business logic paths can individually and/or collectively access the data items and/or methods.
- the business logic that is modeled and implemented in a business process policy object can be expressed, for example, in IF/THEN rules, rule capturing tables, and neural networks.
- simple inventory logic may be modeled and implemented by the following IF/THEN rule.
- simple discount logic may be modeled and implemented by the following IF/THEN rule.
- Simple IF/THEN rales can be aggregated to construct sophisticated logic that models and implements logic that handles situations like, a new account being opened, a balance on an account exceeding a threshold, a new purchase order arriving, and so on.
- business process policy objects can respond to actual business events
- business process policy objects can also interact with predictive alerts generated, for example, by neural agents that predict the occurrence of events (e.g., manufacturing problems).
- a business process policy object may identify sales orders and deliveries that could be compromised by a manufacturing problem and produce data that facilitates visualizing the problems and thus responding to such problems.
- processing returns to 730, otherwise, processing can conclude.
- Data items can include, but are not limited to, variables, arrays, tables, lists, stacks, queues, records, and so on. It is to be appreciated that a variety of data items can be employed in modeling business logic.
- methods for capturing the processes of a business logic are provided. Methods can be implemented in computer executable instructions. It is to be appreciated that methods can employ one or more processes, threads, and the like and that the methods can access and/or update one or more of the data items.
- an interface that facilitates object oriented based messaging access to the data items of 712 and the methods of 714 is provided.
- a business process policy object may provide and expose more than one interface. Exposing multiple interfaces facilitates making the logic modeling provided by the business process policy object available in a variety of contexts.
- FIG 9 an example business process policy object 900 is illustrated.
- the object 900 can receive a message 910 and/or an event 912 through its interface 920.
- the interface 920 facilitates gaining regulated access to methods 940, which in turn provides programmer/designer controlled access to data 930, IF/THEN modeling rules 932, rule encoding tables 934, and neural networks 936, for example.
- the data items 930 can include, but are not limited to, object class identifiers, object identifiers, message identifiers, a message schema, a message format, a textual description of an event, a current value for a discrete business data point, a range for a discrete business data point, a desired value for a discrete business data point, an entity identifier that identifies the entity from which the message 910 and/or event 912 was received, and a Uniform Resource Locator (URL) that identifies the entity from which the message 910 and/or event 912 was received.
- object class identifiers e.g., object identifiers, message identifiers, a message schema, a message format, a textual description of an event, a current value for a discrete business data point, a range for a discrete business data point, a desired value for a discrete business data point
- an entity identifier that identifies the entity from which the message 910 and/or event 9
- the interface 920 accepts the message 910 and/or event 912, which facilitates features like data hiding and abstraction, for example.
- the object 900 is not so limited. Additionally, and/or alternatively, the object 900 may expose certain data and/or methods 950 to an object oriented infrastructure 960. This type of access facilitates, for example, internal communication between members of a class hierarchy (e.g., parent, child). The data and/or methods 950 that are accessed by the object oriented infrastracrure 960 are typically not exposed to a general consumer of the object 900.
- One example business process policy object 900 captures information like key performance indicators (KPT) and business data associated with key performance indicators. Having received the KPI data, the business process policy object 900 can then take actions like management by exception, event correlation, prediction, generating notifications, and so on. For example, a business process policy object 900 can be messaged concerning a business event and thus select an action based on the business process policy object 900 state and the data gathered concerning the business event.
- a business process policy object 900 can receive data that XYZ has reported above expected revenues and may, therefore, take actions resulting in, for example, scheduling sales visits to XYZ based on the assumption that XYZ will have more money to spend.
- the business logic assumption was modeled and implemented in the business process policy object 900. Similarly, if XYZ reports lower than expected revenues, different business logic (e.g., adjusting credit terms) can be triggered. In some cases, the business process policy object 900 may need more data to analyze and respond to the event and/or messages. Thus, the business process policy object 900 can set up a secondary, two way communication with an information source to facilitate obtaining additional information concerning the triggering message and/or event.
- FIG 10 an example object 1000 that includes business process policy logic 1010 and a business process policy object interface 1020 is illustrated.
- Objects e.g., 1030, 1032, 1034, . . . 1036
- exposed interface methods e.g., 1022, 1024, . . . 1026. While three exposed methods are illustrated in Figure 10, it is to be appreciated that a greater and/or lesser number of methods may be exposed by the business process policy object interface 1020. Similarly, while four objects are illustrated in Figure 10, it is to be appreciated that a greater and/or lesser number of objects may interact with the business process policy object 1000.
- Exposed methods can include, but are not limited to methods that facilitate, obtaining a message in XML format, obtaining the class of a received object, obtaining a unique identifier for a received object, retrieving a textual description of a received event, retrieving the name of a property for which an event was generated; retrieving the value of a property for which an event was generated, retrieving a unique identifier that identifies the provider of an event, retrieving a unique identifier that identifies an entity to which the event is related, and retrieving a URL of an entity associated with an event.
- Methods exposed by the business process policy object interface 1020 facilitate accessing the business process policy logic 1010 in a manner desired by the object 1000 designer and/or programmer.
- the logic 1010 (and thus one or more methods that implement the logic) can perform actions like, evaluating one or more IF/THEN rules, evaluating one or more rule encoding table results, and interpreting an output from one or more neural networks.
- the objects e.g., 1030, . . . 1036
- interact with the object 1000 through the exposed methods e.g., 1022, . . . 1026
- selectively triggers the performance of business process policy logic 1010 as implemented in, for example, IF/THEN rales, rule encoding tables, and neural networks.
- Figure 11 illustrates a collection 1100 of example business process policy objects (e.g., 1102, . . . 1104) interacting with a variety of applications 1130 and performing a variety of functions 1110.
- the collection 1100 of business process policy objects models and implements business logic associated with functions including, but not limited to, manufacturing processes 1132, finance processes 1134, human resources processing 1136, enterprise management functions 1140, enterprise monitoring functions 1142, enterprise resource planning functions 1146, supply chain management functions 1148, electronic commerce 1150, and key performance indicator processing 1152.
- the processes 1130 can interact with the collection 1100 through object oriented messaging and/or event passing, for example.
- the activities 1110 that the collection 1100 can perform for the processes 1130 include, but are not limited to, performing rules based management 1112, generating new events or notifications 1114, generating data suitable for use in visualization objects 1116, generating data suitable for use in application level definitions 1118, performing management by exception 1120, facilitating event correlation 1122, and facilitating event prediction 1124.
- a manufacturing process 1132 may generate an event that is forwarded to the collection 1100.
- One or more of the business process policy objects e.g., 1102, . . . 1104) can then perform activities based on the event.
- a business process policy object may apply rules based management 1112 to the events supplied by the manufacturing process 1132 to determine, for example, that current manufacturing levels are below expected levels.
- the business process policy object may perform an action to generate a new event 1114 that serves to notify other objects, processes, and the like, of the shortfall in manufacturing process 1132.
- the business process policy object can generate data that will facilitate viewing the problem graphically and pass the data to a visualization object 1116.
- the business process policy object or the collection 1100 may correlate the manufacturing downfall with other events (e.g., blizzard in the midwest impacting suppliers who support just in time delivery).
- event correlation 1122 may occur which in turn leads to a prediction activity 1124 that predicts which retail outlets will suffer a shortfall based on the initial problem in manufacturing 1132. If the shortfalls fall outside of certain exceptional ranges, then management by exception 1120 may be triggered, which may, for example, re-distribute the output from the manufacturing process 1132.
- FIG. 12 an example business process policy object 1200 is illustrated interacting with a number of visualization processes and a number of event generating and/or receiving technologies.
- One application of a business process policy object 1200 is to facilitate visualizing events, status, changes, process flows, workflows, correlations, and predicted situations for a business and/or enterprise.
- Data transmitted to a contextual visualization interface facilitates, for example, line of business visualization 1210, application level visualization 1212, and role based visualization 1214.
- a first business process policy object can provide events, data, and/or messages that interact with a tool employed by a chief financial officer (e.g., accounting, return on investment), while a second business process policy object provides events, data, and/or messages that interact with a tool employed by an inventory control manager (e.g., warehousing, production, delivery).
- a chief financial officer e.g., accounting, return on investment
- an inventory control manager e.g., warehousing, production, delivery
- the business process policy object 1200 is illustrated interacting with a line of business visualization process 1210.
- a business can be viewed from different perspectives at different points in time.
- the business process policy object 1200 provides data that facilitates viewing the business along certain lines. For example, the manufacturing aspects of a business may be visualized at a first time, while the delivery aspects and the inventory aspects may be viewed at a different time.
- the business process policy object 1200 also provides data that facilitates application level visualization 1212.
- a first application e.g., accounts payable
- a second application e.g., accounts receivable
- the object facilitates visualizing various applications.
- the business process policy object 1200 also provides data that facilitates role based visualization 1214.
- a CEO may receive a first type, amount, and character of data from the business process policy object 1200 to facilitate performing the CEO role while a shop floor employee may receive a different type, quantity, and character of data from the business process policy object 1200 to facilitate performing the shop floor role.
- visual displays can be configured for the role of the viewer. While line of business visualization 1210, application level visualization 1212, and role based visualization 1214 are illustrated in Figure 12, it is to be appreciated that the business process policy object 1200 can provide data suitable for display on a graphical user interface that facilitates other types of contextual visualization including, but not limited to, enterprise management and workflow management.
- the business process policy object 1200 can also interact with a variety of event generating and/or receiving technologies.
- the business process policy object 1200 can interact with information management technology 1202 and thus receive messages from and/or send messages to the information management technology 1202.
- the business process policy object 1200 can also interact with an enterprise management technology 1204.
- the business process policy object 1200 can receive messages from and/or send messages to the enterprise management technology 1204.
- One example enterprise management technology 1204 is Unicenter TNG provided by Computer Associates International, Inc.
- the business process policy object 1200 can interact with a rules based intelligent technology 1206 and a predictive technology 1208 receiving messages from and sending messages to such technologies.
- the business process policy object 1200 facilitates interactions between the technologies and also facilitates a variety of visualizations associated with such technologies.
- a predictive technology 1208 may generate an event that is forwarded to the business process policy object 1200. This event may concern a determination that a disk crash is imminent.
- the business process policy object 1200 may therefore generate data for an application level visualization 1212 (e.g., computer network management) and for a role based visualization 1214 (e.g., systems administrator).
- the business process policy object 1200 may also generate an event informing an enterprise management technology 1204 that the crash prediction has been visually distributed to the application level visualization 1212 and the role based visualization 1214, which can facilitate reducing duplicate notifications.
- a reference event which may be a discrete event, can provide information like a date when a company files a financial disclosure, or a notification that a company has filed its financial disclosure.
- a change event can be an event that is related to prior intelligence but which has not yet been related to other events. For example, a change event may provide information concerning when a product price page changes, or when a company stock price changes.
- a threshold event facilitates simple levels of correlation between current knowledge and prior knowledge.
- a threshold event may provide information concerning when a company's stock price has gone up or down 10% over the previous price.
- a task completion event relates to business process intelligence and thus may provide information concerning when an on-going task has completed (e.g., informing a business process policy object that a financial disclosure data download has completed).
- the business process policy object 1200 generated a new event, it is to be appreciated that the business logic selectively performed by the business process policy object 1200 can include, but is not limited to, generating a business event, generating an enterprise event, generating a notification, and generating a log entry.
- a business process policy object is identified.
- an application, object, process, and/or thread that desires to communicate with a business process policy object could acquire a unique identifier for a business process policy object to which it will send a message.
- a type of business process policy object with which the thread, process, application, object, etc. desired to interact could be identified.
- an object that handles task failure events e.g., failed download
- the sender may not require that the event be sent to a specific object but rather to one or more instances of a class of objects that are tasked with handling the business logic associated with the event.
- a message is sent to the business process policy object of 1310.
- the message may concern items like a threshold event, a reference event, a change event, a task completion event, and a task failure event, for example, hi response to the message of 1320, the receiving business process policy object may generate an event that is forwarded to other business process policy objects and/or returned to the sender of the initiating message.
- the receiver may generate, for example, an event, a message, and/or an enterprise event.
- method 1300 may receive an event and/or message.
- the determination at 1340 can be made, at least in part, on whether the message and/or event received at 1330 indicates that an additional message should be sent.
- the business process policy object to which the message was sent at 1320 may desire to establish a secondary, two-way communication to facilitate obtaining additional information associated with processing the message.
- the method 1300 may cycle through the blocks 1320, 1330, and 1340 one or more times.
- time out logic may be employed in the method 1300 whereby the method 1300 will wait for a message and/or event for a predetermined, configurable period of time before determining whether to send another message to the business process policy object identified at 1310. It is to be further appreciated that although a business process policy object identification is illustrated at 1310, that the method 1300 may send messages to one or more business process policy objects, serially and/or substantially in parallel.
- an example computer readable medium can store computer executable instructions for automatically performing business process policy logic in an object.
- the instructions can initialize an object (e.g., initialize data, initialize methods, publish an interface), facilitate receiving a message at the initialized object and selectively execute the business process policy logic by calling one or more the methods.
- an example computer readable medium can store computer executable instructions for automatically accessing logic stored in a business process policy object.
- the instructions can identify a business process policy object to send a message to, send a message to that business process policy object, and facilitate receiving messages from that business process policy object and/or other business process policy objects.
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002354789A AU2002354789B2 (en) | 2001-07-06 | 2002-07-08 | Business process policy object |
IL15969002A IL159690A0 (en) | 2001-07-06 | 2002-07-08 | Business process policy object |
KR10-2004-7000185A KR20040035674A (en) | 2001-07-06 | 2002-07-08 | Business process policy object |
JP2003511070A JP2005521111A (en) | 2001-07-06 | 2002-07-08 | Business process policy object |
CA002452730A CA2452730A1 (en) | 2001-07-06 | 2002-07-08 | Business process policy object |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30342401P | 2001-07-06 | 2001-07-06 | |
US60/303,424 | 2001-07-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2003005167A2 true WO2003005167A2 (en) | 2003-01-16 |
WO2003005167A3 WO2003005167A3 (en) | 2003-12-11 |
Family
ID=23172018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/021378 WO2003005167A2 (en) | 2001-07-06 | 2002-07-08 | Business process policy object |
Country Status (7)
Country | Link |
---|---|
JP (1) | JP2005521111A (en) |
KR (1) | KR20040035674A (en) |
CN (1) | CN1545674A (en) |
AU (1) | AU2002354789B2 (en) |
CA (1) | CA2452730A1 (en) |
IL (1) | IL159690A0 (en) |
WO (1) | WO2003005167A2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2401212A (en) * | 2003-05-02 | 2004-11-03 | Focus Business Solutions Ltd | Automated definition and implementation of business processes |
JP2007516510A (en) * | 2003-06-12 | 2007-06-21 | ロイター アメリカ | Business process automation |
WO2009082381A1 (en) * | 2007-12-20 | 2009-07-02 | Hewlett-Packard Development Company, L.P. | Incorporating development tools in system for deploying computer based process on shared infrastructure |
US8312419B2 (en) | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
US8904341B2 (en) | 2007-04-30 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Deriving grounded model of business process suitable for automatic deployment |
CN112052105A (en) * | 2020-09-04 | 2020-12-08 | 京东数字科技控股股份有限公司 | Interface calling method and device, electronic equipment and computer readable medium |
CN112085473A (en) * | 2020-09-11 | 2020-12-15 | 杭州安恒信息技术股份有限公司 | Event notification method and related device for workflow engine and business strategy machine |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7433887B2 (en) * | 2004-12-29 | 2008-10-07 | Microsoft Corporation | Method and apparatus for metadata driven business logic processing |
EP1949281A4 (en) * | 2005-11-03 | 2011-02-02 | Kt Freetel Co Ltd | Open mobile business supporting system and method |
EP2009586A3 (en) | 2005-11-03 | 2011-02-02 | KTFreetel Co., Ltd. | Open interface device and method |
KR100845307B1 (en) * | 2005-11-15 | 2008-07-10 | 주식회사 케이티프리텔 | Device and method for interworking lbsp to support open mobile business |
KR100807355B1 (en) * | 2007-07-04 | 2008-02-28 | 주식회사 넷츠 | Method and system for business process managemnet |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US9747311B2 (en) | 2013-07-09 | 2017-08-29 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US9996562B2 (en) | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
US9805070B2 (en) | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
US9692748B2 (en) * | 2014-09-24 | 2017-06-27 | Oracle International Corporation | Unified provisioning of applications on devices in an enterprise system |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
EP3472767A4 (en) * | 2016-06-18 | 2019-12-04 | Fractal Industries, Inc. | Accurate and detailed modeling of systems using a distributed simulation engine |
CN109697155B (en) * | 2018-08-20 | 2023-10-31 | 新疆北斗同创信息科技有限公司 | IT system performance evaluation method, device, equipment and readable storage medium |
CN111142982A (en) * | 2018-11-02 | 2020-05-12 | 鸿合科技股份有限公司 | Event execution method and device and electronic equipment |
CN110245836A (en) * | 2019-05-20 | 2019-09-17 | 平安银行股份有限公司 | Task processing method, device and computer equipment based on third-party platform |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
CN114648358B (en) * | 2022-03-22 | 2024-01-09 | 广州云徙科技有限公司 | Value-added service data processing method, system, device and medium |
CN117131706B (en) * | 2023-10-24 | 2024-01-30 | 中国人民解放军国防科技大学 | Decision control device and behavior control method for generating force of weapon by computer |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787438A (en) * | 1996-10-31 | 1998-07-28 | International Business Machines Corporation | Method and apparatus for incorporating policies in searches for factory objects |
US5918210A (en) * | 1996-06-07 | 1999-06-29 | Electronic Data Systems Corporation | Business query tool, using policy objects to provide query responses |
US5937388A (en) * | 1996-12-05 | 1999-08-10 | Hewlett-Packard Company | System and method for performing scalable distribution of process flow activities in a distributed workflow management system |
US6131185A (en) * | 1994-12-13 | 2000-10-10 | International Business Machines Corporation | Method and system for visually debugging on object in an object oriented system |
-
2002
- 2002-07-08 IL IL15969002A patent/IL159690A0/en unknown
- 2002-07-08 JP JP2003511070A patent/JP2005521111A/en not_active Abandoned
- 2002-07-08 KR KR10-2004-7000185A patent/KR20040035674A/en not_active Application Discontinuation
- 2002-07-08 CA CA002452730A patent/CA2452730A1/en not_active Abandoned
- 2002-07-08 CN CNA028164148A patent/CN1545674A/en active Pending
- 2002-07-08 AU AU2002354789A patent/AU2002354789B2/en not_active Ceased
- 2002-07-08 WO PCT/US2002/021378 patent/WO2003005167A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6131185A (en) * | 1994-12-13 | 2000-10-10 | International Business Machines Corporation | Method and system for visually debugging on object in an object oriented system |
US5918210A (en) * | 1996-06-07 | 1999-06-29 | Electronic Data Systems Corporation | Business query tool, using policy objects to provide query responses |
US5787438A (en) * | 1996-10-31 | 1998-07-28 | International Business Machines Corporation | Method and apparatus for incorporating policies in searches for factory objects |
US5937388A (en) * | 1996-12-05 | 1999-08-10 | Hewlett-Packard Company | System and method for performing scalable distribution of process flow activities in a distributed workflow management system |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2401212A (en) * | 2003-05-02 | 2004-11-03 | Focus Business Solutions Ltd | Automated definition and implementation of business processes |
JP2007516510A (en) * | 2003-06-12 | 2007-06-21 | ロイター アメリカ | Business process automation |
US8332864B2 (en) | 2003-06-12 | 2012-12-11 | Reuters America Inc. | Business process automation |
US8904341B2 (en) | 2007-04-30 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Deriving grounded model of business process suitable for automatic deployment |
WO2009082381A1 (en) * | 2007-12-20 | 2009-07-02 | Hewlett-Packard Development Company, L.P. | Incorporating development tools in system for deploying computer based process on shared infrastructure |
US8312419B2 (en) | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
CN112052105A (en) * | 2020-09-04 | 2020-12-08 | 京东数字科技控股股份有限公司 | Interface calling method and device, electronic equipment and computer readable medium |
CN112085473A (en) * | 2020-09-11 | 2020-12-15 | 杭州安恒信息技术股份有限公司 | Event notification method and related device for workflow engine and business strategy machine |
Also Published As
Publication number | Publication date |
---|---|
CN1545674A (en) | 2004-11-10 |
AU2002354789B2 (en) | 2007-09-20 |
KR20040035674A (en) | 2004-04-29 |
IL159690A0 (en) | 2004-06-20 |
JP2005521111A (en) | 2005-07-14 |
WO2003005167A3 (en) | 2003-12-11 |
CA2452730A1 (en) | 2003-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2002354789B2 (en) | Business process policy object | |
AU2002354789A1 (en) | Business process policy object | |
US7610211B2 (en) | Investigating business processes | |
Yu et al. | Using goals, rules and methods to support reasoning in business process reengineering | |
US6763353B2 (en) | Real time business process analysis method and apparatus | |
US8005736B2 (en) | Multi-level transaction flow monitoring | |
CN100422939C (en) | Method and system of configuring elements of a distributed computing system for optimized value | |
US6115646A (en) | Dynamic and generic process automation system | |
US20030236689A1 (en) | Analyzing decision points in business processes | |
US20070168990A1 (en) | Method and system for building, processing, & maintaining scenarios in event-driven information systems | |
WO2002077753A9 (en) | Automated transaction management system and method | |
US20070067773A1 (en) | Event management method and system | |
US10528906B2 (en) | System and method for responsive process management driven by business visibility and complex event processing | |
WO2001022331A2 (en) | Method for defining an executable business model | |
US20100030604A1 (en) | Executing Business Rules in a Business Process | |
Thullner et al. | Proactive business process compliance monitoring with event-based systems | |
Lundberg | Leverage complex event processing to improve operational performance | |
US20020116354A1 (en) | Method and system for transforming session data | |
Nesamoney | BAM: Event-driven business intelligence for the real-time enterprise | |
Magid et al. | Industry experience with the ibm active middleware technology (amit) complex event processing engine | |
Wetzstein | KPI-related monitoring, analysis, and adaptation of business processes | |
Kim et al. | Web services composition with traceability centered on dependency | |
US20050114164A1 (en) | Method of and system for coordinating events between applications of a customer relationship management system | |
Klein et al. | Designing robust business processes | |
Liu et al. | Adaptive exception monitoring agents for management by exceptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2452730 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 159690 Country of ref document: IL |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002354789 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003511070 Country of ref document: JP Ref document number: 29/CHENP/2004 Country of ref document: IN Ref document number: 1020047000185 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200400130 Country of ref document: ZA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20028164148 Country of ref document: CN |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
ENPW | Started to enter national phase and was withdrawn or failed for other reasons |
Ref document number: PI0210878 Country of ref document: BR Free format text: PEDIDO RETIRADO FACE A IMPOSSIBILIDADE DE ACEITACAO DA ENTRADA NA FASE NACIONAL POR TER SIDO INTEMPESTIVA. O PRAZO PARA ENTRADA NA FASE NACIONAL EXPIRAVA EM 06.03.2003 ( 20 MESES - BR DESIGNADO APENAS), ELEICAO NAO COMPROVADA, E A PRETENSA ENTRADA NA FASE NACIONAL SO OCORREU EM 06.01.2004. |