频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Java企业应用系统框架的比较与选择(2)

作者: 许晓曼/唐文忠 出处:计算机与信息技术  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-10-08 13:47
关 键 词:Java  EJB3.0  Spring  Hibernate
阅读提示:目前流行的Java企业应用系统框架种类繁多,为了使开发人员正确选择系统架构从而提高Java企业应用的开发效率,首先针对基于EJB和基于POJOs的较为流行的几种框架分别进行了概述,然后对这些框架从表现层、业务逻辑层和持久层的实现细节进行了对比,总结了Java企业应用系统框架选择需要侧重考虑因素,得到了基于EJB的框架和基于POJOs的框架分别适用的范围。

2.2 业务组件层框架比较

EJB 2.1框架有些过于复杂了,有如下缺点:① EJB模型需要建立许多组件接口和实现许多不必要的回滚方法;②EJB的部署描述复杂而容易出错;③开发人员不能脱离EJB容器测试。对于以上缺点JCP (Java Community Process)制订的EJB3.0标准框架做了相应的改进,该框架为所有主要的J2EE厂商支持。EJB3.0和Spring两个框架结构都有一个共同核心设计理念:将中间件服务传递给耦合松散的POJOs。

EJB3.0框架与应用服务器高度整合,服务整合代码也包装在一个标准接口后面。EJB框架一方面有成熟的EJB容器支持,基于EJB框架的企业应用性能优良;另一方面EJB容器设计因为考虑了多方面的功能,所以在其内核上总是会显得臃肿,这也是一种重量表现。不需要的东西存在肯定会影响效率,EJB不能根据项目需求对EJB整体包括EJB容器进行可配置式的切割。

Spring框架处于应用服务器和服务库的上方,服务整合的代码属于框架,并暴露于应用开发者。它与应用服务器整合的能力相对EJB3.0要弱。但是Spring框架模块的可分离配置体现了它优于EJB3.0的灵活性。

框架
 
EJB2/EJB3
Spring Framework 1.x
灵活性(松耦合)
 
EJB3比EJB2更具灵活性,EJB3支持应用系统POJO
支持应用系统POJO,框架本身可分离配置
功能完整性
全面,支持异步JMS 分布式事务
较为全面。有自己的表现层和持久层模板,可支持异步
领域范围
支持业务逻辑Session
不支持,需要开发者额外基于ThreadLocal编制代码
IoC/AOP支持
EJB3支持IoC, JBoss等EJB3服务器支持AOP;基于业务组件的较粗粒度
基于JavaBeans类的细粒度支持AOP
单台性能
一般,批量查询等大数据量业务处理须小心,存在本地不透明缺陷
一般,应用程序可配置cache/Pool以提高性能
可伸缩性
可支持多台服务器分布式计算
不支持,可依靠EJB实现
开发效率
学习曲线长,导致熟练掌握难。借助商业开发工具可加快熟练者的开发速度
可挑选只适合自己的功能实现。相对EJB稍简单
系统规模
EJB2适合大型系统;EJB3适合中大型系统
可挑选只适合自己的功能实现。相对EJB稍简

表2:EJB和Spring框架的具体细节比较

2.3  持久层框架比较

容器管理持久性(CMP)是对EJB中Entity Bean进行持久性管理的方式。EJB2.1 持久性模型过于复杂并且存在基础缺陷[3]。EJB3.0持久层针对EJB2.1的缺陷做了相应改进,采用与Hibernate类似的机制。

Hibernate相对而言其基本优势如下:①Hibernate 使用 Java 反射机制而不是字节码增强程序来实现透明性;②Hibernate的使用简单;③映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。Hibernate 也有一些缺点,它限制所使用的对象模型 (例如,一个持久性类不能映射到多个表)。

使用iBATIS提供的O/R Mapping机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现O/R Mapping 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而iBATIS则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”O/R Mapping机制而言,iBATIS以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,iBATIS的出现显得别具意义。

3  企业应用系统框架选择

设计和性能是实际框架选择的两个基本点,善于平衡才是框架选择的主要宗旨。轻量级框架和重量级框架解决问题的侧重点是不同的。

轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。采用轻量框架一方面因为尽可能的采用基于POJOs的方法进行开发,使应用不依赖于任何容器,这可以提高开发调试效率;另一方面轻量级框架多数是开源项目,开源社区提供了良好的设计和许多快速构建工具以及大量现成可供参考的开源代码,这有利于项目的快速开发。例如目前Tomcat+Spring+Hibernate已经成为许多开发者开发J2EE中小型企业应用偏爱的一种架构选择。随着可供选择的框架层出不穷,开发者可以根据需要对应于企业应用三个层次的轻量级框架选择,本文第2节的内容可供选择参考。

而作为重量级框架EJB框架则强调高可伸缩性,适合与开发大型企业应用。在EJB体系结构中,一切与基础结构服务相关的问题和底层分配问题都由应用程序容器或服务器来处理,且EJB容器通过减少数据库访问次数以及分布式处理等方式提供了专门的系统性能解决方案,能够充分解决系统性能问题。

轻量级框架的产生并非是对重量级框架的否定,甚至在某种程度上可以说二者是互补的。轻量级框架在努力发展以开发具有更强大,功能更完备的企业应用;而新的EJB规范EJB3.0则在努力简化J2EE的使用以使得EJB不仅仅是擅长处理大型企业系统,也利用开发中小型系统,这也是EJB轻量化的一种努力。对于大型企业应用以及将来可能涉及到能力扩展的中小型应用采用结合使用轻量级框架和重量级框架也不失为一种较好的解决方案。

4  总结

目前适用Java企业应用的系统框架可谓百花齐放,各种框架都有长短,选择应用系统框架时不可盲目的追求流行,首先需要明确所要实现的应用系统的系统处理能力需求,然后在熟悉比较各种框架细节的基础上从设计以及开发效率方面进行考虑。本文旨在为系统框架选择提供一个参考,限于篇幅本文只对其中的几种框架做了比较,开发者可以根据需要对更多其他框架细节进行比较。

参考文献

[1] EJB3.0 Expert Group JSR 220,Enterprise JavaBeans,Version 3.0
[2] Martin Fowler 撰文,透明编译,《Ioc 容器和Dependency Injection 模式》,2002 年2 月
[3] Spring - java/ j2ee Application Framework reference,Spring中文论坛
[4] 孙卫琴,《精通Struts:MVC 的Java Web 设计与开发》,电子工业出版社
[5] Clinton Begin,《iBATIS SQL Maps Tutorail》,http: //www.ibatis.com
[6] 孙卫琴,《精通Hibernate Java对象持久化技术详解》,电子工业出版社

作者简介

许晓曼(1977.6),女,重庆,北京航空航天大学硕士在读,电子政务;
唐文忠(1968.12),男,河北,北京航空航天大学副教授,研究方向信息安全、电子政务

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



共2页: 上一页 [1] 2
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52371次)
·UML类图详解 (查看46839次)
·Java编程开发手册 (查看25118次)
·UML统一建模语言 (查看24099次)
·C#技术开发指南 (查看22406次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有