Claims
- 1. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
a distributed request queue for receiving and storing a service request; a service processor for pulling the service request from the request queue and invoking the service for the service request, the service processor further receiving a service response for the service request from the invoked service; and a distributed response queue for receiving the service response from the service processor and storing the service response.
- 2. A system according to claim 1, further comprising:
an enterprise information system containing the service invoked by the service processor.
- 3. A system according to claim 1, wherein:
said service processor is packaged as a message-driven Enterprise JavaBean.
- 4. A system according to claim 1, further comprising:
an application view client for sending the service request to the distributed request queue and retrieving the service response from the distributed response queue on behalf of a client application.
- 5. A system according to claim 4, wherein:
said application view client can generate failure recovery semantics for the client application.
- 6. A system according to claim 4, wherein:
the distributed response queue is adapted to store the service response until the response is retrieved by the application view client.
- 7. A system according to claim 4, wherein:
said application view is adapted to determine whether any service responses are waiting in the distributed response queue for the client application.
- 8. A system according to claim 4, further comprising:
a client identifier for identifying the client application, the client identifier used to process the service request and service response for the client application.
- 9. A system for according to claim 4, wherein:
said application view client passes the service request to the distributed request queue in a request document.
- 10. A system according to claim 9, wherein:
said application view further passes a service response listener with the request document, the service response listener adapted to listen for the service response corresponding to the service request document.
- 11. A system according to claim 1, wherein:
said service processor is deployed on a node in a cluster.
- 12. A system according to claim 11, further comprising:
additional service processors, each additional service processor deployed on different node in the cluster.
- 13. A system according to claim 12, wherein:
the additional service processors are adapted to listen to the distributed request queue for a service request, each of the additional service processors capable of pulling the service request from the distributed request queue and invoking the service for the service request if the service processor is unavailable.
- 14. A system according to claim 1, wherein:
said service processor further encapsulates the service response into a service response object that is sent to the distributed response queue.
- 15. A method for high-availability processing of asynchronous requests in a single transaction, comprising:
receiving a service request to a distributed request queue from a client application; pulling the service request from the request queue to a service processor and invoking a service for the service request; receiving the service response from the invoked service to a distributed response queue and storing the service response until retrieval from a client application.
- 16. A method according to claim 15, further comprising:
executing the invoked service using an enterprise information system.
- 17. A method according to claim 15, further comprising:
deploying an additional service processor on each node of the cluster containing the service processor.
- 18. A method according to claim 17, further comprising:
listening to the distributed request queue using with the service processor and any additional service processors.
- 19. A method according to claim 15, further comprising:
packaging the service processor as a message-driven Enterprise JavaBean.
- 20. A method according to claim 15, further comprising:
using an application view client to send service requests and receive service responses on behalf of the client application.
- 21. A method according to claim 20, further comprising:
generating failure recovery semantics using the application view client.
- 22. A method according to claim 15, further comprising:
assigning a client identifier to the service request to be used in processing the service request and service response.
- 23. A method according to claim 15, wherein:
the step of sending a service request includes passing a request document and response listener to the service processor.
- 24. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
a distributed request queue for receiving and storing a service request; an application view client for sending the service request to the distributed request queue on behalf of a client application; a service processor for pulling the service request from the request queue and invoking the service for the service request, the service processor further receiving a service response for the service request from the invoked service; and a distributed response queue for receiving the service response from the service processor and storing the service response until the service response is retrieved for the client application by the application view client.
- 25. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
an application view client for generating a service request on behalf of a client application, the service request comprising a request document and a service response listener; a distributed request queue for receiving the service request from the application view client and storing the service request; a service processor for pulling the service request from the request queue and invoking the service specified in the request document, the service processor further receiving a service response for the request document from the invoked service; and a distributed response queue for receiving the service response from the service processor and storing the service response until the service response is retrieved for the client application by the application view client, the response listener notifying the application view client when the service response is received in the distributed response queue.
- 26. A computer-readable medium, comprising:
means for receiving a service request to a distributed request queue from a client application; means for pulling the service request from the request queue to a service processor and invoking a service for the service request; and means for receiving the service response from the invoked service to a distributed response queue and storing the service response until retrieval from a client application.
- 27. A computer program product for execution by a server computer for high-availability processing of asynchronous requests in a single transaction, comprising:
computer code for receiving a service request to a distributed request queue from a client application; computer code for pulling the service request from the request queue to a service processor and invoking a service for the service request; and computer code for receiving the service response from the invoked service to a distributed response queue and storing the service response until retrieval from a client application;
- 28. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
means for receiving a service request to a distributed request queue from a client application; means for pulling the service request from the request queue to a service processor and invoking a service for the service request; and means for receiving the service response from the invoked service to a distributed response queue and storing the service response until retrieval from a client application.
- 29. A computer system comprising:
a processor; object code executed by said processor, said object code configured to:
receive a service request to a distributed request queue from a client application; pull the service request from the request queue to a service processor and invoking a service for the service request; and receive the service response from the invoked service to a distributed response queue and storing the service response until retrieval from a client application.
- 30. A computer data signal embodied in a transmission medium, comprising:
a code segment including instructions to receive a service request to a distributed request queue from a client application; a code segment including instructions to pull the service request from the request queue to a service processor and invoking a service for the service request; and a code segment including instructions to receive the service response from the invoked service to a distributed response queue and storing the service response until retrieval from a client application.
CLAIM OF PRIORITY
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/377,332, filed May 2, 2002, entitled “HIGH AVAILABILITY FOR ASYNCHRONOUS REQUESTS,” which is hereby incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60377332 |
May 2002 |
US |