Существует ли соглашение о структурировании исходного кода, когда несколько версий одного и того же веб-сервиса в одной и той же магистрали или ветви исходного кода?
Вот наша ситуация.
Мы делаем версии наших веб-сервисов, добавляя номер версии в URL-адрес wsdl следующим образом:
url/project/1.0/WebServiceA?wsdl
Я собираюсь развернуть версию 1.1 WebServiceA вместе с версией 1.0, чтобы пользователям 1.0 не пришлось ничего менять. Версии 1.0 и 1.1 WebServiceA будут иметь свои собственные отдельные классы Java.
Я хочу развернуть обе версии в одном файле .war. (Мы могли бы принять политику только одной версии веб-службы в .war и развернуть другие версии в их собственном .war. Это привело бы к увеличению количества .wars для развертывания, когда мы получим несколько версий нескольких веб-служб. Я бы предпочел развернуть только один .war.)
Я думаю, что мы должны просто использовать отдельную структуру пакета для различных версий:
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-классы под ws., Ws.v11. И ws.v12. будут отдельные классы Java.
Можете ли вы увидеть какие-либо проблемы в будущем с этим соглашением?
Если существует проверенное соглашение о структурировании исходного кода для нескольких версий кода веб-службы, я хотел бы услышать об этом, прежде чем составить свой собственный.
Спасибо.
Dean