2014-11-04 75 views
2

假设一个经典的3层的JavaEE架构这样有业务逻辑层专用的JavaEE架构吗?

  • JSF/JSP/Servlet的(网络)
  • EJB(商务)
  • DB(持久性)

所有JavaEE tutorial例子表明web和biz层位于不同的容器中,但在同一个JavaEE服务器中。

有没有那里是保持分开的EJB的优势,在自己的计算机中的任何情况吗?在这种情况下,假设他们将通过RMI与Web层进行通信,是否有任何种类的JavaEE容器管理EJB,但不管用JSP和servlet?

+1

我敢肯定,有“一”的局面。我认为主要是比我工作的项目大得多,所以我不能告诉你什么时候切换到使用多个容器。如果你不得不问,但是,我会说你不必担心它。 – markspace 2014-11-04 18:43:53

回答

2

有什么情况可以让EJB在他们自己的机器上保持独立?

有时,具体的非功能性需求可以决定您的应用程序设计。 例如,安全性:为了达到一定的安全规范,业务层必须驻留在不直接暴露在互联网更安全的服务器。

情况:如果你的业务层暴露了不同的客户端不是Web服务器消耗的一些服务,而这些服务都提供某种形式的关键任务功能,可能他们需要24/7服务器上运行。

我不知道该想的“优势”方面,就是看这种分离架构的正确途径。 我认为这更像是一个价格(这是一个更复杂的设计,翻译),你有,如果你需要实现这样的要求支付。

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

是,例如OpenEjb

+1

是的,很好的例子。此外,您可能有'n' webservers和'm'群集EJB服务器进行水平缩放。如果你的业务方法是“沉重的”,你可能需要比web前端更多的EJB实例,因此你可能有'n 2014-11-05 06:57:00