基于JSF, Spring, Hibernate框架的web系统开发平台研究

  • 格式:doc
  • 大小:75.50 KB
  • 文档页数:11

基于JSF, Spring, Hibernate框架的web系统开发平台研究 摘要 开发 w eb 应用系统需要解决很多复杂问题,因此我们需要借助于第三方的开发平台,比如Java EE,来降低开发成本。遵循Java EE规范的Java EE框架,为一些web应用中的常见的问题提供了解决方案,可以使web应用开发变得简单高效。目前各种Java EE框架数目繁多,每一种框架都有其特定的应用范围,没有一种框架能够解决web应用中的所有问题,因此我们必须选择合适的框架整合起来组成一个系统开发的基础开发平台。现在各种开源的Java EE框架不断涌现,Java EE官方框架也不断推陈出新,为我们提供了很多选择。通过比较分析,本文选择新兴的Java EE标准框架JSF和开源框架Spring, Hibernate作为web应用开发的解决方案。 本文首先在分析JavaE E规范多层结构的基础之上,确定了平台架构分层;其次对平台架构各主要层次进行分析,分析了web层、业务逻辑层所需采用的设计模式,对持久层的各种解决方案和DAO设计模式进行了分析;然后通过对比分析各种优秀的Java EE开源框架以及标准框架来选择平台架构各个层次所用的框架,经过比较选择了JSF, Spring, Hibernate,给出了使用所选框架的平台架构,并对Spring和JSF, Hibernate的整合方法进行了分析,对JSF,Spring,Hibernate整合方案和其它整合方案进行了比较分析。最后在开发平台的基础上通过一个旅行社电子商务系统的分析、设计、实现来验证开发平台的有效性,首先在系统功能描述的基础上,通过UML用例图和活动图对系统进行分析;其次划分系统功能模块、确定系统体系结构和运行环境;再次进行数据库设计、类设计、页面设计,在持久层设计了LineOrder等持久化类、以及与之协作的LineOrderDAO等DAO接口和LineOrderDAOlmpl等DAO实现类,在业务逻辑层设计了业务服务接口LyService和接口实现类LyServicelmpl,以及一些工具类,在web层设计了LineOrderBean等Backing Bean以及与之协作的ManagedBean、相关工具类;在系统分析设计的基础上,采用Eclipse, Tomcat, SQLServer作为开发工具,利用Spring作为基础架构,使用Hibernate, Spring, JSF分别实现了持久层、业务逻辑层和web层。实践表明,在web应用开发中,使用整合JSF, Spring, Hibernate的开发平台,可以充分发挥各个框架的优点,降低web应用开发的复杂性,提高开发效率和质量。 关键词:JSF框架:Spring框架;Hibernate框架 第一章绪论 1.1研究背景及研究意义 随着计算机网络的迅猛发展,web在各行业中的应用越来越广泛,发挥的作用越来越大。web已经成为最重要的Internet应用,研究资料显示web通信量占Internet通信量的三分之二以上.作为一种资源的组织和表达形式,web已经成为最重要的信息传输媒介。越来越多的政府机构、公司、组织创建了基于web的应用系统。web应用系统己从简单的web站点发展到专业应用程序、电子商务系统和大型的企业级应用系统。web应用系统的规模不断扩大,复杂程度也呈指数级增长,开发web应用越来越复杂。 we b应用系统的体系结构从传统的C/S两层结构,发展到B/S结构,再到现在的多层结构。通常web应用系统至少可以划分为三个层次:表示层,对于web应用来说也就是web层,该层向客户提供业务逻辑层的服务,负责处理客户请求,和业务逻辑层交互,并显示结果;业务逻辑层,接收web层的请求,处理业务逻辑;持久层,封装数据库访问逻辑.多层结构相对于两层结构来说,能够降低系统各层之间的耦合,可扩展性好,维护方便。 为了满足企业级应用开发的各种复杂需求,给用户提供可靠、完善的信息服务,微软和sun公司分别推出了.NET和J2EE(现在更名为Java EE),它们之间的竞争促进了web开发技术的迅速发展.基于Java EE的web应用以其层次性、可扩展性、安全性、平台无关性得到了大多数公司的认同, 已经成为企业级web应用的主要解决方案。Java平台下传统的JSP/Servlet开发方法优势在于直接简单,对于小型的web应用可以很方便、快速的进行开发,但是这种不加控制的开发方式容易造成以下问题:整个web应用体系混乱,各种代码混杂,显示、业务和数据的高耦合,难以修改和重用;开发代价太高,不能满足目前大型的web应用开发中普遍要求降低开发团队的技术成本和分工协作难度、缩短开发时间的要求;新的web应用程序开发经常从头开始,难以利用现有成果[I]Et。基于JavaE E的框架技术是解决上述问题的重要技术[31e E M是Java企业版的一部分,也是一种框架。传统的EJB是一种复杂的、重量级的web应用解决方案,同时在性能、简单性等方面作出了牺牲[41。由于EJB的复杂笨重,Spring,Hibernate等开源框架逐渐流行起来,它们为web应用提供了优秀的轻量级的解决方案。 流行的开源框架Spring通常和web框架Struts一起使用,而新兴的web框架JSF比Struts技术更先进;Hibernate是一种成熟的持久层框架,在实际开发中的应用很多.因此本文将Spring. JSF. Hibernate整合起来开发web应用,对于引导项目开发采用先进技术具有指导意义。并且各个框架的侧重点不同,研究如何把它们整合起来作为一个通用的开发平台,可以充分发挥它们各自的优点,有利于开发高质量的web应用系统。该web系统开发平台可以满足大多数web应用的需求,可以作为我们日后系统开发的基础开发平台。这样课题的研究成果具有普遍意义,解决了web应用开发中的常见问题,便于日后进行复用,有利于降低开发成本。 1.2研究现状 在web应用系统的开发中,框架的使用很普遍。框架使得系统的开发降低了难度,并且复用了良好的设计,使系统的可扩展性、可维护性、灵活性得到了提高。Java技术的广泛应用,使开源社区推出的框架层出不穷,另一方面,优秀框架的出现既为项目开发提供了方便、可靠的工具,也推动了Java技术的进一步发展。 Java开源社区给我们提供了很多优秀的开源框架,这些框架广泛应用于web应用开发中。开源框架是建立在Sun公司Java EE技术基础之上的,它们为开发者提供了更简单的编程模型和其他一些好处。目前在web应用的各个层次涌现出了很多优秀的开源框架,如web层的Tapestry, WebWork, Struts框架,业务逻辑层的Spring, Hivemind框架,持久层的Hibernate, iBATIS框架。另外,Sun公司也推出了一种的新的web框架JSF. web层的Struts框架出现的比较早,应用较广泛,是一种成熟的框架。JSF是一种新兴的web层框架,也是一种技术标准.JSF采用的是事件驱动型的组件模型,组件模型是一种先进的模型,有利于系统的开发和维护,而Struts只是单纯的MVC框架。并且JSF是一种彻底的MVC,实现了模型和视图的完全. JSF相对于流行的Struts来说更为先进。 当EJB刚推出的时候,占据了业务逻辑层和持久层框架的主要地位,EJB的功能很强大,主要用于构建大型的、分布式的企业系统,EJB较为复杂,学习、使用起来比较困难,它能够为我们解决构建企业系统所遇到的大部分问题,但是其中的有些特殊问题我们遇到的可能性较小,所提供的功能很多,但我们未必都需要。EJB相对于现在流行的轻量开源框架来说,属于重量级的框架.EJB专家组也认识到了EJB的缺点,最新的EJB3.0,致力于降低使用EJB的难度和复杂性,EJB3.0借鉴了Spring, Hibernate的成功经验,如O/R映射、IOC,AOPt41,但是和开源框架相比还是不够简单。 持久层框架主要有EJB的实体Bean,H ibernate和iBATIS等等。良好的持久层框架应当实现对象/关系映射,即ORM。因为有Hiberante, iBATIS这样的工具帮助我们实现对象和关系数据库表之间的映射,克服了对象和数据库阻抗不匹配问题,所以才使我们能够以面向对象方式来操作关系型数据库系统。Hiberante是目前很流行的、开放源码的ORM框架。Hibernate框架在实际开发中使用的很成功,框架本身也很成熟。其他的持久层框架,如实体Bean, iBATIS都没有Hibernate成功。 目前国内也出现了一些轻量框架,不过没有国外的开源框架应用广泛,影响也不够大。如国人开发的JDon轻量框架,用于快速开发小型系统,表示层借助Struts实现,提供了用于访问数据库的简单的持久层模板。 1.3 研究内容 现在各种框架数目繁多,每一种框架都有其特定的应用范围,没有一种框架能够很好的解决web应用中的所有问题。因此如何根据所要开发的系统选择合适的框架组合起来,并且使系统中的各个层次以一种松散祸合的方式彼此作用而不用管理底层的技术实现细节,成为我们面临的主要问题. 为了解决以上问题,本课题主要对以下内容展开研究:研究和分析JavaE E的多层体系结构,了解Java EE框架国内外发展、应用状况;根据web系统开发平台设计目标,设计平台架构,并对架构各个层次采用的设计模式和持久层的解决方案进行分析,确定持久层的解决方案;通过比较分析各种框架,确定平台架构各个层次的技术方案,搭建web系统开发平台;研究和分析Spring为web应用提供的基础服务以及Spring和JSF, Hibernate框架整合的方法;最后、通过将开发平台应用于一个旅行社电子商务系统的开发中,检验开发平台. 1.4文章结构 第 一 章 :简单的介绍了课题的研究背景、研究现状、研究内容及研究意义。 第二 章 : 首先介绍了JavaE E,然后介绍了JavaE E多层体系结构,并分析了多层体系结构的优点。 第三 章 : 通过各种框架的比较分析,确定平台的架构。包括平台设计目标、平台架构分层的确定,然后对平台架构各个层次所需注意的问题进行分析,在此基础之上,通过对比分析各种框架选择平台架构各个层次所用的框架,给出了使用所选框架的平台架构,并对Spring和JSF, Hibernate的整合方法进行了分析,对JSF, Spring, Hibernate整合方案和其他整合方案进行了比较分析.后面 两 章 使用前文提出的开发平台实现了一个旅行社电子商务系统。 第四 章 : 首先介绍了旅行社电子商务系统,其次确定系统的功能需求,进行用例分析和活动流程分析,然后确定系统的功能模块、体系结构、运行环境,最后进行数据库设计、各个层次的类设计以及页面设计.