Is there an agreement for structuring source code when there are several versions of the same web service in the same source code line or branch?
Here is our situation.
We update our web services by including the version number in the wsdl url as follows:
url/project/1.0/WebServiceA?wsdl
I am going to deploy version 1.1 of WebServiceA along with version 1.0, so users 1.0 do not need to change anything. WebServiceA versions 1.0 and 1.1 will have their own separate Java classes.
I want to deploy both versions in the same .war file. (We could only accept the policy of one version of the web service in .war and deploy other versions in our own .war. This will increase the number of .wars to deploy when we get multiple versions of several web services. I would prefer to deploy only one .war.)
I think we should use a separate package structure for different versions:
com.company.dept.ws.WebServiceA (version 1.0)
com.company.dept.ws.v11.WebServiceA (version 1.1)
com.company.dept.ws.WebServiceB (version 1.0)
com.company.dept.ws.v11.WebServiceB (version 1.1)
com.company.dept.ws.v12.WebServiceB (version 1.2)
Java classes under ws., Ws.v11. and ws.v12. would be separate Java classes.
Can you see any problems in the future with this agreement?
If there is a reliable agreement on structuring the source code for several versions of the web service code, I would like to hear about it before I come up with my own.
Thanks.
Dean
source
share