RE: Version attribute for WSDL

By "not restrict", i meant i'd prefer something more flexible: "string" or "URI".

My concern with leaving the relationship between versions to simply "something else" is the example Amy gave sometime ago, whereby a client picks up WSDL from a registry for a given namespace expecting an operation "foo", but is given a version in which "foo" is not defined. 

So looking for the 80/20 point, how about:

1) /newer/ versions of a WSDL published for a given namespace *must* be backwards compatible with all /earlier/ versions published within the namespace.

2) some clarity about what constitutes an /earlier/ version.

For rule (2) Tom's suggestion of an integer would resolve this, but i'm concerned about branching and Prasad's point whereby the interface is a tModel implemented by more than one party. 

So i suggest:

  - a URI for the 'version' attribute.

  - a WSDL may include a list of earlier version URIs with which it is backwards compatible with.

Paul



-----Original Message-----
From: David Orchard [mailto:dorchard@bea.com]
Sent: 17 February 2004 20:27
To: Downey,PS,Paul,XSJ67A C; tomj@macromedia.com; www-ws-desc@w3.org
Subject: RE: Version attribute for WSDL


When you say "not restrict", do you mean make it an arbitrarily extensible element, or do you mean an "string" attribute?  I could live with a string attribute, but I'm very leery about defining a structure as canonicalizing structures for comparison is harder than string comparison.

Also, is there an 80/20 point that we can hit here?  Maybe we leave as string and then let the applications decide the relationship between 3.2.1.1 and 3.3.
I think you are suggesting that but the implication that something else might describe the compatibility guarantees..

Dave

> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]On
> Behalf Of paul.downey@bt.com
> Sent: Tuesday, February 17, 2004 8:23 AM
> To: David Orchard; tomj@macromedia.com; www-ws-desc@w3.org
> Subject: RE: Version attribute for WSDL
> 
> 
> 
> David Orchard wrote:
> > Tell me though, is 3.3 compatible with 3.2.1.1?  
> > I would assume they would have to be.
> 
> I think they'd both have to be backwards compatible within 
> the same ancestry, but maybe 3.2.1.1 has added items not 
> described in 3.3. 
> 
> > I wonder if we could play some magic trick and say that the minor 
> > version is a relative URI from the namespace name, and then the 
> > "match" could be of the strings.  A nice use of URIs for 
> comparison imo.
> 
> that's an interesting idea and maybe could provide scope for 
> some minimal branching if required. The downside is it's not 
> easy to express when branches are merged, e.g.
> 
> http://example.com/Service/
> http://example.com/Service/HttpBinding
> http://example.com/Service/HttpBinding/deleteOperation
> http://example.com/Service/HttpBinding/deleteOperation/updateOperation
> http://example.com/Service/HttpBinding
> http://example.com/Service/MQBinding/deleteOperation
> http://example.com/Service/MQBinding/deleteOperation/updateOperaion
> http://example.com/Service/Http+MQBinding/deleteOperation/upda
teOperation

So i think 'version' should uniquely describe the version of the document within the namespace and something else should describe with which previous versions the interface is backwards compatible with.

Also my preference is to not restrict the contents of version or make it an 'integer'.

Paul


-- 
Paul Sumner Downey
Web Services Integration
BT Exact

Received on Thursday, 19 February 2004 07:06:02 UTC