一.J2EE应用程序由组件组成
一个J2EE组件就是一个自带功能的软件单元.他随同它相关的类和文件被分配到J2EE应用程序中,并实现于其他组件的通信.
J2EE规范对组件的定义:
(1)客户端应用程序和applet是运行在客户端的组件.
(2)JAVA SERVLET和JAVASERVER Pages(JSP)是运行在服务器端的WEB组件.
(3)EnterpriseJavaBean(EJB)组件是运行在服务器端的商业软件.
注意:1)J2EE组件与标准JAVA类的区别:
J2EE组件被装配到一个J2EE应用程序中,具有固定的格式并遵守J2EE规范,被部署在产品中,由J2EE服务器对其进行管理.
2)JavaBeans组件
客户层和服务器层都可以包含以JavaBean组件体系为基础的组件.(用来管理
客户端于服务器端组件以及服务器端组件于后台数据库之间的数据流动).
在J2EE规范中,JavaBeans组件不被认为是J2EE组件.该中JavaBEAN组件在设计和执行时相当简单,但是它必须遵守JavaBEANS组件体系结构的命令和设计惯例.
二.J2EE服务层的组件
1.WEB组件
Servlet或JSP
(1)Servlet:一个JAVA编程语言类,可以动态处理请求并作出响应.
(2)JSP:JSP页面是一个基于文本的文档,它以servlet的方式执行,但它可以更方便建立静态内容.
说明:(1)在装配应用程序时静态的HTML页面和applet被绑定在WEB组件中,但它们
并不被J2EE规范视为WEB组件.
(2)服务器端的功能类也可以被绑定到WEB组件中.
(3)WEB层也可以包含一个JAVABeans组件以管理用户的输入并将输入发送到运行在商业层的enterprisebean进行处理.
2.商业组件(业务组件)
-表示特定商业领域的业务逻辑.由运行商业层的EJB处理.有3中EJB:
(1)sessionbeans:
描述了于客户端的一个短暂的会话,当客户端执行完成后,sessionbean和它的数据都将消失.
(2)entitybean:
描述了存储在数据库表中的一行的持久稳定的数据.如果客户端终止或者服务结束,
低层的服务会负责entitybean数据的存储.
(3)messae-driverbean
结合了一个sessionbean和一个JAVA信息服务(JMS),信息监听者的功能,它允许一个商业组件异步接收JMS消息.
3.J2EE容器
J2EE服务器,以容器的形式为每一个组件类型提供底层服务,包括事务处理,状态管理,多线程,资源池等底层服务.
(1)容器:
容器是一个组件和支持组件的底层平台,特定功能之间的接口.
在一个WEB组件,enterprisebean或者是一个应用程序客户端组件可以被执行前它们必须被装配到一个J2EE应用程序中,并且部署它们的容器.
(2)组件装配(部署)
装配的过程包括为J2EE应用程序中的每一个组件以及J2EE应用程序本身指定容器的设置.容器被设置定制了有J2EE服务器提供的底层支持.主要包括:
a.J2EE安全模式
b.J2EE事务模式
c.JNDI(JAVA命名目录接口)
d.J2EE远程连接模式管理
(3)容器的类型
1)EJB容器(管理EJB的执行)
2)WEB容器(管理JSP和Serlet执行)
3)客户端应用程序容器(管理应用程序客户断端组件的执行)
4)applet容器
4.J2EE应用组件的封装
J2EE组件被分别打包并绑定到一个J2EE应用程序中,以供部署.
(1)一个模块包括
1)组件
2)组件的诸如gif,HTML文件
3)服务器端的功能类.
4)部署说明.
一个J2EE应用有一个或几个enterprisebean组件模块、WEB组件模块或应用程序客户端组件模块组成。
(2)部署说明文件
一个J2EE应用程序以及它的每一个模块有它自己的部署说明。
一个部署说明就是一个具有.xml扩展名的xml文件,它描述了一个组件的部署设置.
(3)J2EE的EAR文件.(EnterpreiseARchives)
一个J2EE应用以及它的所有模块被提交到一个EnterpriseARchive(EAR)文件中.
一个EAR文件,就是一个具有.ear扩展名的标准的JavaArchive(JAR)文件.
(4)相关JAR文件说明
1)每一个EJBJAR文件包含一个部署说明、enterprisebean文件以及相关文件。
2)每一个应用程序客户端JAR文件包含一个部署说明、应用程序客户端类文件,以及其他相关文件。
3)每一个WAR文件包含一个部署说明、WEB组件以及相关资源文件。
总结:
J2EE定义:
J2EE是一个中间件基础架构,有了它,开发者只需要集中精力编写代码来表达企业应用商业逻辑和表达逻辑,至于其他系统问题,如内存管理、多线程、资源分布、垃圾收集都将有J2EE自动完成。