2014-05-24 51 views
0

我想了解EJB的概念,但它很模糊。 我閱讀了關於EJB服務器和EJB容器的知識,以及EJB容器在EJB服務器中運行。我也知道,這兩個都提供資源/服務,這是在這個時候出現我的問題...EJB服務器和EJB容器提供的功能有什麼區別?

每個提供的資源/服務是什麼?

非常感謝大家的幫助。

回答

2

「EJB服務器」

總之, 「EJB服務器」 僅僅是具有EJB實現任何Application Server的標籤。正確的定義是Java EE Server

例如,Glassfish和JBossAS都有自己的EJB容器。出於這個原因,有些人稱他們爲「EJB服務器」。 This page有一個「EJB服務器」列表,它們被這樣調用,因爲它們實現了EJB規範,這意味着存在EJB容器。

但它不是一個正式的定義,更像一個軟約定。

EJB容器

現在,這是實際的EJB服務提供商,做所有的工作。它爲您提供應用程序服務,如事務控制和安全性,並遵循定義的EJB Specification

當您部署會話Bean時,EJB容器負責其生命週期,事務,注入以及其他任務。詳情here

official source

EJB容器:管理企業bean的Java EE 應用程序的執行。企業bean及其容器在Java EE 服務器上運行。

現在,我做了一些上下文定義,讓我們試着來回答你的問題:

的資源/服務的每一個提供什麼樣的?

EJB服務器

的 「EJB服務器」 提供了一個EJB容器。而已。正如我早期的表述,這只是一個標籤,而不是一個正式的定義。在大多數情況下,您擁有的是像Glassfish這樣的Java EE服務器,它最終爲您提供比EJB更多的服務,例如encription,Web Container等。

如果我們堅持這樣的邏輯,比如GlassFish服務器也可以被稱爲:

  • Servlet的服務器
  • Web服務器
  • JMS服務器
  • JSP服務器

你能看到這是怎麼回事嗎?

EJB容器

EJB容器實現提供EJB規範中定義的資源和服務。例如,它根據規範進行交易管理。

根據具體情況,有很多技術或術語可能有不同的含義。 Web服務和SOA就是一些例子。

相關問題