RE: [sca-bindings] Versioning, Namespace URI Design Discussion

From
Patil, Sanjay <>
Date
2007-10-02T16:06:16+00:00
ID
Thread
RE: [sca-bindings] Versioning, Namespace URI Design Discussion
Title: Versioning, Namespace URI Design Discussion

 

Hi Mary, Robin,

 

I am planning to forward my note below to the Open CSA 
Steering Committee so that they can discuss it and possibly make a 
recommendation to all the Open CSA TCs. Before I do that, I wanted to check with 
you whether it would be ok with OASIS for multiple TCs to specify definitions 
for a single namespace URI. I am sure this idea leads to questions such as - 
which particular TC owns the namespace information document (e.g. RDDL 2.0 
based) if the namespace is fleshed out by multiple TCs? I also think that we can 
arrive at some workable solution. But before we go there, I wanted to make sure 
that the OASIS staff is not going to rule out the possibility of sharing a 
namespace across multiple TCs. It will be great if we can resolve this 
issue via email before Friday (when the Steering Committee meets 
again).

 

-- Sanjay

  

  
  From: Mary McRae [mailto:] 
  On Behalf Of Mary McRae
Sent: Monday, Oct 01, 2007 5:25 
  AM
To: Patil, Sanjay; ; 'Mike 
  Edwards'; ; 'Ashok Malhotra'; 'David Booz'; 'Michael 
  Rowley'; Blohm, Henning; 'Anish Karmarkar'; 'Bryan Aupperle'
Cc: 
  'Robin Cover'
Subject: RE: [sca-bindings] Versioning, Namespace URI 
  Design Discussion

  

  

  
Hi 
  Sanjay,

  
 

  
  I’ll chime 
  in and hopefully save some discussion. There is no way for more than one TC to 
  create any single artifact so I’m not sure what is meant by “- How to formulate 
  a namespace URI, which is used and defined by multiple Open CSA TCs?” Each 
  resource must be associated with a specification, and each specification must 
  be associated with a single Technical Committee. Technical Committees can 
  refer to each other’s work by incorporating a reference, but they cannot 
  contribute to, or alter that work.

  
 

  
Regards,

  
 

  
Mary

  
 

  

  

  

  
From: Patil, Sanjay 
  [mailto:] 
Sent: Monday, October 01, 2007 2:18 
  AM
To: ; Mike Edwards; 
  ; Ashok Malhotra; David Booz; Michael Rowley; Blohm, 
  Henning; Anish Karmarkar; Bryan Aupperle
Cc: Robin 
  Cover
Subject: [sca-bindings] Versioning, Namespace URI Design 
  Discussion

  
 

  
 

  
This email 
  is to fulfill an AI assigned to me during  the last conf-call of the 
  SCA-Bindings TC. As I understand, the AI was to identify the various top level 
  issues concerning versioning of artifacts, namespace URI design, etc.  
  Since this topic is also of interest to the other Open CSA TCs, I have 
  included the chairs of those TCs on the recipient list of this 
  note.

  
Following 
  is what I think are the high level questions (along with my commentary) 
  concerning versioning, namespace URI design, etc, for the Open CSA 
  TCs.

  
- What 
  version number should be used to describe the artifacts (specifications, 
  schemas, WSDL files, etc.) produced by the different Open CSA TCs? 
  

  
  I 
  believe the Open CSA Steering Committee recently resolved to make a technical 
  recommendation for all the Open CSA TCs to adopt the same version number. As I 
  understand, the plan is to use  '1.1' as the version number as of 
  now.

  
  As 
  per the OASIS guideline for Metadata and Versioning [1], the version number 
  represents a significant body of work carried by a TC often leading to an 
  OASIS standard, and therefore the version number typically would  not 
  undergo changes during the TC's life time. The version number of artifacts 
  should not to be confused with the various stages of the artifact drafts 
  produced by the TC (e.g. working draft 01, working draft 02, committee draft 
  01, committee draft 02, etc.), and the revisions of each stage of a 
  draft  (e.g. committee draft 02 rev 1, committee draft 02 rev 2, etc.). 
  Please see the OASIS guideline for more details.

  
