Patent ID: 8006248

Claim:
A method for facilitating communication between a client application and a server application, the method comprising: responsive to the client application initiating a synchronous communication with the server application by sending a request for processing by the server application via an asynchronous communication manager, performing a plurality of checks to identify a cause of any failure to provide a response to the client application to satisfy synchronous communication criteria, wherein said plurality of checks comprise at least: checking at a client application queue manager that said client application request is appropriately specified; checking that a communications link to a server application queue manager is working; checking that a response is PUT into a transmit queue hosted by said server application queue manager; checking that a communications link to said client application queue manager is working; checking that said client application retrieves said server application response from a client application reply-to queue; and checking each of a set of resources and a sequence of resource updates required to provide a response to the client application; and wherein said asynchronous communication manager comprises a said client application queue manager and a said server application queue manager; and using the results of said plurality of checks to determine whether to back out any updates performed in response to the request for processing by the server application so that the server application will not perform any unnecessary processing; said server application queue manager forwarding said server application response to a client application request for receipt by said client application; and in response to successful delivery of said server application response to said client application, said client application queue manager informing said server application queue manager that it is acceptable to finalize any changes necessitated by said client application request with one or more resources.