是否存在业务逻辑层专用的JavaEE架构?

时间:2014-11-04 18:41:28

标签: java java-ee ejb n-tier-architecture

假设像这样的经典3层JavaEE架构

  • JSF / JSP / Servlets(Web)
  • EJB(商务)
  • DB(持久性)

所有JavaEE tutorial示例都显示了不同容器中的Web和biz层,但是在同一个JavaEE服务器中。

在他们自己的机器中是否存在将EJB分开的优点?在这种情况下,假设他们将通过RMI与Web层进行通信,是否有任何类型的JavaEE容器来管理EJB而不是JSP和servlet?

1 个答案:

答案 0 :(得分:2)

  

在他们自己的机器中是否存在将EJB分开的优势?

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

可用性:如果您的业务层公开了与Web服务器不同的客户端所使用的某些服务,并且这些服务提供某种关键任务功能,则可能需要在24/7服务器上运行。

我不确定从“优势”的角度来看是看到这种解耦架构的正确方法。 我认为如果您需要达到这种要求,那么您需要支付更多的价格(在更复杂的设计中翻译)。

  

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

是的,例如OpenEjb