OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

trans-ws message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Versions in web services/schema namespaces






All,

Following the issue raised yesterday by Gerard on versioning the namespace,
below is a quick tour of some namespaces already out there:

UDDI Types v2 (XSD): urn:uddi-org:api_v2
UDDI Inquiry v2 (WSDL): urn:uddi-org:inquiry_v2
UDDI Publication v2 (WSDL): urn:uddi-org:publication_v2
ebXML Messaging Service (XSD):
http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd
UBL Datatypes v1Beta (XSD): urn:oasis:names:tc:ubl:DataTypes:1:0-beta
WSSecurity SOAP message security v1.0 (XSD):
http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd

http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd

That having been said, some of the older, more mature standards tend not to
have versions in them.  For example, take a look at this extract from the
WSDL spec.  Only the XML Schema namespace has any concept of version (based
on time rather than a rev number).
                                                                                                   
 prefix  namespace URI                                definition                                   
                                                                                                   
 wsdl    http://schemas.xmlsoap.org/wsdl/             WSDL namespace for WSDL framework.           
                                                                                                   
 soap    http://schemas.xmlsoap.org/wsdl/soap/        WSDL namespace for WSDL SOAP binding.        
                                                                                                   
 http    http://schemas.xmlsoap.org/wsdl/http/        WSDL namespace for WSDL HTTP GET & POST      
                                                      binding.                                     
                                                                                                   
 mime    http://schemas.xmlsoap.org/wsdl/mime/        WSDL namespace for WSDL MIME binding.        
                                                                                                   
 soapenc http://schemas.xmlsoap.org/soap/encoding/    Encoding namespace as defined by SOAP 1.1    
                                                      [8].                                         
                                                                                                   
 soapenv http://schemas.xmlsoap.org/soap/envelope/    Envelope namespace as defined by SOAP 1.1    
                                                      [8].                                         
                                                                                                   
 xsi     http://www.w3.org/2000/10/XMLSchema-instance Instance namespace as defined by XSD [10].   
                                                                                                   
                                                                                                   
 xsd     http://www.w3.org/2000/10/XMLSchema          Schema namespace as defined by XSD [10].     
                                                                                                   




While this is by no means an exhaustive list, it does appear that the
general practice, particularly for more recent specs, is to choose
namespaces that have some element of versioning in them, either explicitly
as a version, or implicitly as a date.

Consequently, I would recommend that for our spec we use a namespace of the
kind:

urn:oasis:names:tc:wstrans:1:0:XXX

Where XXX is the specific document being referenced.  This is slightly
different to the namespace that I used in my previous posts.
(urn:oasis:names:tc:wstrans:v1:XXX).

I appreciate Gerard's argument that it's going to make it a bit more
difficult to implement, but in terms of reducing complexity of managing
fully backwards compatibility and avoiding confusion as to which version is
being used, it is a worthwhile tradeoff.

As to the question of discovery of what specs are available, and what are
provided by different service providers, I think that this issue can best
be addressed through UDDI.  As each subsequent version of the spec will
have a different namespace (or set of namespaces to be precise), a UDDI
query should be able to enumerate them.  Then, given that each provider of
the service, should also have one UDDI registry entry, for each version of
the service that they provide, it is possible to identify the different
versions of the service being offered by each provider.  I haven't found an
example of this yet, but if I do I'll post it here.

Regards,

Steve

---------------------------------------------
Stephen Flinter
Connect Global Solutions
[t] +353 (0)1 882 9038
[f] +353 (0)1 882 9050
[m] +353 87 798 1228
[e] stephen.flinter@connectcgs.com
[w] www.connectcgs.com
--------------------------------------------



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]