US20030187743A1 - Method and system for process brokering and content integration for collaborative business process management - Google Patents

Method and system for process brokering and content integration for collaborative business process management Download PDF

Info

Publication number
US20030187743A1
US20030187743A1 US10/068,339 US6833902A US2003187743A1 US 20030187743 A1 US20030187743 A1 US 20030187743A1 US 6833902 A US6833902 A US 6833902A US 2003187743 A1 US2003187743 A1 US 2003187743A1
Authority
US
United States
Prior art keywords
business
adoc
brokering
pbs
collaborative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/068,339
Inventor
Santhosh Kumaran
Prabir Nandi
Kumar Bhaskaran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US10/068,339 priority Critical patent/US20030187743A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BHASKARAN, KUMAR, KUMARAN, SANTHOSH, NANDI, PRABIR
Publication of US20030187743A1 publication Critical patent/US20030187743A1/en
Priority to US12/212,830 priority patent/US8655709B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention generally relates to business process management and integration and, more particularly, to a Process Brokering Services (PBS) through the concept of Adaptive Documents to facilitate collaborative business process management and integration.
  • PBS Process Brokering Services
  • PBS Process Broker Services
  • the two principal functions of the PBS are brokering of multiple business processes encapsulated in various back-end systems including workflow engines and business applications, and aggregating content from multiple enterprise information systems in the business context and managing the shared access to this based on the roles of the participants.
  • the PBS enables e-business solution assembly.
  • the solution assembly typically involves the following steps:
  • ADOCs Adaptive Documents
  • Solution design begins with laying out the information model, the organization model, and the business process model. Using the information model and the business process model, we identify the ADOCs in the system. Using the business events and their prerequisites, we design the ADOC state machines. Using the processing rules associated with these business events, we identify the commands that need to be executed as part of state transitions. When processing rules dictate collaboration with user or software agents in the system, we use macro flows to define them. Macro flows are directed graphs that establish the relationships between activities that correspond to the nodes in these graphs. We use activity controllers to define the micro flow used to complete these activities. Activity controllers are designed and defined the same way as ADOC controllers are handled. We use a state machine to model their behavior and use commands to effect the behavior.
  • the dynamic services provided by PBS are accessible to clients through a single PBS interface. These business services can be categorized as Process Brokering, ADOC Query, ADOC Lifecycle Management, and Scheduling Service.
  • the Process Brokering Service allows PBS clients to invoke dynamic business services that are made available based on the business state of the ADOC and the execution state of the associated work flows—the services are dynamic because they are state dependent, i.e., the available set of services vary with any change in the business state of the ADOC instances.
  • the client can trigger any service by raising an event against a specific ADOC instance.
  • the actual invocation of the service is made by a service request on the PBS with the ADOC identification (ID), the business event name, and other parameters.
  • ID ADOC identification
  • the ADOC Query Service allows PBS clients to query the business state of the ADOC, ascertain the available business services for a given business state, access the business content aggregated by the ADOC, and query for navigational purposes such as list of ADOCs that satisfy a given criteria.
  • the ADOC Lifecycle Management Service allows PBS clients to create, delete, archive, and restore ADOCs.
  • the Scheduling Service allows PBS clients to automate the service invocation by scheduling it using the PBS Scheduler. At the scheduled time, the PBS Scheduler notifies the registered Action Listener that in turn makes the service invocation on the PBS.
  • the PBS provides a number of standard Action Listeners and a provision for user-defined Action Listeners.
  • the PBS interface redirects a business event from a client to the appropriate ADOC.
  • the ADOC controller acts on the business event based on its state and the event content. As part of this action, based on business rules attached to the ADOC, multiple commands get executed. If the execution is successful, the state of the ADOC changes. (It could be that the state transition is a self loop, meaning the start and end states of a transition are one and the same. In other words, state does not have to change in response to a business event.)
  • the commands are abstractions of the work the ADOC wants to do in response to a business event.
  • a receiver is specified for each command.
  • the receiver does the actual work.
  • a receiver is actually specified as a method to be executed on a target object.
  • the commands and receivers are designed based on well-known “command design pattern”.
  • a special case of a receiver is the workflow engine. More correctly, there is a set of workflow-related receivers, such as “launch a workflow”, “claim a workflow activity”, “complete a workflow activity”, etc. This is treated special since all the active activities belonging to a workflow launched by an ADOC are dynamically bound to that ADOC. This means that access to these activities are controlled by the ADOC. Events to these activities are accepted by the process broker services interface and sent to the appropriate ADOC. The activity controllers that are dynamically bound to the ADOC act on these events much like the ADOC controller does.
  • FIG. 1 is a block diagram showing the Business Flow Manager (BFM) components
  • FIG. 2 is a block diagram showing the architecture of an implementation of the Process Broker Services (PBS) according to the invention
  • FIG. 3 is a block diagram showing a conceptual view of an Adaptive Document (ADOC)
  • ADOC Adaptive Document
  • FIG. 4 is a block diagram showing the structure of the Controller
  • FIG. 5 is a flow diagram showing the logic of the Composite Design Pattern for Commands
  • FIG. 6 is a block diagram showing the structure of a Command
  • FIG. 7 is a block diagram showing the structure of a Receiver
  • FIG. 7 is a flow diagram showing the Request-Response Collaboration for a Scheduled Event
  • FIG. 9 is a time line diagram showing PBS and Workflow Interaction
  • FIG. 10 is a flow diagram showing PBS messaging for an incoming message
  • FIG. 11 is a flow diagram showing Business Events in an RFQ Process
  • FIG. 12 is a time line and flow diagram showing the RFQ Process
  • FIG. 13 is a block diagram showing an RFQ ADOC Entry
  • FIG. 14 is a state diagram showing the RFQ ADOC Controller State Machine
  • FIG. 15 is a time line and flow diagram of the Macro Flow for RFQ Processing
  • FIG. 16 is a state diagram showing the State Machine for the Process RFQ Approval Request Activity
  • FIG. 17 is a state diagram showing the Collab Step Activity Controller State Machine
  • FIG. 18 is a state diagram showing the State Machine for the “Evaluate Response” Activity Controller
  • FIG. 19 is a time line and flow diagram of the Micro Flow for quote creation
  • FIG. 20 is a block diagram illustrating multiple clients working with an ADOC with multiple activity controllers
  • FIG. 21 is a state diagram showing the State Machine for the Activity Controller for the “Process RFQ” step
  • FIG. 22 is a state diagram showing State Machine for the “Approve Quote” step.
  • FIG. 23 is a block diagram illustrating solution artifacts for the RFQ Solution.
  • the Process Broker Services is a component of the Business Flow Management (BFM) in WebShpere Business Integrator (WSBI or WBI).
  • BFM Business Flow Management
  • WSBI WebShpere Business Integrator
  • WBI WebShpere Business Integrator
  • FIG. 1 The high-level component architecture of the Business Flow Manager is shown in FIG. 1. The components include:
  • WWFS WebSphere Workflow Services
  • API Application Program Interface
  • WebSphere Messaging Services 12 Java Messenger Service (JMS) Message Listener for asynchronous communication using message queuing that is used for target adapters in the BFM.
  • JMS Java Messenger Service
  • Solution Management Services 13 Audit, Exception Handling, and Monitoring of business processes.
  • Process Broker Services 14 Provides Brokering and Content Aggregation Services using ADOC and Controllers for State Management
  • Flow Composition Builder 15 Build time suite of tools for business process management.
  • the Business Flow Manager has four run-time components and one build-time tool.
  • the WWFS 11 , the WS Messaging Services 12 , and the Solution Management Services 13 are collectively referred to in the ensuing description as the BFM Base.
  • the Process Broker Services (PBS) 14 is therefore a BFM component that is realized on top of the BFM Base, i.e., it uses the services provided by the BFM Base components.
  • the WWFS 11 base component is primarily used as an interface to the workflow engine such as MQ Workflow. It logs a user to the workflow engine and provides the necessary interfaces for PBS to launch a process, claim an activity, update the activity status upon completion, and query the process and activity details. Logging a user requires that this component interact with the Trust & Access Manager (TAM) to obtain the Global Sign On credentials for the user.
  • TAM Trust & Access Manager
  • the WebSphere (WS) Messaging Services 12 base component enables applications and other BFM clients to communicate to BFM via messaging (i.e., MQ).
  • MQ messaging
  • the JMS Listener upon receipt of a message, spawns the message-driven bean in WebSphere that in turn invokes the PBS where the business data in the message is used for process brokering.
  • the Solution Management Services 13 uses the Solution Manager (WBI Component) client for audit and exception logging.
  • the logs are marked with a unique transaction identifier such as the ADOC id that is then used for correlating the related logs.
  • the Solution Manager console rendered by the Interaction Manager (WBI Component) is used to view the logs generated by the BFM.
  • the Flow Composition Builder 15 serves as the build time tool for the BFM.
  • the Flow Composition Builder is used to build micro-flows, i.e., a sequencing of an ensemble of commands.
  • a command can be as simple as a method call on a business object.
  • These micro-flows are then invoked from within the PBS 14 .
  • the micro-flows can be viewed as a mechanism used by ADOCs in the PBS 14 to aggregate content from multiple enterprise-information-systems or data sources.
  • the PBS Architecture is shown in FIG. 2.
  • Clients 201 and 202 to the PBS can use either Remote Method Invocation/Internet Inter Orb (Object Request Broker) Protocol (RMI/IIOP) or JMS/MQ protocols to communicate with the PBS.
  • RMI/IIOP Remote Method Invocation/Internet Inter Orb
  • JMS/MQ protocols to communicate with the PBS.
  • the Interaction Manager is a PBS client that uses RMI/IIOP to communicate with the PBS to render the dynamic executable content from ADOCs to users who are interacting via Web browsers.
  • an end-point application can use MQ to send messages such as the OAG-BOD to the PBS.
  • OAG-BOD 2 is Open Application Group's Business Object Documents—an XML application-to-application messaging standard.
  • PBS also uses both RMJ/IIOP and MQ to communicate to the various enterprise information systems (“back-ends”) 203 .
  • the PBS uses RMI to communicate to the Business Objects (BO) such as a Purchase Order (PO) or a Ship Schedule.
  • BO Business Objects
  • PO Purchase Order
  • Ship Schedule The PBS can also use the WS Messaging Services 12 and communicate to the end-points via MQ using OAG-BOD messages.
  • Such messages can be communicated either point-to-point using MQ to endpoints or via the Information Delivery Manager (IDM), a WBI message broker that transforms and routes the messages as warranted.
  • IDM Information Delivery Manager
  • BFM Source Adapters will have to be built using the Flow Composition Builder (also referred to as the MQ Adapter Builder). These source adapters semantically adapt the business data, aggregated by the PBS from various data sources, to business messages that are then communicated to the end-points.
  • the PBS provides dynamic business services that are accessible to clients through a single PBS interface 204 . These business services can be categorized as Process Brokering 205 , ADOC Query 206 , ADOC Lifecycle Management 207 , and Scheduling Service 208 as shown in FIG. 2.
  • the Process Brokering Service 205 allows PBS clients to invoke dynamic business services that are made available based on the business state of the ADOC 209 —the services are dynamic because they are state dependent, i.e., the available set of services vary with any change in the business state of the ADOC instances.
  • the client can trigger any service by raising an event against a specific ADOC instance.
  • the actual invocation of the service is made by a service request on the PBS with the ADOC ID, the business event name, and other parameters.
  • ADOC Query Service 206 allows PBS clients to query the business state of the ADOC 209 , ascertain the available business services for a given business state, access the business content aggregated by the ADOC, and query for navigational purposes such as list of ADOCs that satisfy a given criteria.
  • ADOC Lifecycle Management Service 207 allows PBS clients to create, delete, archive, and restore ADOCs.
  • Scheduling Service 208 allows PBS clients to automate the service invocation by scheduling it using the PBS Scheduler. At the scheduled time, the PBS Scheduler notifies the registered Action listener that in turn makes the service invocation on the PBS.
  • the PBS provides a number of standard Action Listeners 210 and a provision for user-defined Action Listeners.
  • the Adaptive Document (ADOC) 209 is a component that links the “content” aggregated from various data sources to business processes and people.
  • the ADOC 209 enables collaborative business process management through the orchestration of a variety of applications and user interactions in the context of a business process.
  • FIG. 3 provides a conceptual view of an ADOC.
  • ADOCs are implemented as Container-Managed Enterprise Java Beans (EJBs).
  • the framework part of the ADOC persists information like the current state, owner and the type of the ADOC, whereas the Solution (viz. RFQ ADOC; PO ADOC, etc.) part inherits from the framework part and persists business object references to data objects.
  • the ADOC 209 facilitates the collaborative experience outlined above by dynamically exposing a set of business services 31 based on who you are 32 (i.e., role) and where you are in the process 33 (i.e., process context). Invoking a business service exposed by an ADOC is essentially executing a “business transaction.” The ensemble of business transactions in turn constitutes the business conversation.
  • An ADOC can support multiple business conversations that are part of any collaborative business process management.
  • a business transaction can have multiple levels (e.g., a long running collaborative forecasting process, collaborative planning activity of building a forecast, atomic transaction of getting the sales history of a specific item) and span multiple parties (e.g., two decision makers or applications from different organization units within an enterprise or two decision makers or applications from different enterprises).
  • the ADOC is capable of executing such “multilevel, multi-party business transactions.” It is this capability that enables an ADOC to do business process brokering and deliver the right information and right tools, to the right group of people in the context of executing a collaborative business process.
  • the ADOC can also be understood from the interaction experience of a user in the collaborative solution. Users in this case interact through views of an ADOC. Any particular view has three components—Action 34 , Navigation 35 , and Content 36 (see FIG. 3).
  • the Action 34 corresponds to the dynamic business services that are exposed by an ADOC (hinges on the role of the user and the context of the business process) and invoked via the PBS interface.
  • the Naigation 35 can be either process centric (e.g., show me the set of actions given the current process state) or document centtic (e.g., show me the list of ADOCs that require some action).
  • process centric e.g., show me the set of actions given the current process state
  • document centtic e.g., show me the list of ADOCs that require some action.
  • the ADOC supports both navigation models that are once again accessed via the PBS interface.
  • the Content 36 in the view is marshaled by the execution of the business services in an ADOC, i.e., the business transactions that are brokered by the ADOC Controllers to aggregate the content from a multitude of back-end sources such as applications, business objects, and databases.
  • the Action 34 , Navigation 35 and Content 36 constitute a role-based Web User Interface (UI) through which a client can access the ADOC 209 through the Internet 37 .
  • UI Web User Interface
  • the ADOC 209 uses the ADOC Controller 211 to implement the brokering functions.
  • a controller is essentially a services broker and is implemented as a state machine, as generally represented by enlarged circle to the right of the controller.
  • a service request comes to the ADOC 209 , it uses the Application State to determine if the request can be entertained, and if so, it uses the controller to broker the services needed to satisfy the request.
  • the design points for the Service Broker or Controller, which is a state machine, are:
  • the state transitions are transactional. All the commands that are triggered by a service request need to be executed as a Logical Unit of Work. If there is a failure, the state change should not occur and if necessary, recovery procedures should be executed (e.g. compensation script).
  • the controller defines the dynamic behavior of the ADOC. It is possible to modify the definition of the controller, publish it, and hence dynamically change the behavior without disrupting or shutting down the PBS.
  • the Process Broker should facilitate dynamic e-business systems, in which the service providers for the individual commands in the controller can be dynamically mapped. This implies the separation between commands and receivers that implement the commands.
  • the Controller can be self-bootstrapping, i.e., it can schedule triggers that generate service requests on the controller. This is essential to capture timeouts and other temporal constraints that define the dynamic behavior of the service broker.
  • ADOC-Activity Maps 212 keep track of zero or more workflow activities that the ADOC 209 maybe participating in.
  • the workflow activity implementation in PBS is also modeled in a state machines which is instantiated when the Activity becomes available.
  • the ADOC-Activity maps keep the information of the participating ADOC and the state of the Activity. Using these maps the PBS is able to mediate business events between ADOCs controllers and one or more associated Activity controllers. When the activity is completed the link is deleted and a fresh link is established for the next activity till the process completes. This enables the ADOC to participate in more than one workflow process at a time.
  • An ADOC instance has an ADOC Controller 211 and zero or more Activity Controllers 213 based on the association of the ADOC with activities in business processes that are defined in the workflow engine and accessed using the WebSphere Workflow Services 11 . Both the ADOC Controller 211 and the Activity Controller 213 have the identical structure as shown in FIG. 4.
  • the controllers are defined in XML (extensible Markup Language) and the PBS reads these definitions at runtime. Changes can be made to the XML definitions at any time, and the PBS will refresh the in-memory definition of the controllers based on the new definitions.
  • XML extensible Markup Language
  • the controller is a named state machine.
  • the state machine consists of
  • the state transitions are triggered for defined events when a given condition expression on the transition is satisfied.
  • actions 43 or commands are executed. These actions or commands can be sequenced in any fashion and such a sequence of actions is referred to also as a micro-flow.
  • the business state of an ADOC is a state vector and includes the current state of the ADOC Controller as well as the current states of the Activity Controllers associated with the ADOC.
  • Commands can be viewed as an interface to the business logic, i.e., interface definitions to the various enterprise information systems that are engaged in business process management.
  • the composite design pattern shown in FIG. 5 it is possible to compose commands to form composite-commands or micro-flows.
  • the Flow Composition Builder can be used to sequence commands and construct such micro-flows.
  • the commands are specified in the controller using XML.
  • the XML command data structure is shown in FIG. 6.
  • Each command 61 in the command list 62 has an input data structure 63 and an output data structure 64 where the individual attributes can be specified as a name-value pair.
  • the command is identified by its method name 65 .
  • the commands executed within a state transition are in a single unit of work. In the event of a transaction failure the actions executed by the command(s) are undone using the undo command. Some of the end points that are engaged may not be transactional systems and recovery entails using compensation logic. Such logic can be encapsulated in the undo commands.
  • the receiver 66 associated with a command is identified by the receiver identification (ID).
  • the receiver is an interface to the service providers, i.e., implementations of the business logic expressed in the commands.
  • Receivers enable the dynamic mapping of the service providers to the commands.
  • There can be many types of receivers such as a JMS receiver for asynchronous connectivity to various back-end applications and systems or a RMJ receiver for synchronous connectivity to other business objects and applications.
  • the Flow Composition Builder 15 used to build the micro-flow, can be used to build specialized receivers that implement the micro-flow. These receivers are realized either as Java objects or Session Beans.
  • the receivers in the PBS are specified using XML.
  • the structure of the receiver is shown in FIG. 7.
  • Identifying the protocol type and the relevant parameters for establishing the connectivity and invoking the method name specifies the receiver 71 in the receiver list 72 .
  • the RMI protocol is used to identify the Java class that is instantiated in a different Java Virtual Machine (JVM) than the PBS.
  • JVM Java Virtual Machine
  • the native protocol is used when the Java class that is engaged is in the same JVM as the PBS.
  • Receivers can be added with other protocols such as JMS and IIOP.
  • the Process Broker Services Scheduler 214 enables time phased automatic invocation of service requests. This provides the ability for an ADOC 209 and its associated controllers to be self-bootstrapping, i.e., the ability to trigger events automatically to drive the state transitions. Such a capability is very useful in modeling timeout events for example—in this case the timeout event is scheduled by a command in a controller and the event is triggered on schedule on the controller.
  • the PBS Scheduler collaborations are shown in FIG. 8.
  • Clients typically ADOC and associated controllers, schedule an event by making a request on the scheduler (action 1 ).
  • the scheduler is globally visible to the client as a well-known entity (see visibility adornment on the transition in FIG. 8). This request is asynchronous in that the event is scheduled and the client is not blocked.
  • the scheduler commits the scheduled event (action 2 ), where the scheduled entries are persistent.
  • the dispatcher running as a separate thread of execution or daemon, periodically checks for entries to act upon (actions 3 , 4 ).
  • the “heart beat” of the dispatcher can be customized.
  • the dispatcher launches the ActionListener registered for a particular scheduled event (action 5 ).
  • the PBS comes with a number of standard ActionListeners ( 210 in FIG. 2). There is also provision in the PBS Scheduler to have user-defined ActionListener.
  • An ActionListener is an agent or a handler that upon notification performs service related tasks.
  • the ActionListener makes the appropriate service request (action 6 ) to complete the asynchronous request-response cycle for a scheduled event.
  • the ADOC Archive provides a transitive closure mechanism for ADOCs.
  • the ADOC, associated controllers, and object references are all serialized and persisted.
  • the ADOC can then be revived through a restore request.
  • the archive and restore requests can be made as commands from the controllers.
  • This feature is very useful as an ADOC represents a business transaction.
  • Business processes may require archiving business transactions upon completion for non-repudiation purposes. This is also useful in the case of modeling process brokering for long-running transactions where the time scales can be weeks or months.
  • the BFM Base shown in FIG. 2, includes the WebSphere Workflow Service (WWFS) 11 , the WebSphere Messaging Service 12 , and the Solution Management Service 13 .
  • WWFS WebSphere Workflow Service
  • the PBS uses all three services provided by the BFM Base.
  • the WWFS 11 provides JointFlow API (Application Program Interface) to access the workflow engine such as MQ Workflow.
  • PBS invokes workflow commands, i.e., method invocations on WWFS, to launch a business process, claim an activity in a process, indicate completion of an activity, and enquire the status of either a process or an activity.
  • the PBS associates ADOC instances with activities. This association is captured in the Activity-ADOC map (AA Map) 212 .
  • An ADOC instance can participate in multiple activities either within the same process instance or multiple process instances.
  • a new activity becomes available, as specified in the process definition, when the business process is updated in the workflow engine to indicate the completion of a prior activity.
  • the availability of a new activity results in the update of the AA Map.
  • the PBS then launches an Activity Controller for the ADOC instance associated with the activity.
  • the Activity Controller brokers the collaborations (“business conversation”) necessary to execute the activity.
  • the Activity Controller issues workflow commands on WWFS 11 as part of the controller definition to claim the activity and to also indicate completion of the activity.
  • a number of application-specific states are typically involved between the claim and complete events.
  • the Activity Controller can engage humans as well as applications in the execution of the activity.
  • the PBS makes a workflow command.
  • the controllers make this command typically.
  • the WWFS checks to see if the user has already logged on to the workflow engine. This is necessary especially for launching processes, claiming, and completing an activity since only users with certain privileges are authorized to perform such tasks.
  • the WWFS makes a request to the Trust & Access Manager (TAM), a WBI component, to obtain the Global Sign On credentials.
  • TAM Trust & Access Manager
  • a GSO is a mechanism to do credential mapping for a user with multiple identities associated with various back-end systems.
  • the TAM makes an authorization check to see if the user does have access to the requested system.
  • the TAM returns the authorization credentials to WWFS.
  • the WWFS uses the GSO credentials to logon to the workflow engine.
  • the WWFS caches this logon handle for purposes of optimizing the connection to the workflow engine.
  • the workflow engine processes the request.
  • the PBS updates the AA Map if necessary—especially when the state of an activity changes.
  • the PBS utilizes the WebSphere Messaging Services 12 , a BFM Base component (see FIG. 2), to receive and send messages.
  • the messages are typically in XML format such as the OAG-BOD messages.
  • the recommended transmission protocol is the JMS (Java Messaging Services); the MQPP (MQ Point-to-Point) protocol can also be used.
  • Any end point such as an ERP system or a scheduling application, sends a message. These messages are sent using MQ and hence guaranteed delivery.
  • an MQ Adapter at the end-point semantically adapts the message from the application output to the canonical form such as OAG-BOD.
  • the message is also enveloped with JMS and WBI headers.
  • the Information Delivery Manager receives the message, transforms it as necessary and routes the message.
  • the source and the sink for the messages are essentially decoupled by SDM. This mechanism provides loose coupling and extensibility of the application integration.
  • the JMS Destination can be either a specific queue (as in point-to-point messaging) or a topic (as in publish-subscribe messaging).
  • MQ Adapter Kernel (MQAK) bean that implements the JMS listener's onMessage method receives the message.
  • the MQAK bean processes the message, i.e., de-envelopes the JMS message header and formats it as necessary.
  • the MQAK bean then launches the BFM Message Receiver.
  • the BFM Message Receiver is akin to a thin MQ Application Adapter that is designed to handle all incoming messages (of any type) to the PBS.
  • the BFM Message Receiver makes an incoming message call to the PBS Interface. This call also passes the message to the PBS Interface.
  • the PBS Interface does the necessary correlation. If an ADOC instance is referred to in the message header then that is used for correlation, otherwise a new ADOC instance is created and the message associated with the ADOC instance.
  • the PBS Interface makes a service request on the correlated ADOC.
  • the PBS brokers the service-request appropriately to either the ADOC controller or one of many activity controllers.
  • the service request in turn triggers the appropriate controller state transition, resulting in the execution of a unit of work consisting of one or more commands or microflows within the controller.
  • the above collaboration illustrates how business data is communicated using messaging from any end point to the PBS.
  • the PBS can also send business data as messages to any end point. This is accomplished using BFM microflows that format and compose the message and send the message using the MQAK.
  • the BFM microflows that send messages are also built using the MQ Adapter Builder tool.
  • the BFM Solution Manager client 214 (see FIG. 2) in the PBS uses the Solution Management Services 13 , a BFM Base component, to generate audit and exception logs that are persisted in the Solution Manager (WBI component).
  • the audit and exception log messages are XML messages that are sent to the Solution Manager using MQ.
  • the BFM SM Client can be invoked as a command within the ADOC and Activity Controllers in the PBS to initiate audit and exception logging.
  • the PBS automatically logs the ADOC Transaction History.
  • the ADOC is a business entity that enables the execution of process driven business transactions (e.g., e-Payment ADOC).
  • An e-Payment ADOC for example transcends the various steps in an e-Payment business process.
  • Such an e-payment business process in turn engages multiple applications. From a solution management perspective it is important to be able to view the overall transaction history of the ADOC.
  • the ADOC controller manages 211 (FIG. 2) the state transitions.
  • the controller upon receiving a valid event in a given state triggers a permissible state transition.
  • the transition in turn launches one or more actions. These actions are sub-transactions against various back-ends.
  • the ADOC Transaction History consists of a record of the states that the ADOC has traversed and the Time In and Time Out for each individual state in the traversed state list.
  • the transaction history for an ADOC is uniquely associated with the ADOC ID that represents the transaction identifier. (Such a view of the transaction history is equivalent to tracking a package using the UPS tracking number it shows the various package states and marks the progress using time stamps.)
  • Body Field Values Description ACTIVITYID The Activity ID Activity ID, if applicable ADOCTYPE
  • ADOC Type The type of ADOC being logged such as “e-payment” USERID User ID User ID, if available EVENTNAME “Trigger Event Name of the event that caused Name” the transition.
  • DATETIME Log Event Time The log event time (Java Date) FROMSTATE ADOC State Name The name of the prior state.
  • TOSTATE ADOC State Names The name of the next state.
  • the organization model consists of the PTX organization and various seller organizations.
  • the roles in the PTX organization include Buyer and Buyer-Approver.
  • the roles in a typical seller organization include Seller and Seller-Approver.
  • FIG. 11 shows the business events in the RFQ application.
  • workflow events We do not discuss workflow events here, since those are part of the processing rules associated with the business events.
  • An example of a workflow event is a Buyer-Approver acting on a submitted RFQ to approve or reject it. This event is captured as part of the business rules specified to process a submitted RFQ.
  • Processing Rules Start the “RFQ Process”. The process is shown as a flow graph below:
  • Source Buyer.
  • Processing Rules If RFQ Process is active, terminate it. Notify sellers and approvers.
  • ADOCs provide the process brokering capability by intercepting business events and servicing them based on the application state. Thus, identifying the ADocs in the application is the key step in solution design.
  • ADOC collaborative behavior that ADOC encapsulates.
  • the behavior of the ADOC is defined using a state machine combined with command design pattern.
  • the state machine is defined as a set of finite states and the transitions permissible at each state. For each state transition, there is an associated event that triggers it.
  • the state transitions are triggered by a service request made by some client on the ADOC.
  • the client passes an event identifier, a set of input parameters, and a context to the ADOC.
  • the ADOC executes a set of commands as a transaction, The commands are designed using the Command Design Pattern, which implies the actual work is delegated to a receiver.
  • an ADOC will also hold minimal state information. This includes the current state of the ADOC and pointers to the business, objects referenced by it. An ADOC only needs to reference the “top-level” business objects. There is no need for the ADOC to reference business objects navigable from the top-level business objects.
  • the RFQ ADOC Entity is used to hold the minimal state information and RFQ ADOC Controller is used to define the behavior.
  • the design of the RFQ ADOC Entity is as shown below in FIG. 13.
  • the RFQ ADOC Entity extends the generic ADOC class to hold application specific data references.
  • FIG. 14 shows the state machine of the RFQ ADOC Controller. Note that the states “Cancelled” and “Closed” have no transitions defined for them. We denote “Cancelled” state as a “terminal state”. RFQ ADOCs that are “Cancelled” will be periodically purged by the system management services of PBS. RFQ ADOCs that are “Closed” will be archived periodically by PBS as well.
  • the processing rules specified for a business event may dictate that acertain business events necessitate collaboration among the “agents” in the solution. That are players or the agents working on behalf of human users. Typically , this collaboration entails a long running process that could span several days or even months. In a ATI solution, this collaboration is captured in a workflow graph.
  • a workflow graph is a directed graph, where the nodes denote activities that are to be “completed” by designated agents and arcs denote the collaboration pattern.
  • Micro workflow refers to the detailed activity flow within a macro activity. This is different from macro workflow in that it is composed of actions that are triggered by the agent who is doing the macro activity. These actions are typically transactional, synchronous, and short running. In a WBI solution, a micro workflow may be defined for any activity in the macro workflow graphs.
  • Micro workflow is implemented using exactly the same technology as the ADOCs. There is a Task Controller that implements the micro workflow associated with each activity. This Task Controller is designed using a state machine and the command design pattern just as an ADOC Controller is defined.
  • an ADOC controller initiates the macro workflow as a result of a state transition.
  • PBS launches a Task Controller to drive that task.
  • the Task Controller ceases to exist and the process moves to the next step(s).
  • the process completes.
  • the ADOC and Task controllers together drive the client interaction. It is quite conceivable that multiple activities are associated with an ADOC instance.
  • multiple activity controllers associated with the same RFQ ADOC, each activity controller corresponding to a seller process. This is discussed in more detail later in the solution design.
  • the macro and micro workflow states together represent the process state.
  • the ADOC state is orthogonal to the process state. The power of the PBS programming model derives from this ability to model this orthogonal state space.
  • FIG. 16 shows the “Process RFQ Approval Request” Activity Controller.
  • the table below shows the state machine behavior: From To Event Guard Commands Available Claimed Claim WFActivityClaim Claimed Complete Approve WFActivityComplete CreateVendorList Claimed Complete Reject WFActivityComplete DeleteRFQData CreateNotificationInfo Notify
  • FIG. 17 shows the Activity Controller for the “Collab Step” activity in the macro flow for RFQ processing. This step involves multiple child processes being created, one for each vendor organization, to enable the selected vendors to respond to the RFQ using the Private Exchange portal.
  • the table below shows the state machine behavior: From To Event Guard Commands Available Claimed Claim WFActivityClaim GenerateDynamicFanoutInfo SpawnChildProcessesAndTimers Claimed Claimed Quote Create Outstanding UpdateProcessStatusInfo Process Completion Process or Timeout Claimed Complete Quote Create No Outstanding DeleteProcessStatusInfo Process Completion Processes or Timeout
  • FIG. 18 shows the activity controller for the “Evaluate Responses” step.
  • the table below shows the state machine behavior: From To Event Guard Commands Available Claimed Claim WFActivityClaim Claimed Claimed Evaluate EvaluateQuotes Claimed Complete RequestChange WFActivityComplete UpdateVendorList Claimed Complete Close WFActivityComplete
  • FIG. 19 shows the macro flow for the quote creation process.
  • Several instances of this macro flow are created, one for each vendor. It is assumed that all vendors use the Private Exchange portal to create responses. This could create a situation where multiple Activity Controllers are associated with an ADOC instance. Since a workflow activity can only be acted upon by a predefined set of users, the client can get a handle of the appropriate activity controller by specifying the user id and role information. Multiple clients could thus work with this ADOC with each client request being handled by the appropriate activity controller.
  • FIG. 20 shows a scenario in which two seller organizations are working with an RFQ ADOC, the first one in the “Process RFQ” activity while the second one is one step ahead, in the “Approve Quote” activity.
  • FIG. 21 shows the activity controller for the “Process RFQ” step.
  • the table below shows the state machine behavior: From To Event Guard Commands Available Claimed Claim WFActivityClaim Claimed Complete Create/Modify Create/UpdateQuote Quote WFActivityComplete Claimed Complete Reject WFActivityComplete
  • FIG. 22 shows the “Approve Quote” activity controller.
  • the table below shows the state machine behavior: From To Event Guard Commands Available Claimed Claim WFActivityClaim Claimed Complete Approve WFActivityComplete Claimed Complete Reject RemoveQuote WFActivityComplete
  • FIG. 23 shows the solution artifacts for the RFQ solution. All of the controllers, macro flows, and the commands are either scripted or composed graphically.
  • RFQ ADOC Entity EJB and the RFQ BO EJB are the only components that need to be developed, and this is done using Visual Age for Java. All components shown shaded are part of the Process Broker Services.
  • An MQAO source adapter can serve as a receiver for message-based integration with back-end applications.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Process Brokering Services (PBS) are implemented though the concept of Adaptive Documents to facilitate electronic commerce (e-commerce). PBS provides a single point of process control over the various fragmented execution flows and brings together the elements for process integration (views, content, flows) in a unified, scalable architecture on an industry standard platform. The two principal functions of the PBS are brokering of multiple business processes encapsulated in various back-end systems including workflow engines and business applications, and aggregating content from multiple enterprise information systems in the business context and managing the shared access to this based on the roles of the participants. The dynamic services provided by PBS are accessible to clients through the PBS Interface.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention generally relates to business process management and integration and, more particularly, to a Process Brokering Services (PBS) through the concept of Adaptive Documents to facilitate collaborative business process management and integration. [0002]
  • 2. Background Description [0003]
  • Across every industry, large organizations are struggling with the complexity of integrating both internal and external systems. Potential benefits to companies that can successfully address these challenges include: [0004]
  • Gaining better control of their value chain and leveraging this improved control for competitive advantage. [0005]
  • Reducing inventory costs by improving their process integration with suppliers. [0006]
  • Providing a consistent customer experience across a range of channels and thereby improving customer loyalty. [0007]
  • Realizing the benefits of a recent merger through effective communications across diverse systems. [0008]
  • Traditional business process integration is usually performed by defining isolated work flows executed by a workflow engine. This approach is inadequate in the new Web-based business models where several enterprises collaborate to achieve business objectives. The emphasis in this new business model is on solution assembly in which new solutions are built by leveraging the existing applications. These new solutions need design patterns that can bring together information integration and process integration. These solutions need to manage and choreograph fragmented processes and information distributed among several enterprises and applications. The invention described here addresses these issues. [0009]
  • SUMMARY OF THE INVENTION
  • According to the invention, there is provided Process Broker Services (PBS) which provides a single point of process control over the various fragmented execution flows and brings together the elements for process integration (views, content, flows) in a unified, scalable architecture on an industry standard platform. The two principal functions of the PBS are brokering of multiple business processes encapsulated in various back-end systems including workflow engines and business applications, and aggregating content from multiple enterprise information systems in the business context and managing the shared access to this based on the roles of the participants. [0010]
  • The PBS enables e-business solution assembly. The solution assembly typically involves the following steps: [0011]
  • Supplying the business process definitions, [0012]
  • Composing the relevant Adaptive Documents (ADOCs) for business collaboration which involves specifying the valid application states for the aggregated content and the business rules for orchestrating the state transitions, [0013]
  • Formulating the necessary business objects that are referenced from the ADOCs, [0014]
  • Generating the relevant application adapters to communicate with back-end systems using messages to represent business data, [0015]
  • Defining the relevant set of messages, and [0016]
  • Assembling the integrated user experience through sequencing of ACOC views that render role-based content driven by application/process/user events and the ensuing invocation of dynamic ADOC business services—the ADOC choreographs the collaboration of various back-end systems in the context of the business process to supply the content. [0017]
  • Solution design begins with laying out the information model, the organization model, and the business process model. Using the information model and the business process model, we identify the ADOCs in the system. Using the business events and their prerequisites, we design the ADOC state machines. Using the processing rules associated with these business events, we identify the commands that need to be executed as part of state transitions. When processing rules dictate collaboration with user or software agents in the system, we use macro flows to define them. Macro flows are directed graphs that establish the relationships between activities that correspond to the nodes in these graphs. We use activity controllers to define the micro flow used to complete these activities. Activity controllers are designed and defined the same way as ADOC controllers are handled. We use a state machine to model their behavior and use commands to effect the behavior. [0018]
  • The dynamic services provided by PBS are accessible to clients through a single PBS interface. These business services can be categorized as Process Brokering, ADOC Query, ADOC Lifecycle Management, and Scheduling Service. The Process Brokering Service allows PBS clients to invoke dynamic business services that are made available based on the business state of the ADOC and the execution state of the associated work flows—the services are dynamic because they are state dependent, i.e., the available set of services vary with any change in the business state of the ADOC instances. The client can trigger any service by raising an event against a specific ADOC instance. The actual invocation of the service is made by a service request on the PBS with the ADOC identification (ID), the business event name, and other parameters. The ADOC Query Service allows PBS clients to query the business state of the ADOC, ascertain the available business services for a given business state, access the business content aggregated by the ADOC, and query for navigational purposes such as list of ADOCs that satisfy a given criteria. The ADOC Lifecycle Management Service allows PBS clients to create, delete, archive, and restore ADOCs. The Scheduling Service allows PBS clients to automate the service invocation by scheduling it using the PBS Scheduler. At the scheduled time, the PBS Scheduler notifies the registered Action Listener that in turn makes the service invocation on the PBS. The PBS provides a number of standard Action Listeners and a provision for user-defined Action Listeners. [0019]
  • The PBS interface redirects a business event from a client to the appropriate ADOC. The ADOC controller acts on the business event based on its state and the event content. As part of this action, based on business rules attached to the ADOC, multiple commands get executed. If the execution is successful, the state of the ADOC changes. (It could be that the state transition is a self loop, meaning the start and end states of a transition are one and the same. In other words, state does not have to change in response to a business event.) [0020]
  • The commands are abstractions of the work the ADOC wants to do in response to a business event. A receiver is specified for each command. The receiver does the actual work. A receiver is actually specified as a method to be executed on a target object. The commands and receivers are designed based on well-known “command design pattern”. [0021]
  • A special case of a receiver is the workflow engine. More correctly, there is a set of workflow-related receivers, such as “launch a workflow”, “claim a workflow activity”, “complete a workflow activity”, etc. This is treated special since all the active activities belonging to a workflow launched by an ADOC are dynamically bound to that ADOC. This means that access to these activities are controlled by the ADOC. Events to these activities are accepted by the process broker services interface and sent to the appropriate ADOC. The activity controllers that are dynamically bound to the ADOC act on these events much like the ADOC controller does. [0022]
  • All the definitions, including the processes, the state machine, business rules for state transitions, the commands, and the receivers are specified using XML (eXtensible Markup Language). The system reads in the XML files and does the appropriate internal configurations. This leads to a dynamic, adaptive and flexible system.[0023]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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: [0024]
  • FIG. 1 is a block diagram showing the Business Flow Manager (BFM) components [0025]
  • FIG. 2 is a block diagram showing the architecture of an implementation of the Process Broker Services (PBS) according to the invention; [0026]
  • FIG. 3 is a block diagram showing a conceptual view of an Adaptive Document (ADOC) [0027]
  • FIG. 4 is a block diagram showing the structure of the Controller; [0028]
  • FIG. 5 is a flow diagram showing the logic of the Composite Design Pattern for Commands; [0029]
  • FIG. 6 is a block diagram showing the structure of a Command; [0030]
  • FIG. 7 is a block diagram showing the structure of a Receiver; [0031]
  • FIG. 7 is a flow diagram showing the Request-Response Collaboration for a Scheduled Event; [0032]
  • FIG. 9 is a time line diagram showing PBS and Workflow Interaction; [0033]
  • FIG. 10 is a flow diagram showing PBS messaging for an incoming message; [0034]
  • FIG. 11 is a flow diagram showing Business Events in an RFQ Process; [0035]
  • FIG. 12 is a time line and flow diagram showing the RFQ Process; [0036]
  • FIG. 13 is a block diagram showing an RFQ ADOC Entry; [0037]
  • FIG. 14 is a state diagram showing the RFQ ADOC Controller State Machine; [0038]
  • FIG. 15 is a time line and flow diagram of the Macro Flow for RFQ Processing; [0039]
  • FIG. 16 is a state diagram showing the State Machine for the Process RFQ Approval Request Activity; [0040]
  • FIG. 17 is a state diagram showing the Collab Step Activity Controller State Machine; [0041]
  • FIG. 18 is a state diagram showing the State Machine for the “Evaluate Response” Activity Controller; [0042]
  • FIG. 19 is a time line and flow diagram of the Micro Flow for quote creation; [0043]
  • FIG. 20 is a block diagram illustrating multiple clients working with an ADOC with multiple activity controllers; [0044]
  • FIG. 21 is a state diagram showing the State Machine for the Activity Controller for the “Process RFQ” step; [0045]
  • FIG. 22 is a state diagram showing State Machine for the “Approve Quote” step; and [0046]
  • FIG. 23 is a block diagram illustrating solution artifacts for the RFQ Solution.[0047]
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION
  • The Process Broker Services (PBS) is a component of the Business Flow Management (BFM) in WebShpere Business Integrator (WSBI or WBI). (WebSphere is a trademark of International Business Machines Corporation.) The high-level component architecture of the Business Flow Manager is shown in FIG. 1. The components include: [0048]
  • WebSphere Workflow Services (WWFS) [0049] 11—Joint Flow based Application Program Interface (API) to access WFMC compliant workflow engines such as the MQ Workflow. (Joint Flow is an Object Management Group standard for accessing workflow facilities, and MQ Workflow is part of a messaging product from IBM.)
  • [0050] WebSphere Messaging Services 12—Java Messenger Service (JMS) Message Listener for asynchronous communication using message queuing that is used for target adapters in the BFM.
  • [0051] Solution Management Services 13—Audit, Exception Handling, and Monitoring of business processes.
  • [0052] Process Broker Services 14—Process Brokering and Content Aggregation Services using ADOC and Controllers for State Management
  • [0053] Flow Composition Builder 15—Build time suite of tools for business process management.
  • The Business Flow Manager (BFM) has four run-time components and one build-time tool. The [0054] WWFS 11, the WS Messaging Services 12, and the Solution Management Services 13 are collectively referred to in the ensuing description as the BFM Base. The Process Broker Services (PBS) 14 is therefore a BFM component that is realized on top of the BFM Base, i.e., it uses the services provided by the BFM Base components.
  • The [0055] WWFS 11 base component is primarily used as an interface to the workflow engine such as MQ Workflow. It logs a user to the workflow engine and provides the necessary interfaces for PBS to launch a process, claim an activity, update the activity status upon completion, and query the process and activity details. Logging a user requires that this component interact with the Trust & Access Manager (TAM) to obtain the Global Sign On credentials for the user.
  • The WebSphere (WS) [0056] Messaging Services 12 base component enables applications and other BFM clients to communicate to BFM via messaging (i.e., MQ). The JMS Listener, upon receipt of a message, spawns the message-driven bean in WebSphere that in turn invokes the PBS where the business data in the message is used for process brokering.
  • The [0057] Solution Management Services 13 uses the Solution Manager (WBI Component) client for audit and exception logging. The logs are marked with a unique transaction identifier such as the ADOC id that is then used for correlating the related logs. The Solution Manager console rendered by the Interaction Manager (WBI Component) is used to view the logs generated by the BFM.
  • The [0058] Flow Composition Builder 15 serves as the build time tool for the BFM. The Flow Composition Builder is used to build micro-flows, i.e., a sequencing of an ensemble of commands. A command can be as simple as a method call on a business object. These micro-flows are then invoked from within the PBS 14. The micro-flows can be viewed as a mechanism used by ADOCs in the PBS 14 to aggregate content from multiple enterprise-information-systems or data sources.
  • The PBS Architecture is shown in FIG. 2. [0059] Clients 201 and 202 to the PBS can use either Remote Method Invocation/Internet Inter Orb (Object Request Broker) Protocol (RMI/IIOP) or JMS/MQ protocols to communicate with the PBS. For example, the Interaction Manager is a PBS client that uses RMI/IIOP to communicate with the PBS to render the dynamic executable content from ADOCs to users who are interacting via Web browsers. On the other hand an end-point application can use MQ to send messages such as the OAG-BOD to the PBS. (OAG-BOD2 is Open Application Group's Business Object Documents—an XML application-to-application messaging standard.) PBS also uses both RMJ/IIOP and MQ to communicate to the various enterprise information systems (“back-ends”) 203. For example, the PBS uses RMI to communicate to the Business Objects (BO) such as a Purchase Order (PO) or a Ship Schedule. The PBS can also use the WS Messaging Services 12 and communicate to the end-points via MQ using OAG-BOD messages. Such messages can be communicated either point-to-point using MQ to endpoints or via the Information Delivery Manager (IDM), a WBI message broker that transforms and routes the messages as warranted. In both the cases, point-to-point and using the IDM, BFM Source Adapters will have to be built using the Flow Composition Builder (also referred to as the MQ Adapter Builder). These source adapters semantically adapt the business data, aggregated by the PBS from various data sources, to business messages that are then communicated to the end-points.
  • The PBS provides dynamic business services that are accessible to clients through a [0060] single PBS interface 204. These business services can be categorized as Process Brokering 205, ADOC Query 206, ADOC Lifecycle Management 207, and Scheduling Service 208 as shown in FIG. 2.
  • The [0061] Process Brokering Service 205 allows PBS clients to invoke dynamic business services that are made available based on the business state of the ADOC 209—the services are dynamic because they are state dependent, i.e., the available set of services vary with any change in the business state of the ADOC instances. The client can trigger any service by raising an event against a specific ADOC instance. The actual invocation of the service is made by a service request on the PBS with the ADOC ID, the business event name, and other parameters.
  • [0062] ADOC Query Service 206 allows PBS clients to query the business state of the ADOC 209, ascertain the available business services for a given business state, access the business content aggregated by the ADOC, and query for navigational purposes such as list of ADOCs that satisfy a given criteria.
  • ADOC [0063] Lifecycle Management Service 207 allows PBS clients to create, delete, archive, and restore ADOCs.
  • [0064] Scheduling Service 208 allows PBS clients to automate the service invocation by scheduling it using the PBS Scheduler. At the scheduled time, the PBS Scheduler notifies the registered Action listener that in turn makes the service invocation on the PBS. The PBS provides a number of standard Action Listeners 210 and a provision for user-defined Action Listeners.
  • The Adaptive Document (ADOC) [0065] 209 is a component that links the “content” aggregated from various data sources to business processes and people. The ADOC 209 enables collaborative business process management through the orchestration of a variety of applications and user interactions in the context of a business process. FIG. 3 provides a conceptual view of an ADOC.
  • ADOCs are implemented as Container-Managed Enterprise Java Beans (EJBs). The framework part of the ADOC persists information like the current state, owner and the type of the ADOC, whereas the Solution (viz. RFQ ADOC; PO ADOC, etc.) part inherits from the framework part and persists business object references to data objects. [0066]
  • Consider for example a collaborative forecasting and planning process. The collaborative business process management experience generated by the ADOC is characterized by four concomitant factors: [0067]
  • The ability to share information (e.g., historical sales that is garnered from an Enterprise Resource Planning (ERP) system), [0068]
  • The ability to share appropriate decision support tools (e.g., planning engines such as forecasting application whose services are brokered) to act on the information that is shared, [0069]
  • The Business Events that define the context in which the information and the tools are shared (e.g., large customer order event that triggers the collaborative planning process), and [0070]
  • Enabling collaboration among appropriate role players (e.g., demand planner, supply planner, parts supplier) in the business context using the information and the tools that are aggregated and shared by the ADOC. [0071]
  • The [0072] ADOC 209 facilitates the collaborative experience outlined above by dynamically exposing a set of business services 31 based on who you are 32 (i.e., role) and where you are in the process 33 (i.e., process context). Invoking a business service exposed by an ADOC is essentially executing a “business transaction.” The ensemble of business transactions in turn constitutes the business conversation. An ADOC can support multiple business conversations that are part of any collaborative business process management.
  • A business transaction can have multiple levels (e.g., a long running collaborative forecasting process, collaborative planning activity of building a forecast, atomic transaction of getting the sales history of a specific item) and span multiple parties (e.g., two decision makers or applications from different organization units within an enterprise or two decision makers or applications from different enterprises). The ADOC is capable of executing such “multilevel, multi-party business transactions.” It is this capability that enables an ADOC to do business process brokering and deliver the right information and right tools, to the right group of people in the context of executing a collaborative business process. [0073]
  • The ADOC can also be understood from the interaction experience of a user in the collaborative solution. Users in this case interact through views of an ADOC. Any particular view has three components—[0074] Action 34, Navigation 35, and Content 36 (see FIG. 3).
  • The [0075] Action 34 corresponds to the dynamic business services that are exposed by an ADOC (hinges on the role of the user and the context of the business process) and invoked via the PBS interface.
  • The [0076] Naigation 35 can be either process centric (e.g., show me the set of actions given the current process state) or document centtic (e.g., show me the list of ADOCs that require some action). The ADOC supports both navigation models that are once again accessed via the PBS interface.
  • The [0077] Content 36 in the view is marshaled by the execution of the business services in an ADOC, i.e., the business transactions that are brokered by the ADOC Controllers to aggregate the content from a multitude of back-end sources such as applications, business objects, and databases.
  • The [0078] Action 34, Navigation 35 and Content 36 constitute a role-based Web User Interface (UI) through which a client can access the ADOC 209 through the Internet 37.
  • Referring back to FIG. 2, the [0079] ADOC 209 uses the ADOC Controller 211 to implement the brokering functions. A controller is essentially a services broker and is implemented as a state machine, as generally represented by enlarged circle to the right of the controller. When a service request comes to the ADOC 209, it uses the Application State to determine if the request can be entertained, and if so, it uses the controller to broker the services needed to satisfy the request. The design points for the Service Broker or Controller, which is a state machine, are:
  • 1. The state transitions are transactional. All the commands that are triggered by a service request need to be executed as a Logical Unit of Work. If there is a failure, the state change should not occur and if necessary, recovery procedures should be executed (e.g. compensation script). [0080]
  • 2. It should be possible to execute an ensemble of commands as part of a state transition. Such an ensemble can be either a simple sequence or wired together as a “micro flow.”[0081]
  • 3. The controller defines the dynamic behavior of the ADOC. It is possible to modify the definition of the controller, publish it, and hence dynamically change the behavior without disrupting or shutting down the PBS. [0082]
  • 4. The Process Broker should facilitate dynamic e-business systems, in which the service providers for the individual commands in the controller can be dynamically mapped. This implies the separation between commands and receivers that implement the commands. [0083]
  • 5. The Controller can be self-bootstrapping, i.e., it can schedule triggers that generate service requests on the controller. This is essential to capture timeouts and other temporal constraints that define the dynamic behavior of the service broker. [0084]
  • ADOC-[0085] Activity Maps 212 keep track of zero or more workflow activities that the ADOC 209 maybe participating in. The workflow activity implementation in PBS is also modeled in a state machines which is instantiated when the Activity becomes available. The ADOC-Activity maps keep the information of the participating ADOC and the state of the Activity. Using these maps the PBS is able to mediate business events between ADOCs controllers and one or more associated Activity controllers. When the activity is completed the link is deleted and a fresh link is established for the next activity till the process completes. This enables the ADOC to participate in more than one workflow process at a time.
  • An ADOC instance has an [0086] ADOC Controller 211 and zero or more Activity Controllers 213 based on the association of the ADOC with activities in business processes that are defined in the workflow engine and accessed using the WebSphere Workflow Services 11. Both the ADOC Controller 211 and the Activity Controller 213 have the identical structure as shown in FIG. 4.
  • The controllers are defined in XML (extensible Markup Language) and the PBS reads these definitions at runtime. Changes can be made to the XML definitions at any time, and the PBS will refresh the in-memory definition of the controllers based on the new definitions. [0087]
  • As mentioned previously, the controller is a named state machine. The state machine consists of [0088]
  • The list of [0089] states 41 that are named and also identified based on their type (e.g., normal, terminal, etc).
  • The [0090] permissible transitions 42 between these states where each transition is specified from a given state to a target state. There can be many transitions from any given state.
  • The state transitions are triggered for defined events when a given condition expression on the transition is satisfied. [0091]
  • When a state transition occurs, one or [0092] more actions 43 or commands are executed. These actions or commands can be sequenced in any fashion and such a sequence of actions is referred to also as a micro-flow.
  • The business state of an ADOC is a state vector and includes the current state of the ADOC Controller as well as the current states of the Activity Controllers associated with the ADOC. [0093]
  • Commands can be viewed as an interface to the business logic, i.e., interface definitions to the various enterprise information systems that are engaged in business process management. Using the composite design pattern, shown in FIG. 5 it is possible to compose commands to form composite-commands or micro-flows. The Flow Composition Builder can be used to sequence commands and construct such micro-flows. [0094]
  • The commands are specified in the controller using XML. The XML command data structure is shown in FIG. 6. Each [0095] command 61 in the command list 62 has an input data structure 63 and an output data structure 64 where the individual attributes can be specified as a name-value pair. The command is identified by its method name 65. The commands executed within a state transition are in a single unit of work. In the event of a transaction failure the actions executed by the command(s) are undone using the undo command. Some of the end points that are engaged may not be transactional systems and recovery entails using compensation logic. Such logic can be encapsulated in the undo commands. The receiver 66 associated with a command is identified by the receiver identification (ID).
  • The receiver is an interface to the service providers, i.e., implementations of the business logic expressed in the commands. Receivers enable the dynamic mapping of the service providers to the commands. There can be many types of receivers such as a JMS receiver for asynchronous connectivity to various back-end applications and systems or a RMJ receiver for synchronous connectivity to other business objects and applications. [0096]
  • The Flow Composition Builder [0097] 15 (FIG. 1), used to build the micro-flow, can be used to build specialized receivers that implement the micro-flow. These receivers are realized either as Java objects or Session Beans.
  • The receivers in the PBS are specified using XML. The structure of the receiver is shown in FIG. 7. [0098]
  • Identifying the protocol type and the relevant parameters for establishing the connectivity and invoking the method name specifies the [0099] receiver 71 in the receiver list 72. The RMI protocol is used to identify the Java class that is instantiated in a different Java Virtual Machine (JVM) than the PBS. The native protocol is used when the Java class that is engaged is in the same JVM as the PBS. Receivers can be added with other protocols such as JMS and IIOP.
  • Referring back to FIG. 2, the Process [0100] Broker Services Scheduler 214 enables time phased automatic invocation of service requests. This provides the ability for an ADOC 209 and its associated controllers to be self-bootstrapping, i.e., the ability to trigger events automatically to drive the state transitions. Such a capability is very useful in modeling timeout events for example—in this case the timeout event is scheduled by a command in a controller and the event is triggered on schedule on the controller.
  • The PBS Scheduler collaborations are shown in FIG. 8. Clients, typically ADOC and associated controllers, schedule an event by making a request on the scheduler (action [0101] 1). The scheduler is globally visible to the client as a well-known entity (see visibility adornment on the transition in FIG. 8). This request is asynchronous in that the event is scheduled and the client is not blocked.
  • The scheduler commits the scheduled event (action [0102] 2), where the scheduled entries are persistent. The dispatcher, running as a separate thread of execution or daemon, periodically checks for entries to act upon (actions 3, 4). The “heart beat” of the dispatcher can be customized. The dispatcher launches the ActionListener registered for a particular scheduled event (action 5).
  • The PBS comes with a number of standard ActionListeners ([0103] 210 in FIG. 2). There is also provision in the PBS Scheduler to have user-defined ActionListener. An ActionListener is an agent or a handler that upon notification performs service related tasks. The ActionListener makes the appropriate service request (action 6) to complete the asynchronous request-response cycle for a scheduled event.
  • The ADOC Archive provides a transitive closure mechanism for ADOCs. When an archive request is made, the ADOC, associated controllers, and object references are all serialized and persisted. The ADOC can then be revived through a restore request. The archive and restore requests can be made as commands from the controllers. [0104]
  • This feature is very useful as an ADOC represents a business transaction. Business processes may require archiving business transactions upon completion for non-repudiation purposes. This is also useful in the case of modeling process brokering for long-running transactions where the time scales can be weeks or months. [0105]
  • The BFM Base, shown in FIG. 2, includes the WebSphere Workflow Service (WWFS) [0106] 11, the WebSphere Messaging Service 12, and the Solution Management Service 13. The PBS uses all three services provided by the BFM Base.
  • The [0107] WWFS 11 provides JointFlow API (Application Program Interface) to access the workflow engine such as MQ Workflow. PBS invokes workflow commands, i.e., method invocations on WWFS, to launch a business process, claim an activity in a process, indicate completion of an activity, and enquire the status of either a process or an activity. The PBS associates ADOC instances with activities. This association is captured in the Activity-ADOC map (AA Map) 212. An ADOC instance can participate in multiple activities either within the same process instance or multiple process instances.
  • A new activity becomes available, as specified in the process definition, when the business process is updated in the workflow engine to indicate the completion of a prior activity. The availability of a new activity results in the update of the AA Map. The PBS then launches an Activity Controller for the ADOC instance associated with the activity. The Activity Controller brokers the collaborations (“business conversation”) necessary to execute the activity. The Activity Controller issues workflow commands on [0108] WWFS 11 as part of the controller definition to claim the activity and to also indicate completion of the activity. A number of application-specific states are typically involved between the claim and complete events. The Activity Controller can engage humans as well as applications in the execution of the activity.
  • The interaction between the PBS and the Workflow Engine is shown in FIG. 9. The interaction sequences are as follows: [0109]
  • 1. The PBS makes a workflow command. The controllers make this command typically. [0110]
  • 2. The WWFS checks to see if the user has already logged on to the workflow engine. This is necessary especially for launching processes, claiming, and completing an activity since only users with certain privileges are authorized to perform such tasks. [0111]
  • 3. If the user is not logged on to the workflow engine, the WWFS makes a request to the Trust & Access Manager (TAM), a WBI component, to obtain the Global Sign On credentials. A GSO is a mechanism to do credential mapping for a user with multiple identities associated with various back-end systems. [0112]
  • 4. The TAM makes an authorization check to see if the user does have access to the requested system. [0113]
  • 5. The TAM returns the authorization credentials to WWFS. [0114]
  • 6. The WWFS uses the GSO credentials to logon to the workflow engine. [0115]
  • 7. The workflow engine upon successful logon returns the logon connection handle. [0116]
  • 8. The WWFS caches this logon handle for purposes of optimizing the connection to the workflow engine. [0117]
  • 9. The WWFS then forwards the workflow command requested in [0118] action 1.
  • 10. The workflow engine processes the request. [0119]
  • 11. The workflow engine response is received by WWFS. [0120]
  • 12. The WWFS forwards the workflow response back to the PBS [0121]
  • 13. The PBS updates the AA Map if necessary—especially when the state of an activity changes. [0122]
  • The PBS utilizes the [0123] WebSphere Messaging Services 12, a BFM Base component (see FIG. 2), to receive and send messages. The messages are typically in XML format such as the OAG-BOD messages. The recommended transmission protocol is the JMS (Java Messaging Services); the MQPP (MQ Point-to-Point) protocol can also be used.
  • The collaborations associated with an incoming messaging are shown in FIG. 10. [0124]
  • 1. Any end point, such as an ERP system or a scheduling application, sends a message. These messages are sent using MQ and hence guaranteed delivery. Typically, an MQ Adapter at the end-point semantically adapts the message from the application output to the canonical form such as OAG-BOD. The message is also enveloped with JMS and WBI headers. [0125]
  • 2. The Information Delivery Manager, the message broker, receives the message, transforms it as necessary and routes the message. The source and the sink for the messages are essentially decoupled by SDM. This mechanism provides loose coupling and extensibility of the application integration. [0126]
  • 3. Since the message is intended for the PBS it is routed to the JMS Destination. The JMS Destination can be either a specific queue (as in point-to-point messaging) or a topic (as in publish-subscribe messaging). [0127]
  • 4. The MQ Adapter Kernel (MQAK) bean, that implements the JMS listener's onMessage method receives the message. [0128]
  • 5. The MQAK bean processes the message, i.e., de-envelopes the JMS message header and formats it as necessary. [0129]
  • 6. The MQAK bean then launches the BFM Message Receiver. The BFM Message Receiver is akin to a thin MQ Application Adapter that is designed to handle all incoming messages (of any type) to the PBS. [0130]
  • 7. The BFM Message Receiver makes an incoming message call to the PBS Interface. This call also passes the message to the PBS Interface. [0131]
  • 8. The PBS Interface does the necessary correlation. If an ADOC instance is referred to in the message header then that is used for correlation, otherwise a new ADOC instance is created and the message associated with the ADOC instance. [0132]
  • 9. The PBS Interface makes a service request on the correlated ADOC. [0133]
  • The PBS brokers the service-request appropriately to either the ADOC controller or one of many activity controllers. [0134]
  • 10. The service request in turn triggers the appropriate controller state transition, resulting in the execution of a unit of work consisting of one or more commands or microflows within the controller. [0135]
  • The above collaboration illustrates how business data is communicated using messaging from any end point to the PBS. The PBS can also send business data as messages to any end point. This is accomplished using BFM microflows that format and compose the message and send the message using the MQAK. The BFM microflows that send messages are also built using the MQ Adapter Builder tool. [0136]
  • The BFM Solution Manager client [0137] 214 (see FIG. 2) in the PBS uses the Solution Management Services 13, a BFM Base component, to generate audit and exception logs that are persisted in the Solution Manager (WBI component). The audit and exception log messages are XML messages that are sent to the Solution Manager using MQ. The BFM SM Client can be invoked as a command within the ADOC and Activity Controllers in the PBS to initiate audit and exception logging. The PBS automatically logs the ADOC Transaction History.
  • The ADOC is a business entity that enables the execution of process driven business transactions (e.g., e-Payment ADOC). An e-Payment ADOC for example transcends the various steps in an e-Payment business process. Such an e-payment business process in turn engages multiple applications. From a solution management perspective it is important to be able to view the overall transaction history of the ADOC. [0138]
  • The ADOC controller manages [0139] 211 (FIG. 2) the state transitions. The controller upon receiving a valid event in a given state triggers a permissible state transition. The transition in turn launches one or more actions. These actions are sub-transactions against various back-ends. The ADOC Transaction History consists of a record of the states that the ADOC has traversed and the Time In and Time Out for each individual state in the traversed state list. The transaction history for an ADOC is uniquely associated with the ADOC ID that represents the transaction identifier. (Such a view of the transaction history is equivalent to tracking a package using the UPS tracking number it shows the various package states and marks the progress using time stamps.)
  • The Log message fields and mapping to the ADOC status, provided automatically by the BFM SM client, is shown below: [0140]
    Solution Manager
    Message Field Values Log Field Description
    SourceID BFM App MSG_SRC_ID This is the WBI
    ID application name.
    (e.g. BFM,
    BFM1, etc.)
    Body Category ADOC MSG_BDYCAT This is the
    category of the
    log event
    Body Type “Entry, Exit” MSG_BDYTYPE This represents
    the type of event
    being logged for
    this category
    Transaction ID ADOC ID MSG_XACTION_ID This is the key for
    the entry.
    Body Data See next SRC_MSG This is the
    table remaining
    information for
    this category of
    event and it will
    have a DTD
    unique to this
    category. The
    body data is
    stored in this
    column as a blob.
  • The message fields and values for the body data are shown below: [0141]
    Body Field Values Description
    ACTIVITYID The Activity ID Activity ID, if applicable
    ADOCTYPE The ADOC Type The type of ADOC being logged
    such as “e-payment”
    USERID User ID User ID, if available
    EVENTNAME “Trigger Event Name of the event that caused
    Name” the transition.
    DATETIME Log Event Time The log event time (Java Date)
    FROMSTATE ADOC State Name The name of the prior state.
    TOSTATE ADOC State Names The name of the next state.
  • The following describes a sample application to demonstrate the use of Process Broker Services (PBS) layer in WebSphere Business Integrator. We begin with the description of the application, introduce a methodology to design the PBS artifacts needed to implement the solution, and derive the artifacts using this methodology. [0142]
  • We describe a Private Trading Exchange (PTX) that enables collaboration between the Trading Partners of a company and its employees in the context of order logistics management. The scenario follows the life cycle of an RFQ (Request for Quote), starting from creation, till the completion of the vendor selection. We present the application in three parts: [0143]
  • 1. Information model. [0144]
  • This describes the underlying data structures the system will create, read, update, or delete and their relationships. [0145]
  • 2. Organization model. [0146]
  • This organizes the users of the system by the business roles they play. [0147]
  • 3. Business process model. [0148]
  • This describes the business events that are received by the system as well as those that are generated by the system. For incoming events, the model will describe the business rules that should be applied for processing the events. For outgoing events, the model will describe the business rules that govern the generation of these events. We differentiate business events from “workflow events”. All workflow events will be described as part of the business rules that generate or consume business events. [0149]
  • There are two primary data structures: The RFQ and the Quote. A realistic RFQ application would need many more supporting data structures, but we will not discuss these here since it is irrelevant from the process brokering point of view. [0150]
  • The organization model consists of the PTX organization and various seller organizations. The roles in the PTX organization include Buyer and Buyer-Approver. The roles in a typical seller organization include Seller and Seller-Approver. [0151]
  • FIG. 11 shows the business events in the RFQ application. We do not discuss workflow events here, since those are part of the processing rules associated with the business events. An example of a workflow event is a Buyer-Approver acting on a submitted RFQ to approve or reject it. This event is captured as part of the business rules specified to process a submitted RFQ. [0152]
  • 1. Business Event: Create RFQ [0153]
  • Source: Buyer [0154]
  • Preconditions: None [0155]
  • Processing Rules: Persist RFQ data in [0156] 1DB
  • 2. Business Event: Modify RFQ [0157]
  • Source: Buyer [0158]
  • Preconditions: RFQ created but not submitted or cancelled. [0159]
  • Processing Rules: Modify RFQ data in DB [0160]
  • 3. Business Event: Submit RFQ [0161]
  • Source: Buyer [0162]
  • Preconditions: RFQ created, but not cancelled or submitted. [0163]
  • Processing Rules: Start the “RFQ Process”. The process is shown as a flow graph below: [0164]
  • 4. Business Event: Cancel RFQ [0165]
  • Source: Buyer. [0166]
  • Preconditions: RFQ created. [0167]
  • Processing Rules: If RFQ Process is active, terminate it. Notify sellers and approvers. [0168]
  • The key design artifact of a PBS-based solution is the ADOC. ADOCs provide the process brokering capability by intercepting business events and servicing them based on the application state. Thus, identifying the ADocs in the application is the key step in solution design. [0169]
  • In order to apply the ADOC concept effectively, we provide a guideline to identify and define the ADOCs in a solution. It is important to note that ADOC is a complex design pattern and it does not follow a definitive path or a written recipe for making all the design choices. The following guideline serves only as a suggestion for how ADOCs can be identified in general: [0170]
  • Define all the relevant business objects in the business problem. The information model from the analysis phase will help in identifying the business objects. [0171]
  • Then look for those key business objects that can serve as the “handlers” of the business events identified in the business process model. [0172]
  • Typically there is a one-to-one correspondence between these key business objects and the ADocs in the solution. [0173]
  • Using the RFQ process in the Private Exchange as an example, all business events specified in the business process model are in the context of the RFQ business object. Thus we need only one ADOC type in this application, an RFQ ADOC that handles these business events. [0174]
  • Once the ADOCs are identified, the next step is to define them for the solution. By defining an ADOC, we are defining the collaborative behavior that ADOC encapsulates. The behavior of the ADOC is defined using a state machine combined with command design pattern. The state machine is defined as a set of finite states and the transitions permissible at each state. For each state transition, there is an associated event that triggers it. The state transitions are triggered by a service request made by some client on the ADOC. As part of the service request, the client passes an event identifier, a set of input parameters, and a context to the ADOC. As part of a state transition, the ADOC executes a set of commands as a transaction, The commands are designed using the Command Design Pattern, which implies the actual work is delegated to a receiver. [0175]
  • To define the state machine and ADOC, we begin with the business process model to identify the “business events” that are handled by this ADOC. These business events map to the events that drive the ADOC state transitions. The business rules that govern the processing of these events are used to identify the state transitions, the commands that need to be executed for each transition and the receivers of these commands. [0176]
  • In addition to the state machine that defines the behavior, an ADOC will also hold minimal state information. This includes the current state of the ADOC and pointers to the business, objects referenced by it. An ADOC only needs to reference the “top-level” business objects. There is no need for the ADOC to reference business objects navigable from the top-level business objects. [0177]
  • The following presents the design of the RFQ ADOC for the sample application. The RFQ ADOC Entity is used to hold the minimal state information and RFQ ADOC Controller is used to define the behavior. [0178]
  • The design of the RFQ ADOC Entity is as shown below in FIG. 13. The RFQ ADOC Entity extends the generic ADOC class to hold application specific data references. [0179]
  • FIG. 14 shows the state machine of the RFQ ADOC Controller. Note that the states “Cancelled” and “Closed” have no transitions defined for them. We denote “Cancelled” state as a “terminal state”. RFQ ADOCs that are “Cancelled” will be periodically purged by the system management services of PBS. RFQ ADOCs that are “Closed” will be archived periodically by PBS as well. [0180]
  • The table below shows the “commands” that get executed as part of state transitions: [0181]
    From To Event Commands
    Open Submitted Submit StartRFQProcess
    Open Cancelled Cancel DeleteRFQData
    Open Open Modify ModifyRFQData
    Submitted Closed Close CreateNotificationInfo
    Notify
    CreatePO
    DeleteRFQData
    Submitted Cancelled Cancel TerminateAllProcesses
    CreateNotificationInfo
    Notify
    DeleteRFQData
  • The table below shows the details of the commands and the corresponding receivers. The system commands are shaded. [0182]
    Figure US20030187743A1-20031002-C00001
  • The processing rules specified for a business event may dictate that acertain business events necessitate collaboration among the “agents” in the solution. That are players or the agents working on behalf of human users. Typically , this collaboration entails a long running process that could span several days or even months. In a ATI solution, this collaboration is captured in a workflow graph. A workflow graph is a directed graph, where the nodes denote activities that are to be “completed” by designated agents and arcs denote the collaboration pattern. [0183]
  • Using the RFQ process in the Private Exchange as an example, the RFQ “submit” action by the Buyer necessitates collaboration between the Buyer-Approver, Buyer, and the Seller organizations. The workflow graph for this process is given in FIG. 15. [0184]
  • Micro workflow refers to the detailed activity flow within a macro activity. This is different from macro workflow in that it is composed of actions that are triggered by the agent who is doing the macro activity. These actions are typically transactional, synchronous, and short running. In a WBI solution, a micro workflow may be defined for any activity in the macro workflow graphs. [0185]
  • Micro workflow is implemented using exactly the same technology as the ADOCs. There is a Task Controller that implements the micro workflow associated with each activity. This Task Controller is designed using a state machine and the command design pattern just as an ADOC Controller is defined. [0186]
  • Typically, an ADOC controller initiates the macro workflow as a result of a state transition. When an activity becomes available in the macro flow, PBS launches a Task Controller to drive that task. When that activity is completed, the Task Controller ceases to exist and the process moves to the next step(s). When there are no more activities, the process completes. [0187]
  • Thus, the ADOC and Task controllers together drive the client interaction. It is quite conceivable that multiple activities are associated with an ADOC instance. In the RFQ example, while sellers are in the process of responding to an RFQ, there will be multiple activity controllers associated with the same RFQ ADOC, each activity controller corresponding to a seller process. This is discussed in more detail later in the solution design. The macro and micro workflow states together represent the process state. Ideally, the ADOC state is orthogonal to the process state. The power of the PBS programming model derives from this ability to model this orthogonal state space. [0188]
  • The activity controllers for the RFQ process are discussed below. FIG. 16 shows the “Process RFQ Approval Request” Activity Controller. The table below shows the state machine behavior: [0189]
    From To Event Guard Commands
    Available Claimed Claim WFActivityClaim
    Claimed Complete Approve WFActivityComplete
    CreateVendorList
    Claimed Complete Reject WFActivityComplete
    DeleteRFQData
    CreateNotificationInfo
    Notify
  • FIG. 17 shows the Activity Controller for the “Collab Step” activity in the macro flow for RFQ processing. This step involves multiple child processes being created, one for each vendor organization, to enable the selected vendors to respond to the RFQ using the Private Exchange portal. The table below shows the state machine behavior: [0190]
    From To Event Guard Commands
    Available Claimed Claim WFActivityClaim
    GenerateDynamicFanoutInfo
    SpawnChildProcessesAndTimers
    Claimed Claimed Quote Create Outstanding UpdateProcessStatusInfo
    Process Completion Process
    or Timeout
    Claimed Complete Quote Create No Outstanding DeleteProcessStatusInfo
    Process Completion Processes
    or Timeout
  • FIG. 18 shows the activity controller for the “Evaluate Responses” step. The table below shows the state machine behavior: [0191]
    From To Event Guard Commands
    Available Claimed Claim WFActivityClaim
    Claimed Claimed Evaluate EvaluateQuotes
    Claimed Complete RequestChange WFActivityComplete
    UpdateVendorList
    Claimed Complete Close WFActivityComplete
  • Note that the event “Close” is defined for the RFQ ADOC Controller as well as the “Evaluate Responses” Activity Controller. When a client invokes a service request with this event on an RFQ ADOC in the “submitted” state and in the context of a buyer evaluating the RFQ responses, this event will be sent to both controllers. The RFQ ADOC Controller will invoke commands that notify the sellers of the decision, send a “CreatePO” message to the PBS, and delete the RFQ data from the database. The Activity Controller will then complete the activity. Note that for PBS to be able to handle the “CreatePO” message, we need to populate the PBS with the PO (Purchase Order) process, much like the RFQ process described here. [0192]
  • The table below shows the details of the commands, including the receivers. The system commands are shaded. [0193]
    Figure US20030187743A1-20031002-C00002
  • The following describes the macro and micro flows in quote creation process. FIG. 19 shows the macro flow for the quote creation process. Several instances of this macro flow are created, one for each vendor. It is assumed that all vendors use the Private Exchange portal to create responses. This could create a situation where multiple Activity Controllers are associated with an ADOC instance. Since a workflow activity can only be acted upon by a predefined set of users, the client can get a handle of the appropriate activity controller by specifying the user id and role information. Multiple clients could thus work with this ADOC with each client request being handled by the appropriate activity controller. FIG. 20 shows a scenario in which two seller organizations are working with an RFQ ADOC, the first one in the “Process RFQ” activity while the second one is one step ahead, in the “Approve Quote” activity. [0194]
  • Below we describe the activity controllers for the two nodes in the macro flow. FIG. 21 shows the activity controller for the “Process RFQ” step. The table below shows the state machine behavior: [0195]
    From To Event Guard Commands
    Available Claimed Claim WFActivityClaim
    Claimed Complete Create/Modify Create/UpdateQuote
    Quote WFActivityComplete
    Claimed Complete Reject WFActivityComplete
  • FIG. 22 shows the “Approve Quote” activity controller. The table below shows the state machine behavior: [0196]
    From To Event Guard Commands
    Available Claimed Claim WFActivityClaim
    Claimed Complete Approve WFActivityComplete
    Claimed Complete Reject RemoveQuote
    WFActivityComplete
  • The table below shows the details of the commands and receivers. The system commands are shaded. [0197]
    Figure US20030187743A1-20031002-C00003
  • FIG. 23 shows the solution artifacts for the RFQ solution. All of the controllers, macro flows, and the commands are either scripted or composed graphically. RFQ ADOC Entity EJB and the RFQ BO EJB are the only components that need to be developed, and this is done using Visual Age for Java. All components shown shaded are part of the Process Broker Services. [0198]
  • We have not included legacy application integration via MQ adapters in this example. An MQAO source adapter can serve as a receiver for message-based integration with back-end applications. [0199]
  • There are two ways to send business events to the PBS, (1) by synchronous method invocation over IIOP or via (2) asynchronous messaging through the JMS Listener. The solution design remains the same irrespective of the protocol used. [0200]
  • 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. [0201]

Claims (16)

Having thus described our invention, what we claim as new and desire to secure by letters patent is as follows:
1. A method for e-business solution assembly for process brokering and content aggregation in collaborative e-commerce comprising the steps of:
supplying business process definitions;
composing Adaptive Documents (ADOCs) for business collaboration by specifying valid application states for aggregated content and business, an ADOC linking content aggregated from various data sources to business processes and people and enabling collaborative business process management through orchestration of a variety of applications and user interactions in a context of a business process; and
assembling an integrated user experience through sequencing of ADOC views.
2. The method of claim 1, further comprising the step of formulating business objects that are referenced from the ADOCs.
3. The method of claim 1, further comprising the steps of:
defining a set of messages; and
generating application adapters to communicate with back-end systems using the set of messages to represent business data.
4. The method of claim 1, wherein the step of composing ADOCs comprises the steps of:
specifying valid application states for aggregated content; and
specifying business rules for orchestrating state transitions.
5. The method of claim 1, wherein interactions with said ADOCs is through programmatic means.
6. The method of claim 1, wherein interactions with said ADOCs is through view-based human interactions.
7. A system for process brokering and content aggregation in collaborative e-commerce comprising:
a single process brokering interface providing an interface for clients;
a plurality of Adaptive Documents (ADOCs) linking content aggregated from various data sources to business processes and people, the process brokering interface redirecting a business event from a client to an appropriate ADOC;
an ADOC controller for each such ADOC acting on an event from a client based on its state and content of the business event and business rules attached to the ADOC by executing commands corresponding to work specified in the ADOC in response to the business event and, if the execution of a command is successful, changing a state of the ADOC; and
a plurality of workflow and business service related receivers responsive to commands from the ADOC controller for executing a method on a target object, a receiver being specified for each command, the receivers providing an interface to service providers and mapping the service providers to commands from the ADOC controller.
8. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 7, further comprising at least one activity controller dynamically bound to an ADOC and based on an association of the ADOC with activities in business processes defined in a workflow engine serving as a receiver.
9. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 8, wherein the ADOC controller and the activity controller are state machines.
10. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 7, further comprising a process scheduler enabling time phased automatic invocation of service requests.
11. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 7, wherein the process brokering interface comprises a process brokering service which allows clients to invoke dynamic business services that are made available on a business state of the ADOC.
12. The system for process brokering and content aggregation in collaborative c-commerce recited in claim 7, wherein the process brokering interface comprises an ADOC query service which allows clients to query a business state of the ADOC, ascertain available business services for a given business state, access a business content aggregated by the ADOC, and query for navigational purposes.
13. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 7, wherein the process brokering interface comprises an ADOC lifecycle management service which allows clients to create, delete, archives and restore ADOCs.
14. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 7, wherein the process brokering interface comprises a scheduling service which allows clients to automate service invocation.
15. The system for process brokering and content aggregation in collaborative e-commerce recited in claim 7, wherein one or more of the receivers are Web service.
16. A method for designing a system for process brokering and content aggregation in collaborative e-commerce comprising the steps of:
laying out an information model, an organization model, and a business process model;
using the information model and the business process model to identify Adaptive Documents (ADOCs) in the system, an ADOC linking content aggregated from various data sources to business processes and people and enabling collaborative business process management through orchestration of a variety of applications and user interactions in a context of a business process;
using business events and their prerequisites to design ADOC state machines;
using processing rules associated with the business events to identify commands that need to be executed as part of state transitions;
when processing rules dictate collaboration with user or software agents in the system, using macro flows to define them, the macro flows being directed graphs that establish relationships between activities that correspond to nodes in these graphs; and using activity controllers to define micro flow used to complete the activities, a state machine modeling the behavior of the activity controllers and commands effecting the behavior of the activity controllers.
US10/068,339 2002-02-07 2002-02-07 Method and system for process brokering and content integration for collaborative business process management Abandoned US20030187743A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/068,339 US20030187743A1 (en) 2002-02-07 2002-02-07 Method and system for process brokering and content integration for collaborative business process management
US12/212,830 US8655709B2 (en) 2002-02-07 2008-09-18 Method and system for process brokering and content integration for collaborative business process management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/068,339 US20030187743A1 (en) 2002-02-07 2002-02-07 Method and system for process brokering and content integration for collaborative business process management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/212,830 Division US8655709B2 (en) 2002-02-07 2008-09-18 Method and system for process brokering and content integration for collaborative business process management

Publications (1)

Publication Number Publication Date
US20030187743A1 true US20030187743A1 (en) 2003-10-02

Family

ID=28452226

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/068,339 Abandoned US20030187743A1 (en) 2002-02-07 2002-02-07 Method and system for process brokering and content integration for collaborative business process management
US12/212,830 Expired - Fee Related US8655709B2 (en) 2002-02-07 2008-09-18 Method and system for process brokering and content integration for collaborative business process management

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/212,830 Expired - Fee Related US8655709B2 (en) 2002-02-07 2008-09-18 Method and system for process brokering and content integration for collaborative business process management

Country Status (1)

Country Link
US (2) US20030187743A1 (en)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040059748A1 (en) * 2002-09-23 2004-03-25 International Business Machines Corporation Run-time augmentation of object code to facilitate object data caching in an application server
US20040111302A1 (en) * 2002-11-08 2004-06-10 Falk Robert J. System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction
US20050022160A1 (en) * 2002-06-17 2005-01-27 Adaptik Corporation Method and apparatus for creating an adaptive application
US20050138076A1 (en) * 2003-12-19 2005-06-23 Seo Beom S. Description and implementation method of threadbean in EJB container
WO2005078612A1 (en) * 2004-02-12 2005-08-25 Relaystar Intelligent state engine system
US20050222851A1 (en) * 2004-03-31 2005-10-06 Avaneesh Dubey Method and system for control of business processes
EP1607891A1 (en) * 2004-06-17 2005-12-21 ABN AMRO Bank N.V. System for managing business processes by means of a computer system
US20060195434A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Multiple Invocation Style Integration Framework
US20060212286A1 (en) * 2004-03-01 2006-09-21 Microsoft Corporation Message data management
US20070006121A1 (en) * 2005-05-27 2007-01-04 Microsoft Corporation Development activity recipe
US20070118843A1 (en) * 2005-11-18 2007-05-24 Sbc Knowledge Ventures, L.P. Timeout helper framework
US20070130152A1 (en) * 2005-12-01 2007-06-07 International Business Machines Corporation Method, apparatus, and program product for building integration workflow endpoints into web components
US20070179642A1 (en) * 2005-04-09 2007-08-02 American Express Marketing & Development Corporation, A Delaware Corporation System and method for interactive process management
US20070255604A1 (en) * 2006-05-01 2007-11-01 Seelig Michael J Systems and methods to automatically activate distribution channels provided by business partners
US20070263820A1 (en) * 2006-04-28 2007-11-15 International Business Machines Corporation Printing workflow services
US20070288286A1 (en) * 2006-06-07 2007-12-13 Linehan Mark H Method, system and program product for generating an implementation of business rules linked to an upper layer business model
US20070288412A1 (en) * 2006-06-07 2007-12-13 Linehan Mark H Method, system and program product for generating an implementation of a business rule including a volatile portion
US20080010082A1 (en) * 2006-06-27 2008-01-10 International Business Machines Corporation System and method for business process management
US20080162565A1 (en) * 2006-12-28 2008-07-03 Sag Ag Data structures for context information related to business events
US20080170260A1 (en) * 2003-03-19 2008-07-17 Michael Haller Output transform brokerage service
US20080320486A1 (en) * 2003-06-12 2008-12-25 Reuters America Business Process Automation
US20090198594A1 (en) * 2008-02-05 2009-08-06 Microsoft Corporation Aggregation of product data provided from external sources for presentation on an e-commerce website
US20090319955A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Techniques for a navigation based design tool
US7707017B2 (en) 2005-05-27 2010-04-27 International Business Machines Corporation System modeling facilitating method and apparatus
US20100107164A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, System, and Apparatus for Process Management
US20100107165A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, system, and apparatus for process management
US20100106551A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, system, and apparatus for process management
US20100218082A1 (en) * 2009-02-25 2010-08-26 Anis Charfi Method and system for expressing and enforcing non-functional concerns in business process management systems and workflow systems
US20100274793A1 (en) * 2009-04-27 2010-10-28 Nokia Corporation Method and apparatus of configuring for services based on document flows
US20110173620A1 (en) * 2010-01-08 2011-07-14 Microsoft Corporation Execution Context Control
CN102262767A (en) * 2010-05-26 2011-11-30 Sap股份公司 Service delivery management for brokered service delivery of service groups
US20130041707A1 (en) * 2009-11-05 2013-02-14 Subhra Bose Apparatuses, methods and systems for an incremental container user interface workflow optimizer
US20130339922A1 (en) * 2003-01-08 2013-12-19 Aptean, Inc. Systems and methods for executing business processes over a network
US8949104B2 (en) 2011-05-19 2015-02-03 International Business Machines Corporation Monitoring enterprise performance
US9449288B2 (en) 2011-05-20 2016-09-20 Deem, Inc. Travel services search
US9552599B1 (en) * 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
CN106651095A (en) * 2016-09-28 2017-05-10 北京赢点科技有限公司 Work flow configuring and jumping method and the configuring and jumping device
US10217131B2 (en) 2005-12-28 2019-02-26 Deem, Inc. System for resource service provider
US20190087756A1 (en) * 2017-09-15 2019-03-21 International Business Machines Corporation Cognitive process enactment
US20190087755A1 (en) * 2017-09-15 2019-03-21 International Business Machines Corporation Cognitive process learning
US20190188029A1 (en) * 2016-06-01 2019-06-20 Red Hat, Inc. Non-repudiable transaction protocol
US10552849B2 (en) 2009-04-30 2020-02-04 Deem, Inc. System and method for offering, tracking and promoting loyalty rewards
US10681094B2 (en) * 2015-12-04 2020-06-09 Ricoh Company, Ltd. Control system, communication control method, and program product
US11488029B2 (en) 2017-09-15 2022-11-01 International Business Machines Corporation Cognitive process code generation
CN116228170A (en) * 2023-05-06 2023-06-06 中铁电气化勘测设计研究院有限公司 Data intercommunication construction method for project data integrated management platform

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214034A1 (en) * 2005-08-30 2007-09-13 Michael Ihle Systems and methods for managing and regulating object allocations
US8275647B2 (en) * 2007-12-27 2012-09-25 Genesys Telecommunications Laboratories, Inc. Method for assembling a business process and for orchestrating the process based on process beneficiary information
US8301687B2 (en) * 2009-03-31 2012-10-30 Software Ag Systems and/or methods for standards-based messaging
US9047575B2 (en) * 2009-05-04 2015-06-02 Oracle International Corporation Creative process modeling and tracking system
US20110246340A1 (en) * 2010-04-02 2011-10-06 Tracelink, Inc. Method and system for collaborative execution of business processes
US10560541B2 (en) * 2010-05-26 2020-02-11 Sap Se Service delivery management for brokered service delivery
US8818783B2 (en) 2011-09-27 2014-08-26 International Business Machines Corporation Representing state transitions
US9411844B2 (en) 2012-03-29 2016-08-09 Tracelink, Inc. Methods and systems for managing distributed concurrent data updates of business objects
US10013429B2 (en) * 2012-03-29 2018-07-03 Tracelink, Inc. Computer-implemented methods and systems for facilitating business-to-business transactions on a collaborative business network and for system integration message routing and identifier mapping utilizing a shared workspace mechanism
US20140039968A1 (en) * 2012-08-06 2014-02-06 Sap Ag Integration of modeled collaboration stream in business process flow
US10055418B2 (en) 2014-03-14 2018-08-21 Highspot, Inc. Narrowing information search results for presentation to a user
US9984310B2 (en) * 2015-01-23 2018-05-29 Highspot, Inc. Systems and methods for identifying semantically and visually related content
US10769566B2 (en) 2016-10-05 2020-09-08 International Business Machines Corporation Managing process instances
US10217086B2 (en) 2016-12-13 2019-02-26 Golbal Healthcare Exchange, Llc Highly scalable event brokering and audit traceability system
US10217158B2 (en) 2016-12-13 2019-02-26 Global Healthcare Exchange, Llc Multi-factor routing system for exchanging business transactions
US10866849B2 (en) * 2017-01-17 2020-12-15 American Express Travel Related Services Company, Inc. System and method for automated computer system diagnosis and repair

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010741A1 (en) * 2000-02-16 2002-01-24 Rocky Stewart Workflow integration system for enterprise wide electronic collaboration
US20020016725A1 (en) * 2000-06-13 2002-02-07 Insustria Solutions, Incorporated Systems and methods for the collaborative design, construction, and maintenance of fluid processing plants
US20020077919A1 (en) * 2000-12-18 2002-06-20 Cheng-Jen Lin Method of collaboration commerce
US20020099580A1 (en) * 2001-01-22 2002-07-25 Eicher Daryl E. Performance-based supply chain management system and method with collaboration environment for dispute resolution

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237011B1 (en) * 1997-10-08 2001-05-22 Caere Corporation Computer-based document management system
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US7236939B2 (en) * 2001-03-31 2007-06-26 Hewlett-Packard Development Company, L.P. Peer-to-peer inter-enterprise collaborative process management method and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010741A1 (en) * 2000-02-16 2002-01-24 Rocky Stewart Workflow integration system for enterprise wide electronic collaboration
US20020019797A1 (en) * 2000-02-16 2002-02-14 Rocky Stewart Message routing system for enterprise wide electronic collaboration
US20020016725A1 (en) * 2000-06-13 2002-02-07 Insustria Solutions, Incorporated Systems and methods for the collaborative design, construction, and maintenance of fluid processing plants
US20020077919A1 (en) * 2000-12-18 2002-06-20 Cheng-Jen Lin Method of collaboration commerce
US20020099580A1 (en) * 2001-01-22 2002-07-25 Eicher Daryl E. Performance-based supply chain management system and method with collaboration environment for dispute resolution

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050022160A1 (en) * 2002-06-17 2005-01-27 Adaptik Corporation Method and apparatus for creating an adaptive application
US20040059748A1 (en) * 2002-09-23 2004-03-25 International Business Machines Corporation Run-time augmentation of object code to facilitate object data caching in an application server
US6947955B2 (en) * 2002-09-23 2005-09-20 International Business Machines Corporation Run-time augmentation of object code to facilitate object data caching in an application server
US7962385B2 (en) 2002-11-08 2011-06-14 Arbitration Forums, Inc. System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction
US20050010454A1 (en) * 2002-11-08 2005-01-13 Falk Robert J. System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction
US20040111302A1 (en) * 2002-11-08 2004-06-10 Falk Robert J. System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction
US20130339922A1 (en) * 2003-01-08 2013-12-19 Aptean, Inc. Systems and methods for executing business processes over a network
US20080170260A1 (en) * 2003-03-19 2008-07-17 Michael Haller Output transform brokerage service
US20080320486A1 (en) * 2003-06-12 2008-12-25 Reuters America Business Process Automation
US8332864B2 (en) * 2003-06-12 2012-12-11 Reuters America Inc. Business process automation
US20050138076A1 (en) * 2003-12-19 2005-06-23 Seo Beom S. Description and implementation method of threadbean in EJB container
WO2005078612A1 (en) * 2004-02-12 2005-08-25 Relaystar Intelligent state engine system
US7421546B2 (en) 2004-02-12 2008-09-02 Relaystar Sa/Nv Intelligent state engine system
US20070266394A1 (en) * 2004-02-12 2007-11-15 Odent Stephane V Device and a Method for Processing Events and Actions
US7941492B2 (en) 2004-03-01 2011-05-10 Microsoft Corporation Message data management
US8161125B2 (en) 2004-03-01 2012-04-17 Microsoft Corporation Message data management
US8230032B2 (en) 2004-03-01 2012-07-24 Microsoft Corporation Message data management
US20110185281A1 (en) * 2004-03-01 2011-07-28 Microsoft Corporation Message data management
US20060212286A1 (en) * 2004-03-01 2006-09-21 Microsoft Corporation Message data management
US20110185027A1 (en) * 2004-03-01 2011-07-28 Microsoft Corporation Message data management
US20050222851A1 (en) * 2004-03-31 2005-10-06 Avaneesh Dubey Method and system for control of business processes
US7774222B2 (en) * 2004-06-17 2010-08-10 Abn Amro Bank N.V. System for managing business processes through a plurality of distinct input channels
US20060015385A1 (en) * 2004-06-17 2006-01-19 Anthonie Hardeman System for managing business processes by means of a computer system
EP1607891A1 (en) * 2004-06-17 2005-12-21 ABN AMRO Bank N.V. System for managing business processes by means of a computer system
US10049330B2 (en) * 2004-09-10 2018-08-14 Deem, Inc. Platform for multi-service procurement
US10832177B2 (en) * 2004-09-10 2020-11-10 Deem, Inc. Platform for multi-service procurement
US9552599B1 (en) * 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
US20060195434A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Multiple Invocation Style Integration Framework
US20070179642A1 (en) * 2005-04-09 2007-08-02 American Express Marketing & Development Corporation, A Delaware Corporation System and method for interactive process management
US7512451B2 (en) * 2005-04-09 2009-03-31 American Express Travel Related Services Company, Inc. System and method for interactive process management
US7707017B2 (en) 2005-05-27 2010-04-27 International Business Machines Corporation System modeling facilitating method and apparatus
US20070006121A1 (en) * 2005-05-27 2007-01-04 Microsoft Corporation Development activity recipe
US7774779B2 (en) 2005-11-18 2010-08-10 At&T Intellectual Property I, L.P. Generating a timeout in a computer software application
US20070118843A1 (en) * 2005-11-18 2007-05-24 Sbc Knowledge Ventures, L.P. Timeout helper framework
US7975255B2 (en) * 2005-12-01 2011-07-05 International Business Machines Corporation Method, apparatus, and program product for building integration workflow endpoints into web components
US20070130152A1 (en) * 2005-12-01 2007-06-07 International Business Machines Corporation Method, apparatus, and program product for building integration workflow endpoints into web components
US10217131B2 (en) 2005-12-28 2019-02-26 Deem, Inc. System for resource service provider
US11443342B2 (en) 2005-12-28 2022-09-13 Deem, Inc. System for resource service provider
US20070263820A1 (en) * 2006-04-28 2007-11-15 International Business Machines Corporation Printing workflow services
US20070255604A1 (en) * 2006-05-01 2007-11-01 Seelig Michael J Systems and methods to automatically activate distribution channels provided by business partners
US9754265B2 (en) 2006-05-01 2017-09-05 At&T Intellectual Property I, L.P. Systems and methods to automatically activate distribution channels provided by business partners
US20070288286A1 (en) * 2006-06-07 2007-12-13 Linehan Mark H Method, system and program product for generating an implementation of business rules linked to an upper layer business model
US8538786B2 (en) 2006-06-07 2013-09-17 International Business Machines Corporation Method, system and program product for generating an implementation of a business rule including a volatile portion
US20070288412A1 (en) * 2006-06-07 2007-12-13 Linehan Mark H Method, system and program product for generating an implementation of a business rule including a volatile portion
US10268970B2 (en) 2006-06-07 2019-04-23 International Business Machines Corporation Method, system and program product for generating an implementation of business rules linked to an upper layer business model
US20080010082A1 (en) * 2006-06-27 2008-01-10 International Business Machines Corporation System and method for business process management
US7954111B2 (en) * 2006-12-28 2011-05-31 Sap Ag Data structures for context information related to business events
US20080162565A1 (en) * 2006-12-28 2008-07-03 Sag Ag Data structures for context information related to business events
US8086496B2 (en) 2008-02-05 2011-12-27 Microsoft Corporation Aggregation of product data provided from external sources for presentation on an E-commerce website
US20090198594A1 (en) * 2008-02-05 2009-08-06 Microsoft Corporation Aggregation of product data provided from external sources for presentation on an e-commerce website
US20090319955A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Techniques for a navigation based design tool
US20100107165A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, system, and apparatus for process management
US20100107164A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, System, and Apparatus for Process Management
US20100106551A1 (en) * 2008-10-24 2010-04-29 Oskari Koskimies Method, system, and apparatus for process management
US20100218082A1 (en) * 2009-02-25 2010-08-26 Anis Charfi Method and system for expressing and enforcing non-functional concerns in business process management systems and workflow systems
US20100274793A1 (en) * 2009-04-27 2010-10-28 Nokia Corporation Method and apparatus of configuring for services based on document flows
US11720908B2 (en) 2009-04-30 2023-08-08 Deem, Inc. System and method for offering, tracking and promoting loyalty rewards
US10552849B2 (en) 2009-04-30 2020-02-04 Deem, Inc. System and method for offering, tracking and promoting loyalty rewards
US20130041707A1 (en) * 2009-11-05 2013-02-14 Subhra Bose Apparatuses, methods and systems for an incremental container user interface workflow optimizer
US8464280B2 (en) 2010-01-08 2013-06-11 Microsoft Corporation Execution context control
US20110173620A1 (en) * 2010-01-08 2011-07-14 Microsoft Corporation Execution Context Control
CN102262767A (en) * 2010-05-26 2011-11-30 Sap股份公司 Service delivery management for brokered service delivery of service groups
US8949104B2 (en) 2011-05-19 2015-02-03 International Business Machines Corporation Monitoring enterprise performance
US9870540B2 (en) 2011-05-20 2018-01-16 Deem, Inc. Travel services search
US9449288B2 (en) 2011-05-20 2016-09-20 Deem, Inc. Travel services search
US10681094B2 (en) * 2015-12-04 2020-06-09 Ricoh Company, Ltd. Control system, communication control method, and program product
US20190188029A1 (en) * 2016-06-01 2019-06-20 Red Hat, Inc. Non-repudiable transaction protocol
US11150938B2 (en) * 2016-06-01 2021-10-19 Red Hat, Inc. Non-repudiable transaction protocol
CN106651095A (en) * 2016-09-28 2017-05-10 北京赢点科技有限公司 Work flow configuring and jumping method and the configuring and jumping device
US20190087755A1 (en) * 2017-09-15 2019-03-21 International Business Machines Corporation Cognitive process learning
US10628777B2 (en) * 2017-09-15 2020-04-21 International Business Machines Corporation Cognitive process enactment
US20190087756A1 (en) * 2017-09-15 2019-03-21 International Business Machines Corporation Cognitive process enactment
US10846644B2 (en) * 2017-09-15 2020-11-24 International Business Machines Corporation Cognitive process learning
US10936988B2 (en) * 2017-09-15 2021-03-02 International Business Machines Corporation Cognitive process enactment
US11488029B2 (en) 2017-09-15 2022-11-01 International Business Machines Corporation Cognitive process code generation
CN116228170A (en) * 2023-05-06 2023-06-06 中铁电气化勘测设计研究院有限公司 Data intercommunication construction method for project data integrated management platform

Also Published As

Publication number Publication date
US20090024514A1 (en) 2009-01-22
US8655709B2 (en) 2014-02-18

Similar Documents

Publication Publication Date Title
US8655709B2 (en) Method and system for process brokering and content integration for collaborative business process management
Li et al. A distributed service-oriented architecture for business process execution
US6115646A (en) Dynamic and generic process automation system
Adler Distributed coordination models for client/server computing
US7912895B2 (en) System and method for managing service interactions
Khalaf et al. Business processes for Web Services: Principles and applications
US6820118B1 (en) Method and system for providing a linkage between systems management systems and applications
US20040098311A1 (en) XML message monitor for managing business processes
US20060080117A1 (en) Maintaining integrity within an adaptive value chain involving cross enterprise interactions
US20120124584A1 (en) Event-Based Orchestration in Distributed Order Orchestration System
Ludwig et al. Virtual enterprise co-ordinator—agreement-driven gateways for cross-organisational workflow management
Blake Coordinating multiple agents for workflow-oriented process orchestration
Dan et al. The Coyote project: Framework for multi-party e-commerce
Ouzounis et al. A framework for virtual enterprise support services
Kwak et al. A framework supporting dynamic workflow interoperation and enterprise application integration
Kumaran et al. A framework-based approach to building private trading exchanges
Leymann Managing Business Processes via Workflow Technology.
Papaioannou et al. Mobile agent technology in support of sales order processing in the virtual enterprise
Amin et al. Business transaction processing system
Keen et al. Patterns: Extended Enterprise SOA and Web Services
Schneider-Neureither SAP System Landscape Optimization
Christudas et al. Transactions Optimized for Microservices
Dadam et al. Enterprise-wide and cross-enterprise workflow management: Concepts, systems, applications
Ranno et al. A review of distributed workflow management systems
Lee et al. Winslow: A business process management system with Web services

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KUMARAN, SANTHOSH;NANDI, PRABIR;BHASKARAN, KUMAR;REEL/FRAME:012595/0797;SIGNING DATES FROM 20020123 TO 20020125

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION