Generic sequencing service for business integration
First Claim
1. A computer implemented method for guaranteeing a processing order of requests in a business integration environment, the computer implemented method comprising:
- prior to receiving a request at a sequencing component, reading a sequencing specification to determine a processing order of incoming requests, wherein the sequencing specification specifies one or more operation sequencing groups;
responsive to reading the sequencing specification, mapping each operation sequencing group specified in the sequencing specification to a different lock name space, wherein each operation sequencing group defines a group of requests to be processed in a particular order;
constructing a hash table keyed by operation, wherein a value of each operation in the hash table is defined as a lock name space and operation sequencing pair;
responsive to receiving the request at the sequencing component, identifying, by a computer, an operation specified in the request;
determining whether to sequence the operation according to the sequencing specification based on whether the operation is defined in the hash table as the lock name space and the operation sequencing pair, wherein the sequencing specification specifies an order in which the requests are received and processed at the sequencing component;
responsive to a determination that the operation is defined in the hash table, classifying key information of the operation obtained from a payload of the request according to the sequencing specification, wherein the key information from the payload is used in determining a processing order of related requests;
requesting a lock on the request using the operation and the key information;
responsive to the lock being granted, determining whether the request is synchronous or asynchronous;
if the request is synchronous, invoking a target service component synchronously in accordance with the sequencing specification; and
if the request is asynchronous, invoking the target service component asynchronously.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer implemented method, data processing system, and computer program product for providing a generic sequencing service for ordering processing requests in a scalable business integration environment. When a request is received at a sequencing component, the operation specified in the request is identified. A determination is then made as to whether to sequence the operation according to a sequencing specification. If the operation is to be sequenced, key information of the operation is classified according to the sequencing specification. A lock on the request is then requested using the operation and the key information. Responsive to the lock being granted, a determination is then made as to whether the request is synchronous or asynchronous. If the request is synchronous, the target service component is invoked synchronously. If the request is asynchronous, the target service component is invoked asynchronously.
67 Citations
18 Claims
-
1. A computer implemented method for guaranteeing a processing order of requests in a business integration environment, the computer implemented method comprising:
-
prior to receiving a request at a sequencing component, reading a sequencing specification to determine a processing order of incoming requests, wherein the sequencing specification specifies one or more operation sequencing groups; responsive to reading the sequencing specification, mapping each operation sequencing group specified in the sequencing specification to a different lock name space, wherein each operation sequencing group defines a group of requests to be processed in a particular order; constructing a hash table keyed by operation, wherein a value of each operation in the hash table is defined as a lock name space and operation sequencing pair; responsive to receiving the request at the sequencing component, identifying, by a computer, an operation specified in the request;
determining whether to sequence the operation according to the sequencing specification based on whether the operation is defined in the hash table as the lock name space and the operation sequencing pair, wherein the sequencing specification specifies an order in which the requests are received and processed at the sequencing component;responsive to a determination that the operation is defined in the hash table, classifying key information of the operation obtained from a payload of the request according to the sequencing specification, wherein the key information from the payload is used in determining a processing order of related requests;
requesting a lock on the request using the operation and the key information;responsive to the lock being granted, determining whether the request is synchronous or asynchronous; if the request is synchronous, invoking a target service component synchronously in accordance with the sequencing specification; and if the request is asynchronous, invoking the target service component asynchronously. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data processing system for guaranteeing a processing order of requests in a business integration environment, the data processing system comprising:
-
a bus; a storage device connected to the bus, wherein the storage device contains computer usable code; at least one managed device connected to the bus; a communications unit connected to the bus; and a processing unit connected to the bus, wherein the processing unit executes the computer usable code to, prior to receiving a request at a sequencing component, read a sequencing specification to determine a processing order of incoming requests, wherein the sequencing specification specifies one or more operation sequencing groups;
responsive to reading the sequencing specification, map each operation sequencing group specified in the sequencing specification to a different lock name space, wherein each operation sequencing group defines a group of requests to be processed in a particular order;
construct a hash table keyed by operation, wherein a value of each operation in the hash table is defined as a lock name space and operation sequencing pair, identify an operation specified in the request in response to receiving the request at the sequencing component, determine whether to sequence the operation according to the sequencing specification based on whether the operation is defined in the hash table as the lock name space and the operation sequencing pair, wherein the sequencing specification specifies an order in which the requests are received and processed at the sequencing component, classify key information of the operation obtained from a payload of the request according to the sequencing specification in response to a determination that the operation is defined in the hash table, wherein the key information from the payload is used in determining a processing order of related requests, request a lock on the request using the operation and the key information, determine whether the request is synchronous or asynchronous in response to the lock being granted, invoke a target service component synchronously if the request is synchronous in accordance with the sequencing specification, and invoke the target service component asynchronously if the request is asynchronous. - View Dependent Claims (10)
-
-
11. A computer program product for guaranteeing a processing order of requests in a business integration environment, the computer program product comprising:
a computer readable storage medium having computer usable program code stored thereon, the computer usable program code comprising; computer usable program code for, prior to receiving a request at a sequencing component, reading a sequencing specification to determine a processing order of incoming requests, wherein the sequencing specification specifies one or more operation sequencing groups; computer usable program code for, responsive to reading the sequencing specification, mapping each operation sequencing group specified in the sequencing specification to a different lock name space, wherein each operation sequencing group defines a group of requests to be processed in a particular order; computer usable program code for constructing a hash table keyed by operation, wherein a value of each operation in the hash table is defined as a lock name space and operation sequencing pair; computer usable program code for identifying an operation specified in the request in response to receiving the request at the sequencing component; computer usable program code for determining whether to sequence the operation according to the sequencing specification based on whether the operation is defined in the hash table as the lock name space and the operation sequencing pair, wherein the sequencing specification specifies an order in which the requests are received and processed at the sequencing component; computer usable program code for classifying key information of the operation obtained from a payload of the request according to the sequencing specification in response to a determination that the operation is defined in the hash table, wherein the key information from the payload is used in determining a processing order of related requests; computer usable program code for requesting a lock on the request using the operation and the key information; computer usable program code for determining whether the request is synchronous or asynchronous in response to the lock being granted; computer usable program code for invoking a target service component synchronously if the request is synchronous in accordance with the sequencing specification; and computer usable program code for invoking the target service component asynchronously if the request is asynchronous. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
Specification