AsyncWS: A Java library for asynchronous webservices

Download library here
Download documentation here

This library provides a simple mechanism for making you synchronous document based webservices act asynchronously. Bioinformatics methods usually take longer than the default timeout of 300s. Therefore, HOBIT recommends the use of the Request and reply with polling:

First the client side submits a job with the required data (program parameters and data etc.) and immediately gets an id after the job was started which normally takes some seconds (name convention request). Afterwards the client side is able to get the result using this id. If the computation of the program is not finished, the client side gets back a code with enhanced information. Otherwise the result of the call is returned (name convention response). This polling technique completely avoids problems with timeouts.

This technique requires a server component accepting requests and returning an identifier associated with the request, processing them in background, and providing access to status and result information. Generic code is included in the library, that adds this functionality to your webservice by just extending the server component by your (existing) webservice's individual code and updating the wsdl of your service. Additionally, the library contains a client side that hides the polling protocol from the user. Thus, you can call an asynchronous webservice in the same way as a synchronous webservice.

For further information and examples please take a look at the documentation or contact Fabian Gerick.

For using this library you need Axis 1.x.