You basically have 2 choices: Either use separate URI's or use the "target namespace# for version numbering. Target namespace can also be used for multilanguage support.
Using the tagret namespace way together with a proxy or ESB, you can reduce client dependence on URI's. Say you have:
/Customer
/Customer/v1
/Customer/v2
/Customer/vX
/Customer always gives the client the latest version. The ESB acts here to sort out what WS is the latest version and supplies that WS to the client. Clients call /Customer for services they know is backwardcompatible.
/Customer/vX is for non-backwardcompatible services where the client needs to be sure exactly what version of the service he gets.
The "target namespace" solution follows the Amazon’s recommendation form publication of services (http://docs.amazonwebservices.com/AWSEcommerceService/2005-03-23/ApiReference/ServiceVersioningArticle.html)
© Copyright 2009, Tomas Elfving
0 kommentarer:
Post a Comment