Generic wait service: pausing a BPEL process
First Claim
1. A method performed by a generic wait service for pausing an instance of a service-oriented application the method comprising:
- receiving, from the instance of the service-oriented application, an initiation message including a first set of attributes and an exit criterion, the first set of attributes uniquely identifying the instance, the exit criterion identifying a condition that should be satisfied before the instance is allowed to resume;
defining two or more wait states in parallel for the instance, wherein the two or more wait states include a first wait state in which a first task flow begins execution after the first wait state and a second wait state in which a second task flow begins execution after the second wait state which is parallel to the first wait state;
de-coupling the service-oriented application from event producers responsible for generating status information, wherein the service-oriented application is not required to be aware of technical complexities involved in correlating a notification message received from the event producers to a particular paused instance, and the event producers are not required to be aware of the instance that is waiting for status information;
based on the first and second wait states, creating a correlation set based on the first set of attributes, the correlation set associating the first set of attributes with the instance;
pausing the instance;
waiting for status information relevant to the instance;
receiving, from an event producer, a notification message including a second set of attributes and a status of a business event;
determining, based on the correlation set, that the status is relevant to the instance;
determining, based on the status, that the exit criterion is satisfied; and
in response to the exit criterion being satisfied, sending the status to the instance and resuming the instance.
1 Assignment
0 Petitions
Accused Products
Abstract
A generic wait service for facilitating the pausing of service-oriented applications. In one set of embodiments, the generic wait service receives, from a paused instance of an application, an initiation message comprising a set of key attributes and an exit criterion. The key attributes uniquely identify the paused instance, and the exit criterion identifies a condition that should be satisfied before the paused instance is allowed to proceed. The generic wait service then receives, from one or more event producers, notification messages comprising status information (e.g., statuses of business events) and information correlating the notification messages to particular instances. If a notification message is determined to be correlated to the paused instance, the generic wait service evaluates the exit criterion based on the status information included in the message. If the exit criterion is satisfied, the paused instance is notified of the status information and is allowed to proceed.
249 Citations
18 Claims
-
1. A method performed by a generic wait service for pausing an instance of a service-oriented application the method comprising:
-
receiving, from the instance of the service-oriented application, an initiation message including a first set of attributes and an exit criterion, the first set of attributes uniquely identifying the instance, the exit criterion identifying a condition that should be satisfied before the instance is allowed to resume; defining two or more wait states in parallel for the instance, wherein the two or more wait states include a first wait state in which a first task flow begins execution after the first wait state and a second wait state in which a second task flow begins execution after the second wait state which is parallel to the first wait state; de-coupling the service-oriented application from event producers responsible for generating status information, wherein the service-oriented application is not required to be aware of technical complexities involved in correlating a notification message received from the event producers to a particular paused instance, and the event producers are not required to be aware of the instance that is waiting for status information; based on the first and second wait states, creating a correlation set based on the first set of attributes, the correlation set associating the first set of attributes with the instance; pausing the instance; waiting for status information relevant to the instance; receiving, from an event producer, a notification message including a second set of attributes and a status of a business event; determining, based on the correlation set, that the status is relevant to the instance; determining, based on the status, that the exit criterion is satisfied; and in response to the exit criterion being satisfied, sending the status to the instance and resuming the instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for pausing an instance of a service-oriented application, the system comprising:
-
a first server for running the service-oriented application; and a second server for running a generic wait service, wherein the generic wait service is configured to; receive, from the instance of the service-oriented application, an initiation message including a first set of attributes and an exit criterion, the first set of attributes uniquely identifying the instance, the exit criterion identifying a condition that should be satisfied before the instance is allowed to resume; define two or more wait states in parallel for the instance, wherein the two or more wait states include a first wait state in which a first task flow begins execution after the first wait state and a second wait state in which a second task flow begins execution after the second wait state which is parallel to the first wait state; de-couple the service-oriented application from event producers responsible for generating status information, wherein the service-oriented application is not required to be aware of technical complexities involved in correlating a notification message received from the event producers to a particular paused instance, and the event producers are not required to be aware of the instance that is waiting for status information; based on the first and second wait states, create a correlation set based on the first set of attributes, the correlation set associating the first set of attributes with the instance; pause the instance; wait for status information relevant to the instance; receive, from an event producer, a notification message including a second set of attributes and a status of a business event; determine, based on the correlation set, that the status is relevant to the instance; determine, based on the status, that the exit criterion is satisfied; and in response to the exit criterion being satisfied, send the status to the instance and resuming the instance. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory machine-readable medium for a computer system, the machine-readable medium having stored thereon program code which, when executed by a processing component of the computer system, causes the processing component to:
-
receive, from the instance of the service-oriented application, an initiation message including a first set of attributes and an exit criterion, the first set of attributes uniquely identifying the instance, the exit criterion identifying a condition that should be satisfied before the instance is allowed to resume; define two or more wait states in parallel for the instance, wherein the two or more wait states include a first wait state in which a first task flow begins execution after the first wait state and a second wait state in which a second task flow begins execution after the second wait state which is parallel to the first wait state; de-couple the service-oriented application from event producers responsible for generating status information, wherein the service-oriented application is not required to be aware of technical complexities involved in correlating a notification message received from the event producers to a particular paused instance, and the event producers are not required to be aware of the instance that is waiting for status information; based on the first and second wait states, create a correlation set based on the first set of attributes, the correlation set associating the first set of attributes with the instance; pause the instance; wait for status information relevant to the instance; receive, from an event producer, a notification message including a second set of attributes and a status of a business event; determine, based on the correlation set, that the status is relevant to the instance; determine, based on the status, that the exit criterion is satisfied; and in response to the exit criterion being satisfied, send the status to the instance and resuming the instance. - View Dependent Claims (16, 17, 18)
-
Specification