EJB 開發資源

本主題說明 EJB 開發時常用的資源和開發工具。

EJB 模組

EJB 模組顯示在 J2EE 視景的「專案瀏覽器」視圖中,且對應於 EJB 專案。

EJB 模組用來將一或多個 Enterprise Bean 組合成單一部署單元。 EJB 模組是在 EJB 專案中開發,且可以匯出成獨立的 EJB JAR 檔,或結合企業應用程式內的其他 EJB 或 Web 模組。 EJB JAR 檔採用標準 Java™ 保存檔的格式。EJB 模組含有下列內容:

  • 一或多個 Enterprise Bean 及相關聯的 .class 和 .java 檔案。
  • 圖形及其他檔案,視 Enterprise Bean 的需求而定。
  • 部署描述子。部署描述子的檔案類型是「延伸標記語言 (XML)」。這個檔案宣告 EJB 模組的內容、 定義模組中的 Bean 結構,並說明 Bean 在執行時期的用途。
  • META-INF 目錄中的 MANIFEST.MF 檔案。Manifest 檔案可以包含類別路徑項目,並參照 J2EE 企業應用程式中的其他 JAR 檔案或 EJB 模組。 此檔案定義模組的外部相依關係。

EJB 模組是在 EJB 儲存檔案中安裝和執行。

Enterprise Bean 是一種可結合其他資源來建立分散式主從應用程式的 Java 元件。

註: 如果選擇為 EJB 模組建立 EJB 用戶端 JAR 檔案,則 Enterprise Bean 的用戶端介面類別不會加入 EJB JAR 檔中,而是放在 EJB 用戶端 JAR 檔中。
EJB 專案

在工作台,您可以用專案來建立和維護企業應用程式的資源。 EJB 專案是一種邏輯模組,可讓您妥善安排 Enterprise Bean。

工作台支援 EJB 1.1、EJB 2.0 及 EJB 2.1 專案。 若為 EJB 2.0 專案,則收納 EAR 專案的 J2EE 規格層次必須設為 J2EE 1.3 或更新版本,若為 EJB 2.1 專案,則必須設為 J2EE 1.4。 在 EJB 1.1 專案中,您只能建立 EJB 1.1 Bean。

EJB 專案是一種特殊化 Java 專案。 就像 Java 專案一樣,EJB 專案也必須有一或多個來源資料夾來存放專案的來源檔和輸出檔。 依預設,來源資料夾命名為 ejbModule,但您可以在建立專案或新的來源資料夾時變更此名稱。 在發佈或部署專案時,將彙總資料夾的內容。

您不能以 EJB 專案作為來源資料夾;因為這樣會造成錯誤。 此外,雖然專案中可以有多個來源資料夾,但只有一個來源資料夾可以包含 META-INF 資料夾,內有 MANIFEST.MF 和部署描述子檔案。

註: 如果選擇為 EJB 模組建立 EJB 用戶端 JAR 檔案,則 Enterprise Bean 的用戶端介面類別不會加入 EJB 專案中,而是放在單獨的 EJB 用戶端 JAR 專案中。 在「專案瀏覽器」中,EJB 用戶端 JAR 專案會顯示成其他專案節點下的 Java 專案。
EJB 用戶端專案

EJB 工具支援建立 EJB 模組的 EJB 用戶端 JAR 專案。 用戶端程式在使用 EJB 專案中的 Enterprise Bean 的用戶端視圖時,所需的所有介面類別都放在 EJB 用戶端 JAR 專案中。 建立 EJB 專案的 EJB 用戶端專案時, 將會建立新的 Java 專案並新增至您的工作區。 EJB 用戶端專案會以專案公用程式 JAR 檔的形式新增至 EJB 專案所屬的每一個模組。

依預設,使用精靈來建立 EJB 專案時,也會建立 EJB 用戶端 JAR 專案。 不過,您可以在精靈中清除這個選項。

提示: 您也可以將 EJB 用戶端專案新增至另一個沒有將 EJB 專案納入成為模組的企業應用程式。 如此一來,在匯出應用程式時,可以確保 EJB 用戶端 JAR 檔和 EAR 檔會一起匯出和封裝。
Enterprise Bean

Enterprise Bean 是一種可結合其他資源來建立分散式主從應用程式的 Java 元件。

Enterprise Bean 有三種類型:Entity Bean、Session Bean 及訊息驅動 Bean。 一個企業應用程式內通常會同時使用上述所有 Bean 類型。

Entity Bean
Entity Bean 儲存永久資料。使用儲存檔案管理的持續性 (CMP) 的 Entity Bean 需要資料庫連線。 以 Bean 管理持續性的 Entity Bean 會根據 Bean 程式碼中定義的方式來管理永久資料。 例如,寫入資料庫或 XML 檔案。
Session Bean
Session Bean 不需要資料庫存取,但可以透過 Entity Bean 來間接存取(需要的話)。 Session Bean 也可以透過資源參照來直接存取資料庫(及其他資源)。
訊息驅動 Bean
訊息驅動 Bean 是一種特殊的 Enterprise Bean,在 JMS 傳訊系統中扮演訊息使用端的角色。 就像標準的 JMS 訊息使用端一樣,訊息驅動 Bean 也是根據訊息內容來執行商業邏輯。 在許多方面,訊息驅動 Bean 實例的動態建立和配置,很類似 Stateless Session Enterprise Bean 的行為。 但有幾個方面,訊息驅動 Bean 不同於 Stateless Session Enterprise Bean(及其他類型的 Enterprise Bean):
  • 訊息驅動 Bean 以非同步方式處理多個 JMS 訊息,而非處理一連串循序的方法呼叫。
  • 訊息驅動 Bean 沒有 Home 或遠端介面,因此,無法讓內部或外部用戶端來直接存取。
部署描述子

部署描述子包含執行時期環境在某個應用程式上使用的配置資料。 部署描述子可以包含下列相關資訊:

  • 應用程式的結構和內容(例如 Enterprise Bean)。
  • 內部和外部相依關係的參照。例如,EJB 模組中的 Enterprise Bean 可能需要另一個未放在相同模組內的 Enterprise Bean。
  • 資源 Factory 物件的參照,例如 URL 或 JDBC 資料來源。
  • 實作應用程式的必要存取控制時,供儲存檔案使用的安全角色。
  • 交易式資訊,指出儲存檔案如何(及是否)管理應用程式的交易。

部署描述子是隨著應用程式的檔案一起封裝在 Java 保存檔內的 XML 檔案。有一個 EJB 部署描述子稱為 ejb-jar.xml,位於 EJB 專案的 META-INF 資料夾。 J2EE 應用程式包含一個應用程式層次的部署描述子檔案,負責控管整個應用程式。 也包含幾個元件層次的部署描述子,應用程式的每一個模組各有一個這種部署描述子。