W3C home > Mailing lists > Public > www-ws-desc@w3.org > September 2006

Re: Multiple ports in a WSDL 1.1 service equivalent in WSDL 2

From: Jacek Kopecky <jacek.kopecky@deri.org>
Date: Wed, 27 Sep 2006 11:59:30 +0200
To: Gavan W Hood <gwhood@ra.rockwell.com>
Cc: www-ws-desc@w3.org
Message-Id: <1159351170.30354.195.camel@localhost>

Hi Gavan, I'm not sure if anybody replied before me, but it seems not to
be the case.

If what you want is to "have some operations in a service that are
represented on a message queue and others that are represented on http
connection and both are integral parts of the service", WSDL 2.0 Service
really won't support your use case.

This was discussed a lot some time ago, and the discussions always came
down to what it means for "both to be integral parts of the service". In
WSDL 1.1 it wasn't clear what the relation is between multiple ports of
one service, and especially whether ports with the same port type are
meant to be interchangeable or not. So from a human point of view, the
WSDL 1.1 Service was more powerful, but the machine could do less with
it.

In WSDL 2.0 we decided to make it so that all endpoints (nee ports) in a
service are meant to be different doorways towards the same service, so
you can choose any of them depending on the binding they support and the
address where they are available. An example I like to use is a publicly
accessible internet address over HTTPs, and a local intranet address
over plain HTTP because the security of the intranet network can be
trusted whereas outside we need the encrypted channel.

If you have different interfaces (nee portTypes) that are all provided
by a single "service", WSDL can't usefully describe their relation, so
for WSDL they are really two different services, and extension
properties or semantic annotations can be used to indicate the
relationship.

Hope this helps,

Jacek

On Fri, 2006-09-01 at 18:21 +1000, Gavan W Hood wrote:
> 
> I would like clarification on a basic feature of WSDL 1.1 to WSDL 2
> evolution. 
> 
> In 1.1 there is a neat representation that allows multiple ports (that
> are instances of abstract porttype definitions )to be represented
> within a service. 
> It appears to me that in  WSDL 2 that port type is now represented as
> interface. 
> I note that  the association of interface to service is 1:1 as
> interface reference is an attribute of the service element. 
> In 1.1 Ports were elements so you could represent multiple ports with
> the service... which has significant benefit. 
> For example you may have some operations in a service that are
> represented on a message queue and others that are represented on http
> connection and both are integral parts of the service. 
> 
> In 1.1 the ports established this relationship quite nicely, in WSDL 2
> you cannot do this within the spec as far as I can tell. There is talk
> of supporting multiple interfaces and binding operations but neither
> appears to be core functionality and will not be supported. The
> questions on multiple interfaces seem to be related to the problem I
> think I can see (I may be wrong). 
> As there are WSDL 1.1 to WSDL 2 converters I would assume this issue
> has been resolved and I am just misinterpreting the text. 
> 
> I naively think that you could get around this by allowing multiple
> bindings of interfaces within a service, something closer to the
> Port / PortType constructs. 
> I can see this being an area that will receive more attention as SOA
> evolves. 
> 
> Can you please explain to me how I will represent this functionality
> using core constructs like I would in WSDL 1.1 please. 
> 
> Regards 
> Gavan Hood 
> 
> 
> 
> 
Received on Wednesday, 27 September 2006 09:59:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:41 GMT