準則: 組合 J2EE 模組
這個準則討論如何組合 J2EE 模組。
關係
相關元素
主要說明

簡介

組合 J2EE 模組會產生下列實作元素

  • J2EE 保存檔(WAR、EJB-JAR 及 JAR 檔案),
  • 部署描述子(XML 檔案),描述保存檔的內容,也描述內含元件在部署儲存區內如何運作

如需 J2EE 模組的相關資訊,請參閱工作成果準則:J2EE 模組

定義保存檔

在此步驟中,應用程式元件提供者會指定要包裝在模組中的元件。

基於不同用途,可能會製作多個保存檔。例如,對不同的「正式作業」部署配置的測試、除錯或交付,各有不同的保存檔。測試保存檔可能包含測試類別和以除錯旗號建置的類別,正式作業保存檔不包含測試類別,也不會以除錯旗號建置。組合的保存檔所針對的環境會影響要設定的組合工作區。

定義部署描述子

組合 J2EE 模組的關鍵步驟是定義部署描述子。設計每一個元件時應該已捕捉到這項資訊的絕大部分,所以定義部署描述子大多是在確定與設計保持一致。如果您使用雙向工程,則也可能有工具支援可產生部署描述子。

每一個保存檔包含一個 J2EE 標準部署描述子,加上多個廠商特有的描述子(也可能沒有)。EJB-JAR 的 ejb-jar.xml 和 WAR 的 web.xml 這兩個標準描述元包含在測試和其他「非正式」部署上必須完成的區段,以及由最終應用程式組合人員針對正式作業部署所準備的區段。

每一個描述子包含應用程式元件提供者及應用程式組合人員需要注意的資訊。例如,ejb-jar.xml 包含三個主要區段(方便我們討論):<enterprise-beans>...</enterprise-beans>、<relationships>...</relationships><assembly-descriptor>...</assembly-descriptor>。應用程式元件提供者會在 <enterprise-beans>...</enterprise-beans> 區段中定義 EJB 的內容,例如 CMP 欄位。應用程式元件提供者也在 <relationships>...</relationships> 區段中定義 EJB 之間的選用關係。<assembly-descriptor>...</assembly-descriptor> 區段可定義交易、安全角色、方法權限等。通常只有應用程式組合人員需要擔心這個區段。組合人員有可能決定修改其他兩段的內容,但這種情況並不常見。WAR 保存檔也有類似的情況。如需應用程式組合的相關資訊,請參閱準則:組合 J2EE 應用程式

在設計期間,如果您已在資料模型和儲存區管理的持續 (CMP) 實體 EJB 中定義資料庫表格之間的對映,則這些對映應該反映在廠商特定描述子的對映指引中(對映指引不是標準 EJB 描述子的一部分)。如需 CMP 實體 EJB 對映至資料庫表格的相關資訊,請參閱技術:設計 Entity Bean

如果多個元件要包裝在同一個保存檔中(請參閱步驟:定義保存檔),則應用程式元件提供者必須整合其部署描述子資訊。例如,將 EJB 合併成一個 EJB-JAR 時,應用程式元件提供者必須協調部署描述子和交互參照中的資訊,例如安全角色。

驗證保存檔

在試圖部署之前,最好先驗證保存檔的內容,因為不明確的錯誤(尤其是在應用程式伺服器端)可能會導致出現含糊不清或不存在的錯誤訊息。例如,包裝在保存檔中的任何元件不能使用重複的 JNDI 名稱。