Uploaded image for project: 'Jalview'
  1. Jalview
  2. JAL-715

user-configurable REST service client



    • Epic Name:


      Many bioinformatics algorithms are only easily applied through their own web server, since groups often lack the manpower or resources to provide rigorous programmatic interfaces. Additionally, it is often easier for a service implementer to provide clients that programmatically interact in the same way as the user when operating their web interface. A 'form filling and result gathering' client built in to Jalview would enable developers, and eventually users, to access such servers from Jalview.

      Implementing this feature touches on a number of issues. Up until Jalview 2.6.x, Jalview's web service clients have all been pre-compiled declarative routines; that is, each service's inputs and outputs were known in advance, and special functions were written to provide exactly the right kind of data for the service to operate, and to parse the resulting data/objects and present them to the user. A user configurable service, on the other hand, needs to be dynamic, if not also general and extensible, enabling the user to specify what the input data needed by a service is at the time the service is used, so Jalview can gather the appropriate data from the context where the user invoked the service. The results returned by the service may also be fluid - and the client needs to act accordingly.. for instance: only creating a new alignment if the input alignment has not been modified or a new alignment has been returned by the server.

      As a first pass for this kind of service, the implementation will be aimed at servers that already include some kind of Jalview visualization capability. All a user needs to do is create a service definition specifying the types of input data, and indicate what type(s) of result data should be available from the service. An additional return type will also be allowed - 'a packed data set' - which is a series of Jalview datafiles packed into a mime message, which will enable servers to return arbitrary results that will be mapped back onto the input data's original context in jalview.


          Issue Links



              jprocter James Procter
              jprocter James Procter
              0 Vote for this issue
              1 Start watching this issue