【Java开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Java开源代码-JavaEE轻量级框架在Web系统中的应用与实现 - 硕士论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
华中科技大学 硕士学位
论文JavaEE轻量级框架在Web系统中的应用与实现 别:硕士 专业:软件工程 指导教师:卢力 20090522 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 随着网络技术和企业信息化建设的发展,企业内部系统架构变得更加复杂且是分布式的。
如何设计一个松耦合和灵活应变的系统对架构体系设计做出了新的挑战,而 JavaEE 以其跨平台和对
网络编程良好支持的特性成为众多 Web 应用系统的首选。
虽然 JavaEE 的 EJB 组件对分布式应用提供了强大支持,但由于其本身的复杂性影响了开发的效率,而如今不断涌现的优秀轻量级框架更为企业级应用提出了更好的解决方案。
基于这个思路出发,提出了一种基于 JavaEE 轻量级整合框架的体系结构,并利用
Java RMI 技术实现了分布式应用。
论文首先通过用例图、 ER 图与时序图对系统进行分析。
其次对系统划分了逻辑层次,共分为表示层,业务逻辑层和持久层。
表示层利用集成了
Java Studio CreatorIDE 的 Visua l Web Pack 组件包,采取可视化方式设计出 Backing Bean 与 JSP 分离的JSF 框架体系,通过 Scenario 方式选择具体工厂实现远程方法调用,利用 Facade 设计模式与
Java RMI 技术在服务器端提供与业务逻辑层相接的接口;业务逻辑层分为逻辑处理层及控制层,充分利用 Spring 依赖注入机制管理业务逻辑对象及其生命周期;持久层设计中引入了持久类及其相关的 DAO 接口及 DAO 实现类,利用 DAO工厂类进行整合处理。
随后在系统分析的基础上,采用 NetBeans、Eclipse、Oracle 、Tomcat 作为开发工具,利用 Spring 作基础架构,并分别使用 JSF、Spring、Hibernate实现了表示层、业务层及持久层。
最后
论文通过一个实际生产管理系统项目的分析、设计、实现来验证整合架构的有效性、合理性及可扩展性。
实践表明,该整合框架能满足企业内部网分布式需求,同时也能充分发挥各个框架的优点,具有比较好的可扩展性和伸缩性,既能降低 Web 应用开发的复杂性,也能提高开发效率和质量,是分布式应用在轻量级整合框架中的一次尝试。
关键词:JSF 框架关键词 Spring 框架 Hibernate 框架 RMI 技术 分布式系统 I 华 中 科 技 大 学 硕 士 学 位 论 文 ABSTRACT As the development of Network Technology and Enterprises InformatizationIntranet becomes more complicated and it is distributed. How to design a loose andflexible system appeals to be a new challenge to architecture design. However JavaEEwhich is famed for its mer its of crossing platforms and good support for
webprogramming becomes the best choice of Application System. Although EJB provided astrong support for the distributed system it is not efficient due to its complexity. Whileconsta ntly emer ging of those outsta nding Lightweight Frameworks have given newsolutions for the Enterprises Applications. From this point of view it proposed anintegrated architecture based on JSF Spring and Hibernate Frameworks and fulfills itsdistributed task using
Java RMI technology. First it analyses the system through use case ER and Sequence dia grams. Secondlyit divided the system into three logic la yers. In the Web la yer it chose Visua l Web Packcomponent which integrated the
Java Studio Creator IDE to design a kind of JSFFramework composed of independent JSP and Backing Bean through visua lized ma nner.The Business Logic Layer was divided into Logic Handling Layer and Control Layerusing Ioc mecha nism of Spring to ma nage the Logic Objects and their life cycle. Betweenthe Web Layer and the Logic Layer it used Scenario mode to switch requests fromdifferent factories. It used Fa
cade Design Pattern and
Java RMI service to provideinterface of server side for client side. In the Persistent Layer it cited Persistent Classesand DAO Interfaces and their Implementations using a DAO Factory class to integratethe whole Persistent Layer. Based on the analysis of the System it used NetBeans EclipseOracle and Tomcat as the development tools. It used Spring as the basic Framework andimplement three Layers using JSF Spring and Hibernate Frameworks. This system isfocusing on testifying its availability rationa lity and expandability through analyzingdesigning and realizing a practica l Manufacture Management project. Practice has shown that this kind of integrated Frameworks can not only meet systemrequirements but also make full use of each Frameworks advantages. It has betterexpandability and flexibility. It can reduce the complexity of the system as well as II 华 中 科 技 大 学 硕 士 学 位 论 文enhance the efficiency and the quality of the system. It is an attempt of distributedapplica tion using Light-weight integrated Frameworks. words:JSF frameworkKey
words Spring framework Hibernate framework RMI technology Distributed system III 独创性声明 本人声明所呈交的学位
论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽 我所知,除文中已经标明引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位
论文作者签名: 日期: 年 月 日 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,即:学校有权保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权华中科技大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位
论文。
保密□, 在 年解密后适用本授权书。
本
论文属于 不保密□。
(请在以上方框内打“√”) 学位
论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪论1.1 研究背景与意义 随着计算机网络的迅猛发展,Web 系统在各行业中的应用越来越广泛,发挥的作用也越来越大。
作为一种资源的组织和表达形式,Web 己经成为信息领域里最重要最
常用的信息传输媒介。
近年来,越来越多的企业根据自身分布式信息处理的需求,纷纷寻求适合自身业务的 Web 应用系统。
Web 应用系统也从简单的 Web 站点发展到专业应用程序、电子商务应用系统和大型的企业级应用系统。
随着 Web 应用系统的升级换代,复杂程度也呈指数级增长,使得 Web 应用系统开发也面临更大的挑战。
传统的基于 C/S(Client/Server 的简写)模式的应用系统由于灵活性、可维护性和可扩展性较低,逐渐被 B/S(Browser /Server 的简写)模式 Web 应用所取代。
目前流行的 Web 应用系统一般分为三个层次:表示层,对于 Web 应用来说也就是 Web层,该层向客户提供业务逻辑层的服务,负责处理客户请求,和业务逻辑层交互,并显示结果;业务逻辑层,接收 Web 层的请求,处理业务逻辑;持久层,封装数据库访问逻辑。
多层结构相对于两层结构来说,能够降低系统各层之间的耦合,可扩展性好,维护方便。
为了满足企业级应用开发的各种复杂需求,给用户提供可靠、完善的信息服务,微软和 Sun 公司分别推出了.
NET 和 J2EE(现改名为 JavaEE),它们之间的相互竞争也促进了 Web 开发技术的多元化发展。
JavaEE 是一种利用
Java 2 平台来简化企业信息系统解决方案的体系结构。
JavaEE 技术的基础就是核心
Java 平台或
Java 2平台 标 准 版 , JavaEE 不仅 巩 固 了 标 准 版 中 的 许 多 优 点 , 同 时 还 提 供 了 对EJB(Enterprise
JavaBean)、Servlet 、JSP(
Java Server Pages )以及 XML 技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系架构。
针对分布式应用,一个企业可将其应用系统组件分布在联网的
计算机上,通过组件间的通信和动作协议为本地用户提供服务和因特网服务,同时也为因特网上的其他用户提供服务。
分布式系统有着并发性、缺乏全局时钟与故障独立等特性。
同 1 华 中 科 技 大 学 硕 士 学 位 论 文时也面临七个方面的挑战:异构型、开放性、安全性、可伸缩性、故障处理、并发性、透明性。
EJB 是
Java 企业版的一部分,也是一种框架。
传统的 EJB 是一种复杂的、重量级的 Web 分布式应用解决
方案。
RMI 是 EJB 实现分布式应用的基础,仅用 RMI 技术就可以实现远程调用,使用 EJB 是为了实现组件,事物,资源池,集群等功能,但由于 EJB 自身复杂性,使得人们更关注 Spring 等轻量级框架的应用,它们为 Web应用提供了更为简洁的解决方案。
流行的 Web 层框架 Struts 采用 MVC 模式,而新兴的 JSF(
Java Server Faces)是基于事件驱动且能针对控件进行细粒度操作的框架,较 Struts 有明显优势;Hibernate 作为一种成熟的持久层框架,在实际开发中的应用也十分广泛。
因此本文将 JSF、Spring、Hibernate 整合起来开发 Web 应用,利用 JavaRMI 技术实现分布式应用对于企业级
系统项目开发采用先进架构具有指导意义。
由于各个框架的侧重点不同,本文研究如何把它们整合起来作为一个通用的开发平台,以充分发挥它们各自的优点,有效整合各自的先进技术,有针对性的解决前文所提到的七个方面的挑战,从而开发高质量的 Web 应用系统。
该 Web 系统开发平台可以满足大多数企业级 Web 应用的需求,并可以作为我们日后系统开发的基础开发平台。
这个课题的研究成果具有普遍意义,解决了 Web 应用开发中的常见问题,便于日后进行复用,有利于降低开发成本。
1.2 国内外研究现状 在 Web 应用系统的开发中,框架的使用很普遍。
框架使得系统的开发降低了难度,并且复用了良好的
设计,使系统的可扩展性、可维护性、灵活性得到了提高。
Java技术的广泛应用,使
开源社区推出的框架层出不穷,优秀框架的出现既为项目开发提供了方便、可靠的工具,也推动了
Java 技术的进一步发展。
Java 开源社区给我们提供了很多优秀的
开源框架,这些框架广泛应用于 Web 应用开发中。
开源框架是建立在 Sun 公司 JavaEE 技术基础之上的,它们为开发者提供了更简单的编程模型和其他一些好处。
目前在 Web 应用的各个层次涌现出了很多 如优秀的
开源框架, Web 层的 Tapestry、WebWork、Struts 框架,业务逻辑层的 Spring、Hivemind 框架,持久层的 Hibernate、iBATIS 框架。
另外,Sun 公司也推出了一种的新的 Web 框架 JSF。
JSF 是一种新兴的 Web 层框架,也是一种技术标准。
JSF 采用的是事件驱动型 2 华 中 科 技 大 学 硕 士 学 位 论 文的组件模型,组件模型是一种先进的模型,有利于系统的开发和维护。
在业务层框架中,当 EJB 刚推出的时候,占据了业务逻辑层和持久层框架的主要地位13,EJB 的功能很强大,主要用于构建大型的、分布式的企业系统。
但 EJB较为复杂,学习、使用起来比较困难,它虽然能够为我们解决构建企业系统所遇到的大部分问题,但是其中的有些特殊
问题我们遇到的可能性较小;尽管它提供的功能很多,但我们未必都需要。
EJB 相对于现在流行的轻量
开源框架来说,属于重量级的框架。
EJB 专家组也认识到了 EJB 的缺点,最新的 EJB3.O,致力于降低使用 EJB的难度和复杂性,EJB3.0 借鉴了 Spring、Hibernate 的成功经验,如 O/R 映射、IOC、AOP,但是和
开源框架相比还是不够简单2 。
持久层框架主要有 EJB 的实体 Bean、Hibernate 和 iBATIS 等等。
良好的持久层框架应当实现对象/关系映射,即 ORM。
因为有 Hibernate 、iBATIS 这样的工具帮助我们实现对象和关系数据库表之间的映射,克服了对象和数据库阻抗不匹配问题,所以才使我们能够以面向对象方式来操作关系型数据库系统。
Hibernate 是目前很流行的、开放源码的 ORM 框架。
Hiber nate 框架在实际开发中使用的很成功,框架本身也很成熟15 。
其他的持久层框架,如实体 Bean、iBATIS 都没有 Hibernate 成 功 。
目前国内出现的 Jdon Framework(简称 JF)框架是一套适合开发中小型 JavaEE应用系统的轻量级框架,是国人拥有自主产权的中间件或框架产品,已入选全球 Sun公司网站
Java.Net 企业应用目录,在国内发展已相对成熟,但在世界范围内影响力还不够。
1.3
论文主要研究内容及结构 本课题主要实现了基于 JavaEE 的轻量级整合框架实现的分布式 Web 应用系统。
它在表示层利用基于事件的 JSF 框架达到 UI 设计与业务操作良好分离的效果,同时通过 Backing Bean 的辅助达到控件级细粒度化操作;在业务层利用 JavaRMI 技术与表示层交互;通过 Spring 良好的 IoC 机制控制业务逻辑处理,通过事务管理机制与 Hibernate 协作持久层操作。
整个体系结构清晰简洁,相对于传统 EJB实现的分布式应用系统而言,既发挥了各层次框架优势,也达到了
软件开发中“高内聚,低耦合”的思想要求,降低了开发的难度。
在本课题中结合一个实际生产管理系统的项目实例,具体研究内如下: (1)通过使用
Java 语言借助 NetBeans 、Eclipse、Tomcat 等相关开发工具实现 3 华 中 科 技 大 学 硕 士 学 位 论 文了基于 JavaEE 轻量级整合框架的分布式 Web 应用系统。
(2)介绍了系统 实现的 主要技 术,包 括个层 次框架 技术( JSF、 Spring 、Hibernate)及分布式应用技术(
Java RMI )。
(3)结合项目背景,分析了从企业整体体系结构到具体项目需求,绘制了系统用例模型图。
(4)通过 E-R 模型建立确立了数据库结构。
(5)通过时序图描述确立系统运行时机制及流程。
(6)通过系统详细分析选取各层次模块设计模式及组织结构。
本文各章节如下: 第一章绪论,介绍了本文的研究背景与意义,国内外研究概况和
论文研究内容及组织结构。
第二章关键技术介绍,对 JSF、Spring、Hibernate 三种框架的体系架构及其运行机制与原理给出了详细说明,分析了各框架的优势;随后介绍了
Java RMI 技术,为方便后文整体框架设计做出铺垫。
第三章造纸厂生产
管理系统分析与设计,介绍了本文所探讨的实际项目所在企业概况,及其整体体系结构,给出了该项目的开发工具及运行环境,随后对将要实现的系统进行了需求分析,划分了主要 ER 关系图,最后给出了利用三种框架与RMI 技术整合的总体设计图模型并给出了表示层、业务层及持久层的详细设计。
第四章生产管理系统的实现,介绍利用当前架构实现项目的过程,包括持久层、业务层及表示层的核心
代码实现。
第五章结束语,对本文的
工作进行总结,并对今后的研究工作进行展望。
4 华 中 科 技 大 学 硕 士 学 位 论 文 2 关键技术研究 本章 将简单阐述系统开发中应用的关键技术,包括开发系统所采用的基于JavaEE 的 Web 层框架 JSF、轻量级框架 Spring 与用于持久层的 Hibernate 框架,同时也将对用于分布式对象之间
通信的远程方法调用(
Java RMI)技术做出详细阐述。
2.1 JSF 框架技术2.1.1 JSF 框架介绍 JSF 是一个基于
Java 的 Web 应用框架,侧重于用户界面的创建和管理。
Servle t是 JSF 的基础,它定义了如何用服务器端组件来封装和实现 Web 应用程序 3 ;JSP在 Servlet 的基础上提供了页面模板创建文本内容(如 HTML)的机制,它能与 JSF很好的集成4 ;JSP 标准标签库(JSTL)则定义了一套标准的 JSP 操作,简化了 JSP页面的开发,它能与 JSF 的标签库互相补充 5 。
图 2-1 所示描述了这几种技术之间的关系。
应用
程序 JSF 标签 JSTL 应用程序标签 JSF 库
JSP Servlet 图 2-1 JSF 与其他技术之间的关系图 JSF 主要包括两个方面的内容 6 :一个 API 工具集合,用来表示用户接口组件、管理组件的状态、处理事件和验证输入、定义页面间的
导航以及支持国际化;一个 JSP 的自定义标签库,用来在 JSP 页面中显示 JSF 接口。
2.1.2 JSF 框架组成元素 UI 组件状态:JSF 特别解决了如何在同一 Web客户会话内的不同请求之间保存用户界面组件状态。
组件渲染:
HTML 只是众多标记语言的一种,而每个 Web 客户所支持的具体的标记语言可能不同。
JSF 为形形色色的目标 Web 客户提供了渲染机制。
5 华 中 科 技 大 学 硕 士 学 位 论 文 表单处理:大多数 Web 应用是以表单为基础的。
JSF 提供了许多便利功能,来处理基于表单的多页和单页请求。
表单验证:同表单处理过程一起,对表单进行验证也是非常必要的。
JSF 帮助将此过程自动化,并在需要时提供错误
报告。
事件模 型 : JSF 提供了 强 类 型的 组 件 事件 模 型 ,通 过 服务 器 端 的处 理 器(Handler)来响应客户端生成的事件。
类型转换:由于 Web 客户通过 HTTP 发起请求所提供的表单数据是字符串类型,因此将这些字符串与应用 Model 相互转换的机制是非常有用的。
JSF 提供了基于类型转换的机制。
错误处理:所有应用必须处理应用错误和异常。
JSF 提供了一个机制来处理错误条件并将它们反馈给用户界面。
2.1.3 JSF 框架工作原理 JSF 应用采用的是事件驱动模式,它是通过处理由页面中组件触发的事件来工作的9 。
这些事件是由用户的动作引起的。
比如,当用户单击一个按钮时,按钮会触发一个事件,通过编写监听这个事件的监听器,JSF 开发人员可以决定当待定事件发生时 JSF 应该做什么。
如图 2-2 所示,说明了 JSF 应用的事件处理过程。
Name: Password: 事件 FacesServlet 响应 Login 事件侦听器 图 2-2 JSF 事件处理过程图 JSF 应用看起来就像其他 Servlet/JSP 应用一样,也有部署描述符。
如 JSP 页面、定制标记库、静态资源等。
JSF 应用里的 JSP 页面是用组件树来表示的 10 ,和普通 Servlet/JSP 应用一样,也可以使用 JavaBean 来存放用户输入的数据。
JSF 的控制部分主要包括名为 FacesServlet 的前端 ControllerSer vlet、一个或多个配置文件以及一系列 Action 处理器。
FacesServlet 负责接受来自 Web 客户端的请求,然后执行一组合理的步骤来准备和派发响应。
JSF 中的 Model 是在 Web 应用的 6 华 中 科 技 大 学 硕 士 学 位 论 文View 和 Model 层之间保存和列集数据11 。
Model 经常通过 JavaBean 来表示,在 JSF配置文件中定义为 “ManagedBean”。
View 层主要包括组件树,单个组件或者整个组件都可以改变其渲染方式,来支持众多客户.