- Should 
  the version number be part of any namespace URI formulated by the Open CSA 
  TCs? 
  I think we 
  should consider the design and change of namespace URI as a separate issue 
  from the versioning of the artifacts providing definitions for that namespace 
  URI. Namespace URI is typically changed only when some definitions under the 
  namespace undergo backward incompatible changes. There are situations where 
  the version number of artifacts may change but the namespace URI may remain 
  the same. For example, a TC may decide to bump the version number of 
  specifications (e.g. use 1.5 instead of 1.1) merely to reflect the amount of 
  new work that made into the new version, however the new version as such is 
  still backward compatible with the previous version.

  
  A 
  solution here is to not use the version number in design of the namespace URI, 
  but use some other metadata (such as year and month of when the backward 
  incompatible change to the definitions under the namespace URI is introduced) 
  . For example, the http scheme namespace URI defined by the version SCA 
  Assembly TC specifications could be  - http://docs.oasis-open.org/[tcShortName]/[tcProductName]/[yyyymm], where yyyymm 
  stands for the year and month in which the TC voted on the first committee 
  draft of the artifacts.

  
- How to 
  formulate a namespace URI, which is used and defined by multiple Open CSA 
  TCs? 
  The OASIS 
  guideline for URI design [2] recommends that the http scheme namespace URIs 
  defined by OASIS TCs to begin with: http://docs.oasis-open.org/[tcShortName]/, where the 
  [tcShortName] is the short name of the TC such as sca-assembly, sca-bindings, 
  sca-j, etc. So when multiple Open CSA TCs plan to contribute to the same 
  namespace URI, we have a conflict. Looking at the contributed material to the 
  different Open CSA TCs,  it seems that we currently have this problem, 
  for example, the namespace "http://www.osoa.org/xmlns/sca/1.0" 
  is defined by 
  the schema for SCA Assembly (contributed to SCA-Assembly TC), schema for SCA 
  WS Binding, SCA JMS Binding (contributed to SCA-Bindings TC), etc. 
  A solution 
  here would be to use the short name of the member section (i.e.OpenCSA) 
  instead of short name of he TCs, that is, the namespace URI shared by the 
  different Open CSA TCs would begin with http://docs.oasis-open.org/opencsa/ However it would 
  be advisable to consult the OASIS staff if we were to adopt such a solution 
  since it is technically in violation of the OASIS 
  guidelines.

  
- Should 
  the namespace URI be dereferenceable? If yes, what document should be returned 
  when a namespace URI is dereferenced?

  
  I 
  think the namespace URI should be dereferenceable, and a RDDL 2.0 document 
  describing the namespace should reside at the namespace URI. The RDDL 2.0 
  document at the namespace URI can then include pointers to the various 
  artifacts providing definitions for the namespace along with a brief 
  introduction for each artifact, description of the namespace change policy, 
  etc. We can look at some of the RDDL based namespace description documents 
  created by  the WS-RX TC [3].

  
- Should 
  the decisions adopted by a TC regarding versioning, namespace design also 
  reflect in its language specific definitions, if any, such as java package 
  names?

  
   May I 
  suggest the right experts in this area (not me) to chime in here. 
  

  
I hope the 
  above set of questions and commentary is helpful in understanding the high 
  level issues and making the initial set of decisions regarding namespace 
  design, versioning of artifacts, etc.  For the actual concrete 
  resolutions, we should reference the detailed OASIS guidelines, 
  etc.

  
Thanks, 
  
Sanjay 
  

  
[1]  
  http://docs.oasis-open.org/specGuidelines/namingGuidelines/metadata03.html 
  
[2] 
  http://docs.oasis-open.org/specGuidelines/namingGuidelines/resourceNamingV07.html#URI-Design 
  
[3] 
  http://docs.oasis-open.org/ws-rx/wsrm/200702