gpt4 book ai didi

web-services - 为多个版本的 Web 服务构建源代码

转载 作者:行者123 更新时间:2023-12-04 04:04:56 25 4
gpt4 key购买 nike

当同一源代码主干或分支中存在同一 Web 服务的多个版本时,是否存在源代码结构约定?

这是我们的情况。

我们通过在 wsdl URL 中包含版本号来对我们的 Web 服务进行版本控制,如下所示:

url/project/1.0/WebServiceA?wsdl

我将部署 WebServiceA 的 1.1 版和 1.0 版,因此 1.0 版的用户无需进行任何更改。 WebServiceA 的 1.0 版和 1.1 版将拥有自己独立的 Java 类。

我想在同一个 .war 文件中部署两个版本。 (我们可以采用在 .war 中只部署一个 Web 服务版本的策略,并在它们自己的 .war 中部署其他版本。当我们获得多个 Web 服务的多个版本时,这将导致要部署的 .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)

ws.、ws.v11. 和 ws.v12 下的 Java 类。将是单独的 Java 类。

你能看出这个公约有什么问题吗?

如果有一个经过验证的约定来构建多个版本的 Web 服务代码的源代码,我想在自己编写自己的代码之前听听它。

谢谢。

院长

最佳答案

既然你说你希望这些版本都“在同一个源代码主干或分支中”,我认为部分答案取决于你使用的源代码控制系统,以及你是否计划修复错误在旧版本中。

如果您想修复旧版本中的错误,您将希望能够在不同版本之间向前或向后集成更改。例如,假设您发现版本 1.0、1.1 和 1.2 中存在一个严重的安全问题。您不会想要修复它 3 次。大多数源代码控制系统都会让您在相关分支之间进行这种集成。有些(比如 Perforce,我相信还有 git,可能还有其他一些)可以让您集成文件之间的更改,甚至是在一个分支内。 (实际上,Perforce 的“分支”概念只是为了方便记录文件间集成)

因此,您需要考虑是否需要进行此类多版本修复,如果需要,您的源代码控制系统能否处理分支内集成。如果没有,那么您最好为每个版本使用一个单独的分支。

关于web-services - 为多个版本的 Web 服务构建源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1523459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com