Patent ID: 7346905

Claim:
A method of processing a transaction in a data processing system comprising: receiving the transaction from a client application program executing on another data processing system, wherein the transaction requires use of a plurality of individual software resources to accomplish a task, with each software resource of the individual software resources providing a unique software function that differs from functions provided by other software resources of the individual software resources; responsive to receiving the transaction, identifying the individual software resources required to accomplish the task based on information contained within the transaction; responsive to identifying the individual software resources, identifying a software resource application programming interface (API) for each of the individual software resources; submitting the transaction to a respective API for each of the individual software resources participating in the transaction; receiving a response from each of the individual software resources indicating whether the individual software resource was able to commit or was unable to commit; and resubmitting a portion of the transaction to an uncommitted resource that was unable to commit, if a response was received from the uncommitted resource indicating the uncommitted resource was unable to commit.