我想了解EJB的概念,但它很模糊。 我閱讀了關於EJB服務器和EJB容器的知識,以及EJB容器在EJB服務器中運行。我也知道,這兩個都提供資源/服務,這是在這個時候出現我的問題...EJB服務器和EJB容器提供的功能有什麼區別?
每個提供的資源/服務是什麼?
非常感謝大家的幫助。
我想了解EJB的概念,但它很模糊。 我閱讀了關於EJB服務器和EJB容器的知識,以及EJB容器在EJB服務器中運行。我也知道,這兩個都提供資源/服務,這是在這個時候出現我的問題...EJB服務器和EJB容器提供的功能有什麼區別?
每個提供的資源/服務是什麼?
非常感謝大家的幫助。
「EJB服務器」
總之, 「EJB服務器」 僅僅是具有EJB實現任何Application Server的標籤。正確的定義是Java EE Server。
例如,Glassfish和JBossAS都有自己的EJB容器。出於這個原因,有些人稱他們爲「EJB服務器」。 This page有一個「EJB服務器」列表,它們被這樣調用,因爲它們實現了EJB規範,這意味着存在EJB容器。
但它不是一個正式的定義,更像一個軟約定。
EJB容器
現在,這是實際的EJB服務提供商,做所有的工作。它爲您提供應用程序服務,如事務控制和安全性,並遵循定義的EJB Specification。
當您部署會話Bean時,EJB容器負責其生命週期,事務,注入以及其他任務。詳情here。
EJB容器:管理企業bean的Java EE 應用程序的執行。企業bean及其容器在Java EE 服務器上運行。
現在,我做了一些上下文定義,讓我們試着來回答你的問題:
的資源/服務的每一個提供什麼樣的?
「EJB服務器」
的 「EJB服務器」 提供了一個EJB容器。而已。正如我早期的表述,這只是一個標籤,而不是一個正式的定義。在大多數情況下,您擁有的是像Glassfish這樣的Java EE服務器,它最終爲您提供比EJB更多的服務,例如encription,Web Container等。
如果我們堅持這樣的邏輯,比如GlassFish服務器也可以被稱爲:
你能看到這是怎麼回事嗎?
EJB容器
EJB容器實現提供EJB規範中定義的資源和服務。例如,它根據規範進行交易管理。
根據具體情況,有很多技術或術語可能有不同的含義。 Web服務和SOA就是一些例子。