On Wed, Feb 8, 2012 at 8:54 AM, Anuj Bhatia <anujbha...@gmail.com> wrote: > Hi, > > I have a Tuscany component that exposes a service via binding.rest and > this forms the public API of my application. I would like to be able > to version this service so that old clients can use the older version > of the API if they want to. Clients could specify the version they > want to invoke using a custom HTTP header, but if the header is > missing the request should be routed to the latest version of the > component by default. > > Are there any suggestions on the best way to achieve this with Tuscany? > > I could make a copy of the component for each supported version of the > API. Each component would expose the slightly different interface. But > can the be exposed at the same URL and requests routed based on a > header value? One possibility I considered was to make a new component > that would have a reference to all components that implement the > different API versions. But this routing component would itself need > to have a generic interface that accepts all incoming requests. I'm > not sure how to accomplish that. > > Thanks > Anuj
Some food for thought http://www.infoq.com/news/2012/01/http-api-evolvability -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/