Asynchronous web service invocation model
First Claim
1. A system for asynchronous invocation of web services in a distributed network, said system comprising:
- a client connected to the distributed network and having an application executing thereon, said application having generated a web service request in a first thread, wherein a future result object and a task are created by said client, said future result object being stored on a computer readable medium, wherein said client schedules the task to a thread pool and transmits the web service request to a web service and releases said first thread such that the application is enabled to perform one or more other tasks while the web service request is processed, wherein said one or more other tasks are executed independently of a result of said web service request; and
a server connected to the distributed network and having the web service deployed thereon, wherein said server receives the web service request from the client, processes said web service request and obtains the result of said web service request;
wherein said application periodically queries the future result object for said result of the web service request and retrieves the result of said web service request upon receiving an indication that said result of said web service request is available, wherein if the future result object indicates that the result of said web service request has not been received from the server, the application continues to poll the future result object at an interval of time after the previous poll.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for asynchronously invoking a remote web service on a server by application code residing on a client. The web service invoke request received from application code residing on the client, passes an invoke request to a web service residing on a server, receives a result from the web service, the result relating to the invoke request passed by the client, and transmits the result to the application code. Once the invoke request is passed to the web service by the client, the application code is freed to perform other tasks. The result may be transmitted to the application code from the client as part of a call back object passed to the client by the application code, as a result of application code polling of the client, or by the application code ending the task generated by the client.
53 Citations
14 Claims
-
1. A system for asynchronous invocation of web services in a distributed network, said system comprising:
-
a client connected to the distributed network and having an application executing thereon, said application having generated a web service request in a first thread, wherein a future result object and a task are created by said client, said future result object being stored on a computer readable medium, wherein said client schedules the task to a thread pool and transmits the web service request to a web service and releases said first thread such that the application is enabled to perform one or more other tasks while the web service request is processed, wherein said one or more other tasks are executed independently of a result of said web service request; and a server connected to the distributed network and having the web service deployed thereon, wherein said server receives the web service request from the client, processes said web service request and obtains the result of said web service request; wherein said application periodically queries the future result object for said result of the web service request and retrieves the result of said web service request upon receiving an indication that said result of said web service request is available, wherein if the future result object indicates that the result of said web service request has not been received from the server, the application continues to poll the future result object at an interval of time after the previous poll. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for asynchronously invoking web services in a distributed network, said method comprising:
-
generating a web service request in a first thread by an application residing on a client in said distributed network; creating a future result object to allow the first thread to be released and creating a task, wherein said future result object being stored on a computer readable medium; scheduling the task to a thread pool by the client wherein the task includes transmitting the web service request by the client to a web service residing on a server; assigning a second thread to process the task scheduled by the client, wherein the task handles invoking the web service request; releasing the first thread such that said application is enabled to perform one or more other tasks while the web service request is carried out, wherein said one or more other tasks are executed independently of a result of said web service request; processing the web service request by the web service residing on said server and obtaining the result of said web service request, the result of said web service request relating to the web service request passed by the application residing on the client, wherein the task sets the future result object with the result of said web service request received from the web service; polling the future result object for said result of the web service request by the application to determine if the result of said web service request has been received by the client from the web service; and retrieving said result of the web service request by the application from the future result object upon receiving an indication that said result of said web service request is available, wherein if the future result object indicates that the result of said web service request has not been received from the server, the application continues to poll the future result object at an interval of time after the previous poll. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer readable storage medium having instructions stored thereon which when executed by one or more processors cause a system to:
-
generate a web service request in a first thread by an application residing on a client in a distributed network; create a future result object to allow the first thread to be released and creating a task, wherein said future result object being stored on the computer readable storage medium; schedule the task to a thread pool by the client wherein the task includes transmitting the web service request by the client to a web service residing on a server; assign a second thread to process the task scheduled by the client, wherein the task handles invoking the web service request; release the first thread such that said application is enabled to perform one or more other tasks while the web service request is carried out, wherein said one or more other tasks are executed independently of a result of said web service request; process the web service request by the web service residing on said server and obtaining the result of said web service request, the result of said web service request relating to the web service request passed by the application residing on the client, wherein the task sets the future result object with the result of said web service request received from the web service; poll the future result object for said result of the web service request by the application to determine if the result of said web service request has been received by the client from the web service; and retrieve said result of the web service request by the application from the future result object upon receiving an indication that said result of said web service request is available, wherein if the future result object indicates that the result of said web service request has not been received from the server, the application continues to poll the fixture result object at an interval of time after the previous poll.
-
Specification