Java企业应用系统框架的比较及选择.docx

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目前流行的 Java 企业应用系统框架种类繁多,为了使开发人员正确选择系统架构从而 提高 Java 企业应用的开发效率, 首先针对基于 EJB 和基于 POJOs 的较为流行的几种框架分 别进行了概述, 然后对这些框架从表现层、 业务逻辑层和持久层的实现细节进行了对比, 总 结了 Java 企业应用系统框架选择需要侧重考虑因素,得到了基于 EJB 的框架和基于 POJOs 的框架分别适用的范围。 EJB 的体系结构是 J2EE 的基础和核心, J2EE 定义了整个标准的应用开发体系结构和一 个部署环境,基于 EJB 的框架一度成为人们开发 Java 企业应用的首选。随着 Java 开源项目 阵营的发展壮大, 一些基于 POJOs(Plan Old Java Objects)的开源框架被越来越广泛地引入 到 Java 企业应用的开发中来。根据复杂程度人们习惯把前者称为重量级框架,把后者称为 轻量级框架。 Java 企业应用框架一般被划分为三个层次:表现层、业务逻辑组件层和持久层。 本文主要对目前企业应用对应于这三个层次的两种类型的流行框架进行了细节比较, 最后针 对 Java 企业应用的系统框架选择提出作者的观点。两种类型框架概述 1、基于 EJB 的重量级框架 由于 EJB 容器能够很好的处理系统性能、事务机制、安全访问权限以及分布式运算等 问题,基于 EJB 框架进行开发能保证企业应用平滑发展,而不是发展到一种规模就重新更 换一套软件系统,且可以保证开发人员将大部份精力集中在业务逻辑的开发上。采用 EJB 框架开发的企业应用具有必须继承或依赖 EJB 容器的特点。 EJB 充分考虑到了顶级大型项 目的需求,使用它几乎能解决企业级应用涉及到的所有问题,相应的基于 EJB 框架也是一 个功能复杂的重量级框架。 J2EE1.4 标准规定的 EJB 2.1 框架缺少设计且实现起来有些过于复杂。当前 J2EE5.0 的 新规范提出的 EJB 3.0 的目标就是简化开发 [1] ,借鉴了一些基于 POJO 的思想,它相对于 EJB2.1 中两个重要的变化分别是: 一是使用了 Java5 中的程序注释工具, 注释取代了过多的 XML 配置文件并且消除了严格组件模型需求; 二是采用了基于 Hibernate 和 TopLink 思想的 O/R Mapping 模型。 J2EE5.0 的新规范中定义企业应用三个层次的标准实现为: 表现层采用 JSF( Java Server Face), JSF 的开发流程的核心是事件驱动,组件和标签的封装程度非常高,很多典型应用 已经不需要开发者去处理 http 。整个过程是通过 IoC( 依赖注入 )[2] 来实现的;业务组件层采 用 EJB3.0 的 Session Bean。 EJB3.0 允许开发者使用藕合松散的组件来开发应用。这些组件 通过自己发布的商业接口来耦合,不必像 EJB 2.1 规范定义的那样一个 Bean 必须遵守的严 格的组件模型,每一个 EJB 类必须从某一种抽象类中继承,并为容器提供了回调的钩子; 持久层采用 EJB3.0 实体 Bean 持久化模型,吸收了 Hibernate 的一些思想采用 O/R Mapping 模式, EJBQL 也有许多重要的改变。 2、基于 POJOs 的轻量级框架 在基于 POJOs 轻量级框架上开发的应用程序无需依赖于 EJB 容器可独立运行,对应于 Java 企业应用三个层次的轻量级框架技术分别都得到了一定的发展, 这三个层次流行的框架 如下: 目前比较流行的开源表现层框架主要有 Struts 和 Tapestry。Tapestry 与 Struts 应用框架不 同的是,它是基于组件,而不是面向脚本语言(比如 JSP 和 Velocity )的,组件是由一个定 义文件 (以 XML 的格式 )、一个 HTML 模板、一个 JAVA 类构成的;业务组件层轻量级解决 方案也不少,包括 Spring 、Hivemind 等。但是目前使用最为广泛的还是 Spring 框架, Spring 框架是一个基于 IoC 和 AOP(面向方面) [3] 的构架。采用 IoC 使得它可以很容易的实现 bean 的装配, 提供了简洁的 AOP 并据此实现事务管理等, 但是它不具备处理应用分布式的能力。 Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。这样的对象可以在不同 J2EE 环境( Web 或 EJB)、独立应用程序、测试环境之间重用;持久层框 主要有 Hibernate 和各种 JDO 产品,以及 iBA TIS 。 Hibernate 是一个开源的 O/R Mapping

文档评论(0)

157****8893 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档