W3C home > Mailing lists > Public > www-ws-desc@w3.org > February 2004

Re: Version attribute for WSDL

From: Prasad Yendluri <pyendluri@webmethods.com>
Date: Tue, 17 Feb 2004 17:31:13 -0800
Message-ID: <4032C061.5080701@webmethods.com>
To: www-ws-desc@w3.org


David Orchard wrote:

> Creating a URI from the namespace name and version is not messing with 
> the namespace URI.

I did not suggest that at all. My response is based on William's note 
below, the text around "Yes, I fully agree with doing this in the URI 
that represents the namespace." I interpreted that to mean changing the 
namespace URI. If we are not, I have no issue (on that).

> It's about having a normative way of generating a URI from a base URI, 
> in this case an NS URI, and a secondary resource identifier, in this 
> case a version identifier.  We could use #, ;, / to separate.  Just 
> depends on whether you want the server to see the secondary resource 
> identifier or not.  This seems like a new symbol space to me...
>  
> This is all completely valid and expected within the web and web 
> services architecture..
>  
> Dave
> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]On 
> Behalf Of Prasad Yendluri
> Sent: Tuesday, February 17, 2004 4:53 PM
> To: www-ws-desc@w3.org
> Subject: Re: Version attribute for WSDL
>
>     Messing with the namespace URI (and effectively changing
>     namespace) for versioning seems undesirable to me.
>     I like to keep version a separate attribute distinct from the
>     namespace and actually I prefer that it be a +ve numerical.
>     A higher value representing a younger (subsequent) version than
>     the lower valued one. Also IMO we
>     must clearly define the semantics of this attribute lest we end up
>     creating another area of confusion.
>     The following semantics look good to me.
>
>The version attribute indicates a "minor" revision of the definition or
>interface. Specifically, a "minor" revision indicates that a client using
>a WSDL with a version attribute less-than the current value is expected
>to continue to function.
>
>     In essence I am for Tom's (2nd) proposal below except the approach
>     suggested in example 2. When an incompatible change is made,
>     it should be left up to the WSDL writer to decide how to change
>     the namespace URI rather the spec dictating it.
>
>     I don't quite understand the issue with defaulting the version to
>     "1" if not set explicitly however...
>
>     Regards, Prasad
>
>     -------- Original Message --------
>     Subject: 	RE: Version attribute for WSDL
>     Resent-Date: 	Fri, 13 Feb 2004 18:49:15 -0500 (EST)
>     Resent-From: 	www-ws-desc@w3.org
>     Date: 	Fri, 13 Feb 2004 15:48:53 -0800
>     From: 	Vambenepe, William N <vbp@hp.com>
>     To: 	David Orchard <dorchard@bea.com>, <paul.downey@bt.com>,
>     <tomj@macromedia.com>, <www-ws-desc@w3.org>
>
>
>My mistake, I thought you were suggesting doing URI tricks inside a
>"version" attribute that would be of type URI. Yes, I fully agree with
>doing this in the URI that represents the namespace. This is what I
>meant in a previous email: "maybe what we need instead is an optional
>convention on how to build interface QNames that convey versioning
>information. Whether that convention belongs in the WSDL spec is another
>question...""
>
>So +1 from me that this is the right approach. I am not sure this group
>needs to specify that, but it's fine by me if many people want it in our
>spec.
>
>William
>
>> -----Original Message-----
>> From: www-ws-desc-request@w3.org 
>> [mailto:www-ws-desc-request@w3.org] On Behalf Of Vambenepe, William N
>> Sent: Friday, February 13, 2004 12:41 PM
>> To: David Orchard; paul.downey@bt.com; tomj@macromedia.com; 
>> www-ws-desc@w3.org
>> Subject: RE: Version attribute for WSDL
>> 
>> 
>> > 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.
>> 
>> Why not play that trick on the URI part of the QName of the interface?
>> 
>> William
>> 
>> > -----Original Message-----
>> > From: www-ws-desc-request@w3.org 
>> > [mailto:www-ws-desc-request@w3.org] On Behalf Of David Orchard
>> > Sent: Friday, February 13, 2004 12:13 PM
>> > To: paul.downey@bt.com; tomj@macromedia.com; www-ws-desc@w3.org
>> > Subject: RE: Version attribute for WSDL
>> > 
>> > 
>> > Ah Paul,
>> > 
>> > I had earlier thought about using URIs for the "minor" 
>> > version # and the problem of multiple nested versions and you 
>> > are probably right about the problem of increasing minor versions.  
>> > 
>> > Tell me though, is 3.3 compatible with 3.2.1.1?  I would 
>> > assume they would have to be.
>> > 
>> > 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.
>> > 
>> > 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: Friday, February 13, 2004 10:02 AM
>> > > To: dorchard@bea.com; tomj@macromedia.com; www-ws-desc@w3.org
>> > > Subject: RE: Version attribute for WSDL
>> > > 
>> > > 
>> > > 
>> > > I like this too, especially the defaulting on extension.
>> > > 
>> > > My small concern is using the integer to indicate the relationship
>> > > between versions precludes branches, unless we allowed a  SCCS/RCS/CVS 
>> > > style numbering system, e.g:
>> > > 
>> > > 1 -> 2 -> 3 -> 4 -> 5 
>> > >           |
>> > >           +-> 3.1 -> 3.2 -> 3.3 
>> > >                      |
>> > >                      +-> 3.2.1
>> > >                          |
>> > >                          +-> 3.2.1.1 
>> > > 
>> > > i imagined the proper W3C way would be to use a URI for the 
>> > > version and 
>> > > relate them using syllogisms ?
>> > > 
>> > > Paul
>> > > 
>> > > 
>> > > -----Original Message-----
>> > > From: www-ws-desc-request@w3.org 
>> > [mailto:www-ws-desc-request@w3.org]On Behalf Of David Orchard
>> > > Sent: 13 February 2004 17:47
>> > > To: 'Tom Jordahl'; www-ws-desc@w3.org
>> > > Subject: RE: Version attribute for WSDL
>> > > 
>> > > 
>> > > I like this as a strawman.  And the idea of not inheriting the version
>> > > attribute makes a certain sense too, as it requires the "extender" to make a
>> > > conscious decision.  Though defaulting to "1" does have the problem that the
>> > > extender might not be compatible.  If there were some way in the "extension"
>> > > of knowing that the extensions could be ignored, then "1" makes sense.
>> > > 
>> > > cheers,
>> > > Dave
>> > > 
>> > > > -----Original Message-----
>> > > > From: www-ws-desc-request@w3.org 
>> > > [mailto:www-ws-desc-request@w3.org]On Behalf Of Tom Jordahl
>> > > > Sent: Friday, February 13, 2004 7:06 AM
>> > > > To: 'www-ws-desc@w3.org'
>> > > > Subject: RE: Version attribute for WSDL
>> > > >
>> > > >
>> > > > I guess I understand the desire to have "real" versioning support in WSDL
>> > > > 2.0.  I do too. But my proposal came out of the F2F, where we had a long,
>> > > > and I believe fruitless, discussion about all of this.
>> > > >
>> > > > I do not believe we can have a section in our specification about versioning
>> > > > and say "if you want versioning, change the namespace". With a small
>> > > > addition to the syntax, we can give users some help in managing change in
>> > > > their web services.
>> > > >
>> > > > I am willing to apply semantics to the version attribute if this group
>> > > > thinks that they can move forward in a productive way.  How about these
>> > > > changes as a straw man for discussion:
>> > > >
>> > > >  - The version attribute is part of the infoset (a.k.a. the component model)
>> > > >
>> > > >  - The version attribute has type xsd:positiveInteger
>> > > >
>> > > >  - The version attribute has a default value of 1.
>> > > >
>> > > >  - The version attribute indicates a "minor" revision of the definition or
>> > > >    interface. Specifically, a "minor" revision indicates that a client using
>> > > >    a WSDL with a version attribute less-than the current value is expected
>> > > >    to continue to function.
>> > > >
>> > > >  - When an interface extends another interface, the version attribute of the
>> > > >    interface is NOT inherited - it must be explicitly set on the interface,
>> > > >    and if is not, the interface has the default version attribute (1).
>> > > >
>> > > > Example 1: Version 1 of my interface has two operations. I release a new
>> > > > WSDL that adds a third operation, and change the version attribute to 2.
>> > > > Clients who are using the previous version of the WSDL continue to function.
>> > > >
>> > > > Example 2: My WSDL has a purchase order type defined and a target namespace
>> > > > of "http://example.org/myservice".  I change my purchase order to include
>> > > > several new elements and rename some of the old ones.  Since this change
>> > > > will break compatibility, I change the target namespace to
>> > > > "http://example.org/myservice/v2".  My service can now easily tell the
>> > > > difference between clients that are using the original WSDL
>> > > > and the new one.
>> > > >
>> > > >
>> > > > --
>> > > > Tom Jordahl
>> > > > Macromedia Server Development
>> > > >
>
>    
>
>
Received on Tuesday, 17 February 2004 20:31:15 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:15:02 UTC