角色實戰 假設有一個企業應用程序,該應用程序包含一個 Web 應用程序,還有一個負責業務邏輯和持久性的 EJB 組件。開發這個應用程序的組件供給商可能有許多,但是在許多情況下,可以由一個人來承擔全部職責。組件可以包含數據傳輸對象(一個 JAR 文件)、EJB 接口(另一個 JAR 文件)、EJB 實現本身(另一個 JAR 文件),以及用戶界面組件 —— servlet、jsp、HTML 頁面和其他靜態 Web 內容。用戶界面組件被進一步打包成 Web 應用程序,其中包含 servlet 類、JSP 文件、靜態內容,以及其他必需組件的 JAR(包括 EJB 接口)。
這聽起來似乎用到的組件太多了,幾乎超出了人的想像范圍,尤其是在考慮構建一個典型的 Web 應用程序需要使用多少個 JAR 文件的時候。但是,重要的是熟悉到在這里必須小心地治理依靠性。接口和傳輸對象是 Web 應用程序和 EJB 實現可以依靠的對象,但是依靠性的方向應該是相同的;還要避免產生循環依靠。J2EE 組件(例如 WAR 文件和 EJB JAR 文件)必須在它們的部署單元之外聲明它們在資源上的依靠性。
應用程序組裝者負責把 Web 應用程序中的依靠內容包含進來,并把它們整體打包成單個企業應用程序。工具在這里幫助很大。IDE 可以協助創建反映模塊和 JAR 依靠性的項目結構,還答應您隨意指定包含或排除的模塊。