[MOBY-l] Usage of Array Types and/or Collection

Edward Kawas edward.kawas at gmail.com
Mon Jul 28 14:09:35 UTC 2008


Hi Michael,

In Taverna, you can tell the service to either execute the service (that
consumes a collection) one at a time for each item in the collection or all
at once
(http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Java/docs/taverna/guide/i
ndex.html#faq5).

Basically, Taverna breaks apart collections for you if you pass one to a
service that doesn't consume one (done in the background). This is
intentional so that we can have even more interoperability between moby
services regardless of the type of input (simple | collection).

People tend to use collections whenever your service requires all the data
in the collection to be invoked and not when they want to invoke the service
x times per entry in the collection.

Thanks,

Eddie


-----Original Message-----
From: moby-l-bounces at lists.open-bio.org
[mailto:moby-l-bounces at lists.open-bio.org] On Behalf Of Michael Gerlich
Sent: July-27-08 2:30 AM
To: moby-l at biomoby.org
Subject: [MOBY-l] Usage of Array Types and/or Collection

Hi all,

I encountered some sort of strange behaviour when working with Biomoby 
Services trough Dashboard and Taverna.

When a serviece consumes an array, then you've got the possibility to add 
multiple entries to this array via dashboard's simple client and these green

"+" signs. The xml output also shows that this array element has several 
child elements according to your inputs.
So the service get's invoked one time with the complete list/array (and 
collection has been disabled when registering the service).

If I try to invoke this service via Taverna, I can also add multiple inputs,

but this time the service doesn't get called one time, but e.g. 8 times if 
your array consisted of 8 entries (that makes 8 single input fields in 
Taverna).
I also can see that the xml output created by Taverna shows 8 different 
inputs/outputs to the moby service instead of the one dashboard gave.

Now, after creating another service that didn't used an array, but just a 
single field of that array and marked collection, things a vice versa.
Taverna allows that the inputs get stacked up as a list and the service is 
called only one time, while in dashboard through using only one field, there

is also only one input without the ability to add more entries.

Is this strange or is this behaviour wanted?
Also Taverna can parse the different Biomoby inputs/outputs - is there some 
kind of switch to say "add them all as array to make a single input or call 
to the service?

In addition, could somebody tell me when it's right to choose an array as 
input and when it's better to activate "collection" when registering a 
service?
Is it appropriate to always check collection when dealing with arrays or 
some sort of multiple inputs?


Best wishes,

Michael 

_______________________________________________
moby-l mailing list
moby-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/moby-l




More information about the moby-l mailing list