[MOBY-dev] MOBY 0.49 API online... nearly stable!

Martin Senger senger at ebi.ac.uk
Thu Apr 3 17:05:58 UTC 2003


Mark,
   Here is the first part of my comments to the API. I will put the next
parts (if any) directly into the biomoby.twiki.

   I strongly encourage other people to look at the API presented by Mark 
- he is right that *now* is the best time to influnce it. And also to have 
more ideas and points of view in the design phase is extremely useful.

   Cheers,
   Mrtin

-- 
Martin Senger

EMBL Outstation - Hinxton                Senger at EBI.ac.uk     
European Bioinformatics Institute        Phone: (+44) 1223 494636      
Wellcome Trust Genome Campus             (Switchboard:     494444)
Hinxton                                  Fax  : (+44) 1223 494468
Cambridge CB10 1SD
United Kingdom                           http://industry.ebi.ac.uk/~senger

-------------- next part --------------
"In BioMOBY, there are three catagories of input/output parameters..."

   Suggestion: call in consistentlly 'input/output data' (as also used
   in other places of the APi document(

"There are two forms of Primary parameter (...Simple...Collection)"

   It confuses me. Does it mean that a service can have more input
   parameters, each of them can be a collection? In that case why do
   you allow to have different types in one collection? Or does it
   mean that a service can have only (zero or) one primary parameter
   which can be a collection? In such case the variatey of element types
   is reasonable.

"There is currently only one form of Secondary input"

   Can a service have more that one secondary input? It should
   have. Why there is no collection of them? Generally speaking, I
   would not make difference between primary and secondary data (or
   parameters, whatever you decide to call them) in their structures. The
   difference should be in their usage (for example, the secondary data
   are not used for the service discovery). Why not to make it simpler
   and why not to have the same structure for both - with just a single
   attribute specifying this is primary and this is secondary?

Everything what was said about the input parameters/data above, should
be said and allowed also for outputs.

Attribute parameterName="..."

   If there is only one collection of simple parameters allowed, it
   does not need to be named (because its elements are). If there are
   more collections allowed, they should have elements of the same type
   and therefore they do not need to be named. This is, however,
   related to my comments above (sorry for repeating it here).

Query Ojbect - typo

"the authority (service provider URI)"

   I suggest to use consistently only one term (authority, service
   authority, provider, service provider,...).

"expandObjects: this flag will cause MOBY Central to traverse the
Class ontology to find services that operate not only on the Object
Class you are querying, but also any parent types or sub-objects of
that Object Class."

   Are you sure that this is correct? It seems to me that using this
   flag will return *all* services because all data types inherit from a
   base type 'Object'. So a service operating on 'Sequence objects'
   operates also on 'Object'. But perhaps it's enough to say where the
   traversal ends.

"The Query object structure is as follows:
   <inputObjects>
      <Input>
         <!-- one or more Simple or Complex Primary Parameters -->
   </Input>"

   Do I really need to include the whole Parameter definition? On
   another place the API says that I can query "by name from the Class
   ontology". It seems better to me.

   The same applies probably for the 'Service List Response
   Object'. Does this include name of data types or its whole
   structure?

"registerService...all elements except secondaryParameter are required"

   Why? I can imagine a service without any inputs (or using only
   default inputs). For example, "show me, what you have".

"findService
    * There are additional details..."

   Missing link with additional details.

"Output XML (by category):
     moby: 
         <Service>
              <![CDATA[WSDL document here]]..."

   A WSDL document is a valid XML piece - therefore is there any
   reason why to wrap it in a CDATA? We had this discussion already
   about embedding the XSD and it seemed to be resolved. You may
   remember that CDATA around the XML document may cause interoperability
   problems.

"ISA"

   Why not to have similar method for service hierarchy, not only for
   data type hierarchy?

"deregisterObject...
   <deregisterObject>
      <objectType>your_name at contact.address.com</objectType>
   </deregisterObject>"

   I do not see where I specify what object I am trying to deregister.

"If there is no inherent failure in your request, you will also
receive an email for confirmation. In that email, there will be an
http link that, when visited, will complete the deregistration
process."

   It should be done in a way that is able to automate (I would like
   to have programs to register and deregister). Which means the API
   must be either more precise by saying what "when visited" means, or
   (preferably) it should specify the format of the confirmation mail
   that has to be sent back.

"deregisterServiceType"

   How to deregister a name which occurs in two different branches of
   the service class ontology?



More information about the MOBY-dev mailing list