【 tulaoshi.com - 编程语言 】
什么是打包和部署? J2EE平台的主要特色之一在于开发人员可以在其之上整合不同的组件,这个将组件整合为模块并将模块整合为商业应用程序的过程叫做打包。而在一个可使用环境的安装和定制应用程序的过程则叫做部署。!-- frame contents -- !-- /frame contents --为了能够更好地被定制,应用程序的组件需要是可配置的,然而,开发人员不应该持续开发不同的配置机制,相反地,使用标准机制并对配置过程提供相当的灵活度是非常重要的。
J2EE平台为打包和部署提供了相应的工具,使得其过程相对简单。主要来说,它使用Java档案文件(JAR)作为组件和应用打包之后的标准整合结果,同时它还使用基于XML的描述文件来配置组件和应用程序。J2EE技术规范为J2EE应用程序的结构建立和生成提供了指导,其中一条原则就是与打包(packaging)有关,具体的技术规范为诸如EJB、jsp网页和servlet等组件的打包提供了指导;J2EE平台规格描述提供一个将一个或多个组件集成为一个模块的方法,即为任何组件类型的最小单元提供独立部署,一个模块可以直接部署至J2EE容器中,或多个模块可以集合起来组建一个J2EE应用程序;例如,几个ejb组件可以被打包为应用模型中的一个EJB模块,同时这个EJB模块也可以进一步与其他模块结合以建造一个完整的J2EE应用。
J2EE打包综述 一个J2EE应用程序包括下列部分:一个或者多个J2EE组件;一个J2EE应用程序实施描述符。 在一个或者多个异类J2EE组件需要彼此使用对方的时候,必须生成一个J2EE应用程序(application)。在建立一个J2EE应用程序时必须考虑到多个方面,其中包括:
1、可以打包成一个J2EE应用程序的J2EE组件类型;
2、当人们生成J2EE包时扮演的角色;
3、当前的J2EE打包限制;
进入讨论组讨论。
不同厂商为满足J2EE组件交互而采用的类装入方式。
1、用J2EE打包组件
!-- frame contents -- !-- /frame contents -- 一个J2EE组件,例如servlet或EJB,是与组件描述中定义的接口保持一致的独立功能软件单位,并且这类软件很明显地依靠于其生存环境。组件也许是一个单一的类,但也经常是类、接口和资源的集合。J2EE平台提供五种类型的组件:EJB,servlets和JSP,applet,应用客户程序以及连接器(connector)。
J2EE平台中的模块和应用程序被作为部署单元而打包和部署,这种过程所得到的压缩文档与JAR文件类似,但具有一个指定的内部结构和文件扩展名。通常来说,存在四种不同类型的J2EE平台模块:
(l)EJB模块,其中包含ejb文件及相应类;EJB模块是一个可实施的单元,包括EJB、关联的库JAR文件以及资源。 EJB模块被预打包成JAR文件,在JAR文件的META-INF目录中有一个实施描述符 (ejb-jar.xml)。
(2)Web模块,其中包含Web层的组件及资源;Web模块是一种可以实施的单元,由Java Servlets、JSP网页、JSP标志库、库JAR文件、Html/XML文档及其他公共资源如图片,applet类文件等组成。一个Web模块打包成一个Web ARchive file,也称为一个WAR文件。WAR文件类似于JAR文件,只是WAR文件包含一个WEB-INF目录,在web.xml文件中包含实施说明。
(3)应用客户模块,其中包含应用客户类;应用程序客户模块JAR文件包含一个独立的Java应用程序,它将要在应用程序客户容器中运行。这个应用程序客户JAR文件包含一个专门化的实施描述符,其构成与EJB JAR文件类似。JAR文件包含运行独立的客户所需的类,当然还包括访问JDBC、JMS、JAXP、JAAS或者EJB客户所需的任何客户库。