Patent ID: 7921075

Claim:
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.