Version 2 (modified by matthew.pocock, 10 years ago)

--

Martin Async use-cases - SOAPLAB

SoapLab? wraps business logic, described in ACD files. Often, the business logic is implemented as command-line applications. This includes those in Emboss. To support async access, SoapLab? implements  lsae. The implementation of this is documented at the  soaplab2 API, and in particular, the  Analysis class.

Asynchronous invocation is required by SoapLab? as the underlying buisness logic may be long-running, and timeouts may occur in any layer of the transport between client and server.

SoapLab? is open-source (Apache license?).

LSAE supports a full lifecycle for a job.

  • jobID createJob(Map inputs)
  • run(jobID)
  • jobStatus getStatus(jobID)
  • Map getResults(jobID)
  • destroy(jobID)

In the soaplab implementation, a SoaplabMap? is used, which restricts the types of the map values to strings, numbers and binary data.