W3C home > Mailing lists > Public > public-web-http-desc@w3.org > April 2006

Service Versioning

From: Mark Nottingham <mnot@mnot.net>
Date: Thu, 27 Apr 2006 13:12:23 -0700
Message-Id: <EEDF4EC7-745D-4661-8336-53D49F76235C@mnot.net>
To: public-web-http-desc@w3.org

Just thinking out loud -- not sure if this is a good idea or not.

What if components were labelled with an indication of the revision  
of the service that they were introduced with?

E.g.,

<resource introduced="/revision/1">
    <method name="GET">
      ...
    </method>
    <method name="POST" introduced="/revision/2">
      ...
    </method>
</resource>

with rules for appropriate defaulting, etc. "introduced" probably  
isn't the best name, but gets the idea across; the value should be a  
URI-reference.

This would allow clients to query the service for what revision it  
implements, and then know what (backwards-compatible) changes are  
implemented; it wouldn't have to optimistically try to POST, for  
example.

In doing so, backwards-compatible changes (e.g., adding methods,  
adding representations, adding resources, adding optional query args)  
could be layered into descriptions without losing information about  
when they were introduced.

Thoughts?

--
Mark Nottingham     http://www.mnot.net/
Received on Thursday, 27 April 2006 20:12:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 19 December 2010 00:14:50 GMT