System and method for creating, executing and maintaining cross-enterprise processes
First Claim
1. A method for coordinating a process between a first site and a second site using a public process definition that specifies interactions between sites, the public process definition comprised of a first node associated with the first site, a second node associated with the second site, and a business object connected to the first and second nodes, the method comprising the steps of:
- distributing the public process definition to the first site and the second site, including creating the public process definition at the first site;
executing the first node of the public process definition at the first site by executing a first private process definition associated with the first node, the first private process definition specifying a set of possible local actions that can be executed at the first site when the first node is executed;
upon receiving a message defined by the business object, executing the second node of the public process definition at the second site by executing a second private process definition associated with the second node, the second private process definition specifying a set of possible local actions that can be executed at the second site when the second node is executed;
at the first site, associating with the first node by shared information a first private process definition containing an action preceding the transmission of the message from the first site; and
, at the second site, associating with the second node by shared information a second private process definition containing an action following the reception of the message by the second site.
22 Assignments
0 Petitions
Accused Products
Abstract
A system and method for creating, executing, and maintaining shared, automated business processes across distributed organizations comprises capabilities that enable interoperation among heterogeneous information systems. The system includes a plurality of independent communicating subsystems called sites that have a server with common means of representing and executing shared public process definitions and private process definitions. Process execution comprises coordinated inter-site message exchanges that are coupled with controlled sequences of actions that are local to each of the sites. The public process definition or module captures interactions among the independent sites. Interactions include communication events in which one site sends a message of a known type to another site. Each definition specifies a set of valid sequences of communication events among the participating sites. Associated with any public process definition is a set of lower level or private process definitions or modules. The private process definition specifies a set of possible local actions that can be executed at the site when that particular public process node is executed. In the preferred embodiment, the private process definition is defined in terms of constructs such as operating parameters and software application interactions.
66 Citations
10 Claims
-
1. A method for coordinating a process between a first site and a second site using a public process definition that specifies interactions between sites, the public process definition comprised of a first node associated with the first site, a second node associated with the second site, and a business object connected to the first and second nodes, the method comprising the steps of:
-
distributing the public process definition to the first site and the second site, including creating the public process definition at the first site;
executing the first node of the public process definition at the first site by executing a first private process definition associated with the first node, the first private process definition specifying a set of possible local actions that can be executed at the first site when the first node is executed;
upon receiving a message defined by the business object, executing the second node of the public process definition at the second site by executing a second private process definition associated with the second node, the second private process definition specifying a set of possible local actions that can be executed at the second site when the second node is executed;
at the first site, associating with the first node by shared information a first private process definition containing an action preceding the transmission of the message from the first site; and
,at the second site, associating with the second node by shared information a second private process definition containing an action following the reception of the message by the second site. - View Dependent Claims (2, 3, 4, 5, 6)
reviewing the public process definition at the second site; and
,in the event of an approval of the public process definition at the second site, transmitting an approval signal from the second site to the first site; and
,in the event of a disapproval of the public process definition at the second site, transmitting a disapproval signal from the second site to the first site.
-
-
3. The method of claim 2, wherein the step of distributing further comprises:
-
in the event of receiving at the first site an approval signal from the second site, transmitting a commit message to the second site;
installing the public process definition and the first private process definition at the first site; and
,in the event of receiving at the second site the commit message from the first site, installing the public process definition and the second private process definition at the second site.
-
-
4. The method of claim 3, wherein the step of distributing further comprises:
in the event of receiving at the first site a disapproval signal from the second site, transmitting an abort message to the second site.
-
5. The method of claim 1, further comprising:
-
at the first site, transforming the public process definition into a first state machine; and
,at the second site, transforming the public process definition into a second state machine.
-
-
6. The method of claim 1, further comprising:
-
recording in a first process execution history the execution of the first node of the public process definition;
recording in a second process execution history the execution of the second node of the public process definition;
auditing the first and second process execution histories.
-
-
7. A method for coordinating a process between a first site and a second site using a public process definition that specifies interactions between sites, the public process definition comprised of a first node associated with the first site, a second node associated with the second site, and an arc connected to the first and second nodes, the method comprising the steps of:
-
distributing the public process definition to the first site and the second site;
executing the first node of the public process definition at the first site by executing a first private process definition associated with the first node, the first private process definition specifying a set of possible local actions that can be executed at the first site when the first node is executed; and
upon receiving a message defined by the arc, executing the second node of the public process definition at the second site by executing a second private process definition associated with the second node, the second private process definition specifying a set of possible local actions that can be executed at the second site when the second node is executed. - View Dependent Claims (8)
-
-
9. A method for coordinating a process between a first site and a second site, comprising:
-
creating at the first site a public process definition that specifies interactions between sites, the public process definition including a first node associated with the first site, a second node associated with the second site, and an arc interposed between the first node and the second node;
distributing the public process definition to the second site;
creating at the first site a first private process definition associated with the first node, the first private process definition specifying a set of possible local actions that can be executed at the first site when the first node is executed and in which an action preceding the transmission of a message from the first site is defined;
creating at the second site a second private process definition associated with the second node, the second private process definition specifying a set of possible local actions that can be executed at the second site when the second node is executed and in which an action following the reception of the message by the second site is defined;
executing the first node of the public process definition by executing the first private process definition at the first site; and
upon receiving the message, executing the second node of the public process definition by executing the second private process definition at the second site.
-
-
10. A method for creating a process definition governing a process between a first site and a second site, comprising:
-
creating at the first site a public process definition that specifies interactions between sites, the public process definition including a first node associated with the first site, a second node associated with the second site, and an arc interposed between the first node and the second node;
distributing the public process definition to the second site;
creating at the first site a first private process definition associated with the first node, the first private process definition specifying a set of possible local actions that can be executed at the first site when the first node is executed and in which an action preceding the transmission of a message from the first site is defined; and
creating at the second site a second private process definition associated with the second node, the second private process specifying a set of possible local actions that can be executed at the second site when the second node is executed and in which an action following the reception of the message by the second site is defined.
-
Specification