是否存在业务逻辑层专用的JavaEE体系结构?

是否存在业务逻辑层专用的JavaEE体系结构?,java,jakarta-ee,ejb,n-tier-architecture,Java,Jakarta Ee,Ejb,N Tier Architecture,假设一个经典的三层JavaEE架构 JSF/JSP/servlet(Web) EJB(商务) DB(持久性) 所有示例都在不同的容器中显示了web和biz层,但都在同一个JavaEE服务器中 在任何情况下,在它们自己的机器中保持EJB分开都有好处吗?在本例中,假设他们将通过RMI与web层通信,是否有任何类型的JavaEE容器管理EJB而不是JSP和servlet 在任何情况下,在它们自己的机器中保持EJB分开都有好处吗 有时,特定的非功能性需求可以决定您的应用程序设计。 例如,安全性:为了

假设一个经典的三层JavaEE架构

  • JSF/JSP/servlet(Web)
  • EJB(商务)
  • DB(持久性)
所有示例都在不同的容器中显示了web和biz层,但都在同一个JavaEE服务器中

在任何情况下,在它们自己的机器中保持EJB分开都有好处吗?在本例中,假设他们将通过RMI与web层通信,是否有任何类型的JavaEE容器管理EJB而不是JSP和servlet

在任何情况下,在它们自己的机器中保持EJB分开都有好处吗

有时,特定的非功能性需求可以决定您的应用程序设计。 例如,安全性:为了实现一些安全规范,业务层必须驻留在一个更安全的服务器中,而不是直接暴露在Internet上

可用性:如果您的业务层公开由不同于web服务器的客户机使用的某些服务,并且这些服务提供某种任务关键型功能,那么它们可能需要在24/7服务器上运行

我不确定用“优势”来思考是否是看待这种解耦架构的正确方式。 我认为这更像是一个价格(在更复杂的设计中翻译),如果你需要达到这种要求,你必须支付

是否有任何类型的JavaEE容器管理EJB而不是JSP和servlet


是的,例如。

我肯定有“a”的情况。我认为主要的项目比我工作的要大得多,所以我无法告诉您何时切换到使用多个容器。如果你要问的话,我会说你不必担心。是的,很好的例子。此外,您可能有
n
webserver和
m
集群EJB服务器用于水平扩展。如果您的业务方法“繁重”,那么您可能需要比web前端更多的EJB实例,因此您可能需要
n