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

Michael Gerlich MichaelGerlich at gmx.de
Sun Jul 27 09:29:40 UTC 2008


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 




More information about the moby-l mailing list