Generated: Sun Oct 7 15:19:11 BST 2007

SoapLab - WebService for invoking remote analyses

An interface to a Web Service accessing and controlling an analysis (an analysis is a remote program, mostly a command-line program).

See:
          Description

Packages
org.embl.ebi.analysis  
org.embl.ebi.SoaplabServer.gowlab  
org.embl.ebi.SoaplabShare  

 

An interface to a Web Service accessing and controlling an analysis (an analysis is a remote program, mostly a command-line program).

The main interface is AnalysisWS. A supplementary interface AnalysisFactoryWS should be replaced in the real and ready word by some discovery (naming, trading) service.

Additionally, for the Gowlab sub-project, there are plug-in interfaces RunPlugIn and DataAdaptPlugIn. Usage of both these interfaces are described more detailed in Gowlab plug-ins. There are also several basic implementations of RunPlugIn inteface:

Usage scenarios
There are several scenarios how and what methods to use (see details by method descriptions). These scenarios differ mainly because of the "state-fullness" or "state-lessness" service implementation. Some implementations may provide only some of these scenarios.

Notification negotiation and notification channels
A running job changes its state and the user may be interested in being notified about these changes. A prominent change in the job life-cycle is, of course, when the job terminates (either by an error or by the user request). The AnalysisWS interface provides two ways how to pass information about job changes to the clients: method AnalysisWS.getLastEvent(java.lang.String), or using a notification channel.

The method AnalysisWS.getLastEvent(java.lang.String) must be invoked by the client, and it informs about the latest job status or job status change.

The notification channel is more complex (and more powerful) way. However, the implementation may decide not to provide it at all. It uses another service to transport event messages (which may involve things like setting an expiration time, secure channels, or postponed and re-tried deliveries etc.). All you need to know about a notification channel is defined in a channel descriptor (an XML string whose DTD yet to be defined). There are the following ways how to get and use notification channels:

Events describing running analyses
The chapter above described how to exchange messages. This chapter tells what is being exchanged - it is about the contents of the event messages.

The events are expressed as short XML strings. The DTD describing the events is simple and extendible in order to include provider-specific events. Here are some examples of various events:

  • AnalysisEvent_test.xml (see it as text) (a general event)
  • AnalysisEventHeartbeat_test.xml (see it as text)
  • AnalysisEventPercent_test.xml (see it as text)
  • AnalysisEventStateChanged_test.xml (see it as text)
  • AnalysisEventStep_test.xml (see it as text)
  • AnalysisEventTime_test.xml (see it as text)
  • AnalysisEventHeartbeat_test.xml (see it as text) (an example of an extended event)
  • Defining exceptions
    Any Web Service call can raise an exception (fault). They can be defined by the fault code, fault string, fault actor and fault details. This interface will use the following rules to deliver details about any exception:
    Last modified: Thu Apr 8 10:19:41 2004


    Generated: Sun Oct 7 15:19:11 BST 2007

    Submit a bug or feature
    Generated: Sun Oct 7 15:19:11 BST 2007