I am trying to develop a strategy for versioning web services and how to handle versions in terms of SCM.
We perform bottom-up services (JAX-WS) and therefore have less control over the scheme and cannot follow some versions of the best practice scheme. My current thoughts are:
1) Major changes (without backward compatibility):
- Passed to the client API through the new service URL (version URL). For instance:
http: //com.example/v1/MyService
http: //com.example/v2/MyService
This, in my opinion, is less of a hassle for both the client and the developers. The client simply updates the URL of the services (usually in one place), and does not update all calls to the service (for example, when using version version names - MyServiceV1, MyServiceV2, ...).
- On the server side, this is reflected by marking the service in SVN: MyService- [major]. [minor] Eg MyService-1.0
2) Minor changes (backward compatible):
Here I doubt more. Some best practices include changing the schema namespace, which in turn involves updating for compatible clients.
On the server side, itβs clear how I use the above strategy ([server_name] - [main]. [Minor])
I would get acquainted with the opinions on the above strategy and suggestions for minor version control.
source
share