2009/5/19 Stian Soiland-Reyes <[email protected]>:
> On Tue, May 19, 2009 at 07:18, Andrew Clegg <[email protected]> wrote:
>
>> describes four distinct services, but in Taverna they're only referred
>> to by the WSDL and the operation. In this case the problem is
>> particularly emphasized because each of the services -- by design --
>> supports the *same* operation with the *same* parameters. (They are
>> different prediction algorithms which each expose the same interface.)
>
> I would say that if they are different prediction algorithms, they are
> different operations. :-)  (unless they end up with the same
> answer..?)

Nope... It's analogous to an interface with different implementations
in an OO language. A client written to the common WSDL spec can talk
to any of the services just by changing endpoints. And new services
can be added with minimal extra work.

We *could* put them in different WSDL files, and maintain these by
hand, but that would feel like introducing duplication... And going by
what WSDL file a service is described in, seems like a hacky way to
identify/describe that service and its operations.

> We can argue if it's good design or not to have several port types
> with the same operation name inside, as I guess this could be
> troublesome for many other clients as well.

Hasn't been a problem with any we've tried, although we're only
claiming to support WS-I BP-compliant tools. I think the EMBRACE
Registry gets a little confused, but that's only a stopgap.

>> Is this intentional? If so, it seems a bit strange -- multiple-service
>> WSDLs are schema-valid, and compliant with the WS-I interop
>> guidelines. And the URL of a WSDL file is surely an entirely arbitrary
>> construct that doesn't really describe what's in it. The URI of each
>> service in the WSDL would be a better discriminator, right?
>
> No, the binding address would be much worse as a discriminator,

I didn't mean that but you've seen my next mail with the correction by now :-)

> I think a good discriminator would be wsdl location, port type and
> operation name.

Using the WSDL location still seems odd. It implies that a service
imported from a locally-cached WSDL is a different entity from the
same service described in the same WSDL read from a remote URL.

> I've forwarded this also to the biocatalogue team as BioCatalogue seem
> to fail to parse http://funcnet.eu/soap/CodaCath.wsdl

I reported this to them earlier too, but I think it's different as it
has a problem with another one of ours with only a single service
element.

Andrew.

-- 
:: http://biotext.org.uk/ ::

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
taverna-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/taverna-users
Documentation: http://www.mygrid.org.uk/usermanual1.7/
FAQ: http://www.mygrid.org.uk/wiki/Mygrid/TavernaFaq
Biological Services: http://www.mygrid.org.uk/wiki/Mygrid/BiologicalWebServices

Reply via email to