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

RE: Version attribute for WSDL

From: Vambenepe, William N <vbp@hp.com>
Date: Thu, 19 Feb 2004 11:28:09 -0800
Message-ID: <9DC1D5F9216FF243B4530779A4AD57627A66FD@cacexc04.americas.cpqcorp.net>
To: "Prasad Yendluri" <pyendluri@webmethods.com>, <www-ws-desc@w3.org>
David, in your proposal, you suggest to create a URI based on the
namespace URI of the "older" interface. That sounds good, but where does
this URI go? First I assumed you meant it goes in an attribute of type
anyURI that we would add to interface, and I replied to you that this
URI should go as the namespace URI for the "newer" interface instead.
Then I re-read your text and I thought maybe this is what you meant all
along. Now I am confused again. Can you please clarify where in the WSDL
you would put the "versioned" URI? As the namespace of the "newer"
interface or not.
 
Prasad, I don't see what the problem is with creating a new namespace
URI by using a previous namespace URI as a base.
 
William
 

	-----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 5:31 PM
	To: www-ws-desc@w3.org
	Subject: Re: Version attribute for WSDL
	
	


	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> <mailto:vbp@hp.com> 	
To: 	David Orchard <dorchard@bea.com> <mailto:dorchard@bea.com> ,
<paul.downey@bt.com> <mailto:paul.downey@bt.com> , <tomj@macromedia.com>
<mailto:tomj@macromedia.com> , <www-ws-desc@w3.org>
<mailto: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"
<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"
<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 Thursday, 19 February 2004 14:28:12 UTC

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