[MOBY] [MOBY-l] Interpreting results from Service->execute()
José María Fernández González
jmfernandez at cnb.uam.es
Wed Mar 17 18:13:01 UTC 2004
>
> In fact, I just figured this out. There must be an easy way to find out
> the required input/output for a service. In my ignorance, I resorted to
> going to that MOBY-S web-page that lets you select input data types,
> then shows what services accept that type. I selected each protein type
> in sequence, until I found your services. But since there are at least
> half a dozen different protein ID systems, it gets complicated. I guess
> I could have written a script to iterate through them all, then iterate
> through the services I'm interested in, to find one that works. But
> shouldn't it be possible, once I know which service I'm interested in,
> to figure out what input it's looking for? I'm thinking specifically in
> terms of finding out what are the acceptable namespaces. Of course, I'm
> sure it is possible (wouldn't it be in the WSDL?) - anyone care to point
> me to a description of this? :)
Well, my preferred technique (for humans) is using the Ken Steube's
"Service Instance Encyclopedia", which distills the list of services
into a HTML using a CGI.
http://plantsp.sdsc.edu/plantsp/cgi-bin/MOBY/list.services.cgi
Obviusly, you can do it yourself using the available methods
'retrieveServiceNames' and 'findService' in MOBY::Client::Central
object, if you are using Perl libraries.
>
>> But it is true, there are two bugs: one related to signal an invalid
>> namespace, and other related to say 'no output'. I'm fixing them since
>> now.
>>
>>>
>>> The simpler answer might be that the service isn't working properly ;-)
>
I think there should be a common way to tell the most common errors,
like an unrecognized namespace or an empty output.
>
> This raises an issue that would seem to increase in importance as the
> number of available services increases: if a service either doesn't work
> properly (someone puts it up prematurely, for example), or doesn't work
> at all (it worked a while ago, but something broke, and nobody is fixing
> it), how are service consumers to know? This is especially true if the
> response for unrecognized input data is simply an empty message. Should
> there be a meta-service, that rates the other services in terms of
> reliability, percentage time that it's up, length of service, or other
> criteria? I'm not imagining that it would "Service A is much better than
> Service B", merely that "Service C was last reported working
> successfully on January 19, 2002." or "Service D has responded to 97% of
> all requests in the last week." Maybe there is something like this already?
>
<perhaps off-topic?>
The same problem is out there since years for CGI's. Some biological
'classical' web services are maintained by a team, but the input and
output formats change, breaking all the programs which use it (I had
some nasty experiences when I built a meta-threading server 3~4 years
ago). Some other services remain working until they break, because they
were built for a project which finished some years ago. The surviving
ones are: 1) the most successful ones 2) those ones with support (money
to pay a maintainer).
</perhaps off-topic?>
Perhaps, the only way to tackle a piece of this problem is periodically
doing some tests on the service. Some of them could be generic, like
sending an ill-formed input or a correct object belonging to an
incorrect namespace. The others should be provided by the service
creator: two or three input objects which should give the same output.
Obviusly, many services will not have a deterministic output, because
they are based on a changing database, for instance. But for these cases
the service creators could notify 'our service is still alive!'.
You know, there is no easy way!
Best Regards,
José María
--
José María Fernández González e-mail: jmfernandez at cnb.uam.es
Tlfn: (+34) 91 585 46 69 Fax: (+34) 91 585 45 06
Grupo de Diseño de Proteinas Protein Design Group
Centro Nacional de Biotecnología National Center of Biotechnology
C.P.: 28049 Zip Code: 28049
Campus Universidad Autónoma. Cantoblanco, Madrid (Spain).
More information about the moby-l
mailing list