J2EE應用程序打包與部署之三
|
J2EE部署
J2EE的部署就是將應用構件按照一定的格式打包并放置在應用服務器的容器內,在部署時,J2EE提供的部署服務允許對應用構件進行設置;在J2EE構件被安裝在容器內時,它們一般是根據功能被分成若干個模塊,每個模塊都有一個部署描述文件(deploy descriptor)用于告訴J2EE容器如何進行部署;這個描述文件是一個基于XML的文本文件,部署描述文件包含許多與應用構件和J2EE平臺服務有關的元素,譬如構件如何使用事務和安全服務等等。
一個J2EE程序包括一個或多個J2EE模塊和一個J2EE應用部署描述文件(不同于模塊的部署描述文件),該應用部署描述文件告訴J2EE應用服務器所需要部署的程序模塊和如何對這些模塊進行設置;一個J2EE程序就是一個企業檔案文件(EAR),EAR文件采用壓縮文件格式(像常用的zip文件),一個EAR文件包括一個或多個Java檔案文件(JAR)以及零個或多個資源檔案文件(RAR)。
J2EE有四種模塊,每種模塊對應一類構件。EJB模塊包含EJB的類文件EJB的部署描述文件。EJB模塊被打包成以.jar為擴展名的JAR文件;Web模塊包含JSP文件、為servlets程序編譯后的類文件、GIF和HTML文件以及Web部署描述文件,Web 模塊被打包成以.war為擴展名的WAR文件;其實WAR文件格式和JAR基本相同,可以認為WAR文件是特殊的JAR文件;資源適配器模塊(resource adapter)包含所有Java接口、類和其他文件,以及資源適配器的部署描述文件。這些類用來實施由企業信息相同EIS的連接。資源適配器模塊被打包成以.rar為擴展名的JAR文件;應用客戶模塊包含客戶程序的類文件和一個應用客戶部署描述文件,應用客戶模塊用JAR文件格式。
在上述每種類型的模塊中,每個部署單元都具有相應組件描述定義的組件結構。例如,Web模塊部署單位被稱為Web檔案(Web archive),它具有一個WEB-INF目錄以包含所有支持文件。一個或更多J2EE平臺模塊可以組成一個J2EE應用程序,它包含它自己類型的部署單位;除組件和資源之外,各個部署單位包含一個部署描述文件,它是一個指定各組件與其環境之間的關系的XML文件。部署描述文件包含以下兩種信息:
(1)結構信息:它主要描述包含在部署單位中的組件信息,包括它們之間的關系和依賴性。通常這類信息包括ejb home和遠程接口及實現類、實體bean主鍵類、持續性機制及環境聲明變量和資源需求;一個組建容器將會使用結構信息來實時地管理組件實例。
(2)集成信息:這是一種可選擇的信息,描述了一個部署單位如何與其他部署單位集成并制造出新的組件,這類信息通常包括ejb關系名、描述符、安全角色信息、方法許可和環境變量值。
1、部署描述文件
部署描述文件(deployment descriptors)描述部署單位內容并相對于應用環境配置組件和應用程序。同時對它們與組件之間的關系做出了一定的處理,從而可以在無需編程的情況下對這些關系加以管理。部署工具通常會自動生成部署描述文件,所以開發人員不必直接編輯和管理它們。
通常部署描述文件有四種類型,每種對應于一個類型部署單位:
1) EJB部署描述文件;
2) Web層部署描述文件;
3) 應用客戶部署描述文件;
4) 資源適配器部署描述文件。
各種部署描述文件的定義都可以在相應的XML文檔類型定義(document type definition)中找到。部署描述文件包含由組件容器使用的信息及組件通過JNDI訪問的信息。
有關EJB部署、應用客戶部署及資源適配器部署請讀者參考有關J2EE資料,在此就不多說了,下面我們討論一下Web層部署內容。