gpt4 book ai didi

java - 为 Web 和服务端点分别进行项目/部署是一种好习惯吗?

转载 作者:行者123 更新时间:2023-12-04 06:07:03 26 4
gpt4 key购买 nike

如果我有一个托管的 Web 应用程序,将 Web 和 api Web 服务拆分为 2 个不同的项目/在 tomcat 中托管的应用程序是一种好习惯吗?

我可以看到,如果人们试图滥用 API,它将影响 Web 应用程序的性能。

如果我要创建 2 个单独的项目(或者如果不是最初创建但有可能将事情分开),我可以以某种方式在 2 个项目之间共享我的 hibernate 数据层吗?

我正在使用 IntelliJ,我该怎么做?是否会为 hibernate (域实体、Dao 和服务类)创建一个单独的模块。

最佳答案

我不会说一般来说是一个好习惯,但在某些情况下可能是一个好主意。

在面向服务的体系结构中,服务层不仅被 Web 层使用,还可能被其他客户端使用。在这种情况下,在单独的服务器中构建 Web 和服务层可能是一个好主意。

另一种情况是当您想要执行单独的部署时,因为例如两层的工作是由不同的团队或在不同的工作流中完成的——我会质疑这是否是一种好的做法,尽管这与团队在垂直功能而不是在层中工作相反。

您可以通过多种不同方式创建服务层:

  • 作为网络服务。当您需要互操作性时。
  • 作为远程 EJB(这在 TomEE 中是可能的)。当不需要互操作性时。
  • 您也可以创建上述两者的组合,它们并不相互排斥。

  • 在拆分项目方面,您可以创建:
  • jar 模块中的一组域对象,将在您的 Web 层和服务层之间共享。
  • Web 层的 war 模块。
  • 服务层接口(interface)的 jar 模块,它是 Web 层的依赖项。
  • 包含服务和 DAO 的服务层的 jar/war 模块。
  • 关于java - 为 Web 和服务端点分别进行项目/部署是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8234627/

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