2014-02-12 32 views
0

我剛剛參加了使用JAVA的企業Web開發課程,並且我們構建了一個使用Enterprise Java Beans的應用程序。我試圖提高對EJB的理解,並且正在考慮使用EJB的優勢。使用EJB的好處

對於我們的應用程序,我們在我們的servlets中注入了一個EJB。 EJB與業務邏輯層(作爲jar部署)交談。我在考慮使用EJB的好處,而不是讓servlet直接與業務層JAR進行交互。

我想出了2個原因:

1)EJB的讓你構建一個模塊化的方式應用,因爲每個EJB可以負責某些類別的後端責任。 2)由於EJB被部署到EJB容器中,因此可以通過它們的JNDI名稱查找它們,所以如果在服務器上部署了其他應用程序並且需要執行類似的功能,那麼它們可以利用的EJB已經存在於服務器上。

我在正確的軌道上嗎? EJB是否比這更有優勢?我知道MDB與JMS API結合使用,但我更關注會話bean。

回答

2

這很好,但你必須認識到以下幾點:

  1. 您可以構建一個模塊化的方式應用不使用EJB,有或無的Java。這是衆多選擇之一,並不是最佳選擇。
  2. 應用程序可能會或可能不會以這種方式共享EJB;當然不是會話EJB。
  3. EJB是在1999年以Java One的方式發佈的。它們是3.0版本的規範。它比以前好多了,但還遠沒有完美。
  4. Java EE應用服務器是重量級的東西。
  5. Spring和依賴注入框架允許您在沒有EJB的情況下創建模塊化Java應用程序。有些人喜歡他們(像我一樣)。
  6. Java EE應用程序服務器使用線程繁重的解決方案,這非常需要/響應爲中心。更現代的方法是使用vert.x或node.js的基於事件的非阻塞IO。

這很棒,您正在學習,但不要被愚蠢以爲您已經達到頂端的食物鏈。世界其他地方正朝着HTTP Web服務的方向發展,而不是EJB。