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

org.embl.ebi.SoaplabShare
Interface AnalysisFactoryWS


public interface AnalysisFactoryWS

An interface to a Web Service that produces a list of available analyses, and provides pointers to them. It is a poor-man's directory service.

The interface uses two similar but not the same entities: an analysis and a service. An analysis is a program that has to be executed and controlled (such as Blast), while service is a Web Service that allows to execute and to controll the analysis. A service is a (usually SOAP-based) wrapper around the analysis.

Last changes (in backwards order)

Version:
$Id: AnalysisFactoryWS.java,v 1.1.1.1 2005/06/15 09:00:19 marsenger Exp $
Author:
Martin Senger
See Also:
AnalysisWS

Field Summary
static java.lang.String SOAPLAB_SERVICE_NAME_DELIMITER
          A string that delimits category name from a service name.
 
Method Summary
 java.lang.String[] getAvailableAnalyses()
          Return an array of names of all available analyses, regardless which category they belong to.
 java.lang.String[] getAvailableAnalysesInCategory(java.lang.String categoryName)
          Return an array of names of all available analyses from the given category.
 java.lang.String[] getAvailableCategories()
          Return an array of names of all available categories.
 java.lang.String getServiceLocation(java.lang.String analysisName)
          Return a location of a web service representing given analysis.
 

Field Detail

SOAPLAB_SERVICE_NAME_DELIMITER

static final java.lang.String SOAPLAB_SERVICE_NAME_DELIMITER
A string that delimits category name from a service name.

See Also:
Constant Field Values
Method Detail

getAvailableCategories

java.lang.String[] getAvailableCategories()
                                          throws SoaplabException
Return an array of names of all available categories. A category is a group of analyses, usually of a similar purpose. Any analysis can belong to more than one category.

Throws:
SoaplabException - if communication with the service fails

getAvailableAnalyses

java.lang.String[] getAvailableAnalyses()
                                        throws SoaplabException
Return an array of names of all available analyses, regardless which category they belong to.

Naming convention: How to name analyses
This service recognizes analyses divided into categories. A full name of an analysis consists of the category name and an analysis name, separated by SOAPLAB_SERVICE_NAME_DELIMITER. For example:
   Classic.HelloWorld
   Reformatting.SeqRet
   Coding_Regions.PlotORF
 
However, an implementation may recognize also names without any category name. It may mean that the given analysis name is looked for in all categories until a match is found.

Throws:
SoaplabException - if communication with the service fails

getAvailableAnalysesInCategory

java.lang.String[] getAvailableAnalysesInCategory(java.lang.String categoryName)
                                                  throws SoaplabException
Return an array of names of all available analyses from the given category. The returned names contain also the category name (see naming conventions).

Throws:
SoaplabException - if communication with the service fails or more specifically (see defining exceptions) using:
fault string AnalysisWS.FAULT_UNKNOWN_NAME if given categoryName does not exist

getServiceLocation

java.lang.String getServiceLocation(java.lang.String analysisName)
                                    throws SoaplabException
Return a location of a web service representing given analysis. The analysisName should comply with the naming conventions. The returned value is a URL containing a location of a service that complies with the interface AnalysisWS.

Discussion:

Is the location sufficient? Perhaps we need also a name space of the service? If yes, we may introduce a convention how to put it into the returned URL...

Throws:
SoaplabException - if communication with the service fails or more specifically (see defining exceptions) using:
fault string AnalysisWS.FAULT_UNKNOWN_NAME if given analysisName does not exist

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

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