j2ee核心技术论文
j2ee核心技术论文 j2ee核心技术论文篇一 J2EE技术浅析 摘要:J2EE平台提供了一个多层结构的分布式应用程序模型,该模型 具有重要组件的能力,基于扩展标记语言(XML)的数据交换,最适合于其商业和 所需技术的产品组件,因此,有必要把J2EE架构和核心技术简要阐述,以提高学 习者的编程能力与企业人员的业务水平。关键词:J2EE WEB服务 EJB 一、J2EE介绍 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构 及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存 在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内 部或外部难以互通的窘境。
目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 P1atform Micro Edition,J2ME)、适用于桌面系统的Java 2 平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序 和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。
1.J2EE的核心概述 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理 相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的 标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特 性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数 据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、 JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够 僚企业开发者大幅缩短投放市场时间的体系结构。
2.J2EE中间件J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要 高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持, 完全支持Enterprse JavaBeans,有良好的向导支持打包和部署应用,添加目录支 持,增强了安全机制,提高了性能。
二、J2EE架构概述 1.B/S多层体系结构 长久以来,C/S(客户端朋艮务器)两层结构在软件开发中广泛应用, 给人们带来相当的灵活性。近年来网络应用的快速普及,以及业务处理要求的不 断提高,C/S模式逐渐暴露出以下架构上的缺陷。
(1)对客户端软件的维护问题. (2)网络传输数据的准确性和稳定性问题. (3)高负荷处理和平衡负载问题等。
2.J2EE三层架构 随着网络应用技术的成熟,针对这一系列的问题,基于多层框架(三 层或以上)的B/S(Browser/Server)结构应运而生。典型情况下,由表示层、业务逻 辑层和数据层各自独立组成所谓的“三层架构”。其中,数据层又叫企业信息系统 层、集成层或者持久化层,本书从技术角度采用持久化层的称谓。J2EE架构设想 的分布式多层体系结构如图1所示。
图1多层体系结构 该体系的核心是EJB组件,EJB是J2EE分布式应用的核心,但是一般 的Web应用并不要求实现分布式应用,因此可以使用其他途径,如Hibernate、JDO 等对象关系映射(ORM,Object―Relation Mapping)工具,或直接使用JDBCAPl 实现数据持久化。
(1)客户端只需符合要求的通用浏览器(比如某系统要求IE5.5以上版 本),就可以使用所有服务,节省了客户端软件安装和维护成本,从而有效降低 部署费用。(2)客户端(其实是表示层组件,这里只为和C/S模式对比理解)不再直 接访问数据库,而通过中间业务逻辑层实现代理服务,从而可以方便地进行数据 库和业务逻辑组件进化,各层次组件之间可以独立变化。
(3)多层结构可以方便地管理外部资源,各组件之间通过服务接口互 相协作,可以使用各种优化技术提高资源和服务的利用率,典型的应用是资源池 优化技术;
(4)错误和性能降低局部化,单独组件模块的错误和超载被最大限度 的限制在本模块内部,维持整体服务的可用性。
三、J2EE实现构架 3目前,在Java Web应用中的主流框架是Sun的J2EE架构,本章在业务 逻辑层一节中探讨了J2EE多层分布式应用模型。J2EE对持久层框架的实现提供 了基本的实现架构如图2基本架构。可以看到,持久性框架是一组软件服务,将 应用与其使用和操作的数据源分离,隐藏访问这些数据源的APl。这些APl组件包 括JDBC、JDO以及实体Bean等。框架通过统一的DAO组件封装这些具体的访问 逻辑。在各层次之间通过实现Serializable接口的可序列化对象(值对象或者数据传 输对象等),传递对象化数据.本书的主题Struts框架位于顶端的表示层,它接受用 户的输入和操作,传递请求和数据给业务逻辑层,接收返回的结果呈现给用户界 面。
图2 J2EE实现构架 1.EJB概述 EJB(Enterprise JavaBean,企业级JavaBean)组件体系是J2EE框架的核 心组件之一,最初被设计为支持分布式对象计算,因此在EJB2.0以前的版本中EJB 组件只有远程接口,直到EJB2.0才因为实际应用的需求,加入了本地接口。业界 对EJB的评价主要源于其复杂程度,EJB并不是一个好学好用的组件。
(1)使用EJB的正当理由:
a提供应用层组件的集群;
b提供与CORBA客户端的互操作:c消费JMS异步消息。
(2)可以考虑使用EJB的理由 a提供多线程解决方案;
b基于角色的访问权限控制;
c熟悉EJB架构。
2.EJB类型 (1)实体Bean 实体Bean是J2EE核心的持久化组件,代表存储在外部介质中的持久 化对象或者企业应用系统资源,它代表实体”,必须实现javax.ejb.EntityBean接口。
简单地说,实体Bean相当于数据库信息,但二者并不等价。因此可以理解为―― 个对象关系映射,不过这个对象关系映射身后有整个J2EE体系的支撑。
EJB2.0中,实体Bean分为BMP和CMP。
BMP是Bean--managed persistent"entity bean,中文就是Bean管理持久 性实体Bean,它需要开发者自己编写符合EJB编程规范的实现代码,实现各种业 务方法和管理方法,因此Bean-managed就是Bean接口自己编写代码实现持久性管 理。
CMP是Container--managed persistent entity bean,中文容器管理持久性 实体Bean,顾名思义就是开发者不用再自己编写代码来实现持久性管理,借助集 成开发工具甚至基本不用写代码。CMP是EJB2.0增加的类型,有效地降低了系统 开发的复杂程度,但是在性能上比编写良好的BMP会稍有所下降。
(2)会话Bean 会话Bean分为有状态会话Bean(Stateless Session Bean)和无状态会话 Bean(Staeless Session Bean)两种,实现javax.ejb.SessionBean接口。在应用中被用 来完成一些业务操作,因此它代表的是“动作”。不同的是,在有状态会话Bean 中可以保存状态,而无状态会话Bean不能。因此,同一个无状态会话Bean的实例之间完全相同,只能用来执行通用操作。而有状态会话Bean的实例各自带有不同 的属性值,可以用来维持客户会话,典型的应用是购物车。有状态会话Bean的作 用在一定程度上类似JSP开发中常用的Session。
(3)消息驱动Bean 消息驱动Bean(MDB,Message Driven Bean)是EJB2.0增加的类型,用 来实现异步消息传递和处理机制,是实现JMS(Java Message Service,Java消息服 务)的基础。JMS提供了一组标准的Java APl实现消息递和处理。消息传递和处理 有两种方式:队列模型和机遇主题的发布/订阅机制。
队列模型是将消息对象放到消息队列中,监听该队列的消息驱动Bean 取出消息进行处理,类似手机短信的形式(短信是消息对象,手机短信信箱是消 息队列,机主是消息驱动Bean实例)。
发布/订阅机制则将消息分发给所有订阅者,类似生活中的报刊订阅。
四、小结 J2EE是java的核心技术之一,是大型企业和高等院校计算机相关专业 学生所掌握的核心技术之一,是Java Web程序员必须在一定程度上了解和掌握的 知识。明白EJB的架构和类型,对科研人员更好的掌握其内涵和原理有重要的理 论价值和现实意义。