2014-11-04 44 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