创建企业 Java EE 应用程序时,必须将部分业务逻辑(例如消息传递 (MDB))放入 EJB 模块内。但是,有一些 EJB 可以放置在 EJB 模块或 Web 模块内。我知道,分离模块可以让Web层和业务层部署在不同的机器上。因此,我会将我的 @Stateful
购物车 EJB 放置在 Web 模块中。然而,我无法想出一个可以应用于每一个业务逻辑的标准标准,来决定将包含它们的 EJB 放在哪里。有这方面的指南、标准或推荐做法吗?
最佳答案
这是我迄今为止发现的。
EJB 模块应该包含大型企业应用程序的业务逻辑核心。另一方面,Web 模块包含一个成熟的 Web 应用程序,该应用程序应该利用 EJB 模块提供的业务引擎。通常,对于较大的应用程序,这些模块分布在不同的服务器上,并且除了 Web 应用程序之外,还有客户端应用程序(例如 Swing/JFX 桌面应用程序)需要使用驻留在 EJB 模块中的核心业务逻辑提供的服务。/p>
换句话说,如果满足以下条件,则可以将业务逻辑放在单独的 EJB 模块中:
- 它旨在供多个网络或桌面应用程序使用,或者
- 扩展方面的考虑可能会迫使核心业务逻辑由单独的服务器处理
在其他情况下,人们可以将其 EJB 放入 Web 模块中并将整个内容打包为 WAR 文件。
关于jakarta-ee - 在 Java EE 企业应用程序中将业务逻辑放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094417/