Re: proposal for restricting a service to a single interface

On Mon, 21 Apr 2003, Steve Tuecke wrote:
> -1
>
> By placing this restriction, you are prohibiting two important uses of WSDL
> 1.2 that we in the Globus Project are planning.
>
> 1) Since the <port> contains the endpoint address (i.e. location), this
> rule prohibits me from implementing different endpoint addresses for
> different interfaces of a service.  For example, suppose I have an
> interface that is the composition (i.e. extension) of a management
> interface and a functional interface.  I might want bindings and <port>s
> that point to different endpoints for each of these interfaces.  For
> example, I might want a single management interface endpoint, but
> replicated, geo-located functional interface endpoints.
>
> 2) We want to write optimized, but perhaps not generally applicable,
> bindings.  For example, I would like to write high-performance bindings
> that only works for a very limited subset of XSD types (e.g. to improve
> encoding efficiency). By placing this restriction, you are now forcing me
> to place such an interface with its optimized binding in a completely
> separate <service> element.
>
> Stated more abstractly...  This binding level restriction impinges on my
> interface composition freedom.  I can no longer compose interfaces (through
> interface extension) simply because they make sense in the modelling of a
> service, but must instead be cognizant of the binding details when deciding
> whether to compose the interface or not. In OGSI-land we fully expect the
> people who define interfaces to be separate from those who define the
> bindings, which makes this breakage of encapsulation particular onerous.

The address and transport are specified by the binding,
though, and not by the core WSDL spec per se.  Thus, it
seems that one could define a binding that allowed the
transport and address to be specified per interface or even
per operation.  I'm not sure what all the implications of
this would be, though.

(Of course, the SOAP binding already specifies the transport
per-interface, though I don't know if it's been defined yet
how this relates to interface inheritance.)

Received on Thursday, 24 April 2003 12:07:19 UTC