EJB 架構

這個主題提供 Sun Microsystems Enterprise JavaBeans™ (EJB) 架構規格所定義的分散式元件架構的高階概觀。

請造訪 java.sun.com 網站,以取得完整的 Enterprise JavaBeans 技術規格和說明。

Enterprise Bean 可為應用程式開發人員帶來若干好處:

Enterprise Bean
Enterprise Bean 是分散式交易導向企業應用程式的非視覺化元件。Enterprise Bean 一般被部署在 EJB 儲存器中,且於 EJB 伺服器中執行。您可以變更它們的部署描述子來自訂它們,您也可以將它們和其他 Bean 組合起來, 以建立新的應用程式。Enterprise Bean 有三種類型:Session BeanEntity Bean訊息驅動 Bean。
  • Session BeanSession Bean 是非持續性的 Enterprise Bean。它們可能是 Stateful,也可能是 Stateless。Stateful Session Bean 代表單一用戶端執行動作, 會在多個方法呼叫和交易之間維護特定用戶端專用的階段作業資訊(稱為交談式狀態)。它的存在期間是單一主從架構階段作業的持續期間。 相形之下,Stateless Session Bean 不維護任何交談狀態。Stateless Session Bean 儲存於儲存器中, 負責處理多個用戶端所發出的多重要求。
  • Entity BeanEntity Bean 是含有持續資料且可儲存在各種持續性資料儲存庫中的 Enterprise Bean。每個 Entity Bean 都有自己的身分識別。管理自身持續性的 Entity Bean 稱為 Bean 管理持續性 (BMP) Entity Bean。將持續性委派給 EJB 儲存器的 Entity Bean 稱為儲存器管理持續性 (CMP) Entity Bean
  • 訊息驅動 Bean訊息驅動 Bean 是接收和處理 JMS 訊息的 Enterprise Bean。訊息驅動 Bean 不像 Session Bean 或 Entity Bean,它沒有介面。它們只能透過傳訊來存取且不會維護任何交談狀態。 訊息驅動 Bean 允許佇列和接聽器之間非同步的通訊, 並提供訊息處理和商業邏輯之間的區隔。
遠端用戶端視圖
遠端用戶端視圖規格從 EJB 1.1 開始提供。Enterprise Bean 的遠端用戶端視圖無關於特定位置。在相同 JVM 內作為 Bean 實例來執行的用戶端,會利用相同的 API 來存取在相同或不同機器的不同 JVM 中,當作用戶端來執行的 Bean。
  • 遠端介面遠端介面會指定用戶端可在 Enterprise Bean 上呼叫的遠端商業方法。
  • 遠端 Home 介面遠端 Home 介面會指定遠端用戶端用來尋找、建立和移除 Enterprise Bean 類別實例的方法。
本端用戶端視圖
本端用戶端視圖規格適用於 EJB 2.0 或更新的版本。Bean 的本端用戶端視圖和遠端用戶端視圖不同,它會相依於特定位置。Enterprise Bean 的本端用戶端視圖存取作業需要本端用戶端,也需要將本端用戶端視圖提供在相同 JVM 中的 Enterprise Bean。因此,本端用戶端視圖並沒有遠端用戶端視圖所具備的位置透通性。 本端介面和本端 Home 介面都支援從作為本端用戶端的 Enterprise Bean 進行輕量型的存取。Session Bean 和 Entity Bean 可以與用戶端緊密結合,因此,不需要耗費遠端方法呼叫通常會有的額外負荷,就能夠進行存取。
  • 本端介面本端介面是遠端介面的輕量型版本,但適用於本端用戶端。它包括本端用戶端所能呼叫的商業邏輯方法。
  • 本端 Home 介面本端 Home 介面會指定本端用戶端用來尋找、建立和移除 Enterprise Bean 類別實例的方法。
Web 服務用戶端視圖
在 EJB 2.1 規格中,EJB 架構引進了 Web 服務的支援。Session Bean 的用戶端可以是 Web 服務用戶端。Web 服務用戶端可以使用 Stateless Session Bean 的 Web 服務用戶端視圖,它有對應的服務端點介面。
服務端點介面
Stateless Session Bean 的服務端點介面將 Session Bean 的功能顯示成 Web 服務端點。Web 服務的 Web 服務說明語言 (WSDL) 文件將 Web 服務說明為在訊息上運作的一組端點。WSDL 文件可以包括 Stateless Session Bean 的服務端點介面來作為它的一個端點。您可以修改現有的 Stateless Session Bean 來包括一個 Web 服務用戶端視圖, 也可以從現有的 WSDL 對映服務端點介面來提供正確的介面。

Web 服務用戶端視圖與位置無關,可以利用遠端呼叫來存取。

EJB 用戶端 JAR 檔
EJB 用戶端 JAR 檔是一個選用的 JAR 檔,其中可含用戶端程式在使用 EJB JAR 檔所包含之 Enterprise Bean 的用戶端視圖時,所需要的用戶端介面。如果您決定不建立 EJB 模組的 EJB 用戶端 JAR 檔,所有用戶端介面類別都會在 EJB JAR 檔中。依預設,工作台會建立每個對應的 EJB 專案的 EJB 用戶端 JAR 專案。
EJB 儲存器
EJB 儲存器是管理一或多個 Enterprise Bean 的執行時期環境。 EJB 儲存器會管理 Enterprise Bean 物件的生命週期,協調分散式交易,以及實作物件安全。 通常,每個 EJB 儲存器都由 EJB 伺服器來提供,且含有一組執行於伺服器的 Enterprise Bean。
部署描述子
部署描述子是 EJB JAR 檔或 EAR 檔中的 Enterprise Bean 所套裝的 XML 檔。 它含有說明 Enterprise Bean 之內容和結構的 Meta 資料,以及 EJB 儲存器的執行時期交易和安全資訊。
EJB 伺服器
EJB 伺服器是一個高階程序或應用程式,負責提供執行時期環境來支援執行使用 Enterprise Bean 的伺服器應用程式。EJB 伺服器提供可存取 JNDI 的命名服務,會管理和協調對於用戶端應用程式的資源配置作業, 可提供存取系統資源的能力,也提供交易服務。 比方說,EJB 伺服器可以由資料庫或應用程式伺服器所提供。
相關概念
EJB 應用程式開發
註釋型程式設計概觀
相關工作
開發 Enterprise Bean
建立 Enterprise Bean
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.