文档库 最新最全的文档下载
当前位置:文档库 › 文献综述_web开发技术

文献综述_web开发技术

文献综述_web开发技术
文献综述_web开发技术

Web开发技术的文献综述

摘要: Web开发技术和Web开发框架整合实践研究是这个时代的一个热点,本文在参阅国内外Web开发技术和Web开发框架及主要几个框架相关文献的基础上,对Web开发框架研究作了较为全面的总结和梳理,并结合Web开发框架几个主要框架的优劣势进行整合,以期进一步推进Web应用的发展。

关键词:Web开发;框架;Struts;Spring;Hibernate;

The Literature Summary of the

Web Development technique

Abstract:Web development technique and web development framework to integrate practical research is a hot issue of the study in this day and age. This paper made a more comprehensive summary and review on web development technique and web development framework on the basis of foreign and domestic research papers, reflected and combing on the current a more comprehensive summary about several advantages and disadvantages of the main framework,and looked forward to further promotion in the web development framework and research.

Key words: Web development; framework; Struts; Spring; Hibernate;

随着社会不断发展,网络技术日新月异,国内外信息化建设已经到了以Web应用为基础核心的阶段,越来越多的企业选择以Web来建立其应用系统。企业对系统功能需求的增加使企业级应用系统的结构和规模日趋庞大,而Web应用系统的开发也越来越复杂,开发周期越来越紧迫,这也要求开发者采用一种合适的方法来开发软件,以便降低开发和维护成本,提高程序的复用性。于是各种具有不同特点的Web开发框架应运而生,解决这一问题在于选用良好的框架技术。

1 国外Web开发技术文献综述

MVC结构模式是XeroxPARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式。

缑艳阳认为MVC将应用程序分为三个核心模块:模型、视图和控制器,分别处理不同的任务,其主要目的是分离业务逻辑层和表现层。[1]

Struts最早是Apache Jakarta项目的组成部分,开始的代码基础从2000年5月开始开发,1.0版本于2001年6月发布。Struts框架的主要架构设计和开发者是Craig R.McClanahan,他现在是Sun的JavaServer Faces (JSR-127) 以及J2EE平台的Web 层架构的规范领导。

2003年,David Heinemeier Hansson创建一种Web开发技术Rails,并一直延伸Rails 核心团队,2100多名捐助者,一个充满活力的生态系统支持。

2003年,Teb Husted、Cedric Dumoulin等学者提出框架是可重用的半完成的应用程序,可以用来产生专门的定制程序。框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性。[2]

2007年初,Apache Struts团队已经发布下一代产品Struts2,是在 Struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。

2007年,Eyal Oren, Armin Haller, Manfred Hauswirth, Benjamin Heitmann提出语义Web2.0 ,他们认为语义Web应用框架扩展了Ruby on Rails,使其支持集成语义Web混搭应用的快速开发。当前的Web应用大多是数据库驱动的。开发者设计一个数据库架构,在此架构上构建应用逻辑,生成用于用户交互的Web页面。这些应用是中心化的,并且依赖于它们自己的关系数据库,限制了数据集成的可能性。混搭应用(通常称为Web 2.0应用)是一种新兴的Web开发范式,可以组合多个不同Web应用的功能。语义Web是一个可以由机器进程处理的Web数据网络,可以在现有的Web网络基础上进行数据重用和数据集成。[3]相比在传统的数据库,在语义Web数据上构建社交网络应用有如下几个优势。使用语义Web数据的全局标示符和基于图的模型,可以跟随图中的链接,从在线数据源按需获取附加的信息,从而实现数据集成。

2国内Web开发技术文献综述

2008年刘胜利、寿永熙提出框架是软件系统的设计、开发过程中的一个概念,它强调对已完成的设计、代码的重复使用。框架往往都是针对某个特定应用领域的,是在对这个应用领域进行深刻理解的基础上,抽象出该应用的概念模型,是一个有形无形的框架,不同的具体应用根据自身的特点对框架中的抽象概念进行实现,完成应用的功能。基于J2EE标准的框架基本上都是封装了许多组类,利用这些类之间特定的相互协作,为一些通用问题提供解决方案。[4]其中典型的有Struts框架、Spring框架、Hibernate 框架和Jsf框架等。

2008年,北京工业大学张曦硕士认为,如今围绕Web应用系统的开发技术竞争也日趋激烈。技术进步和需求多样化使得产品寿命周期不断缩短,企业面临着缩短产品开发周期,提高产品质量,降低成本和改进性能的压力。[5]这就要求企业能快速对不断变化的市场做出反应,开发满足用户需求的定制的个性化产品去占领市场一席地以赢得竞争,市场的竞争也主要围绕产品的竞争而展开。

3 Web开发框架的现状

北京交通大学硕士谭欢说,现在,不少企业采用基于Internet的应用来构筑企业信息架构。J2EE技术作为如今最流行的分布式计算平台,已成为基于Web的企业应用的核心部分。基于J2EE的Web开发框架可以为采用Java服务器端技术开发的人员提供一种可重用的体系结构,可以便捷地使用Web开发技术并专注于具体的业务逻辑。同时,B/S 框架成为目前主流的企业应用系统的开发体系。[6]因为B/S框架不需要客户端安装系统软件,具有易用性、通用性和良好的可扩展性等优点,它支持实时的信息发布,动态的用户交互及与后台系统安全灵活的连接。也正因为这,构造功能强大、应用灵活、开发简便的Web应用程序成为当前Internet技术发展的热点。

4 主流Web开发框架分析

4.1 MVC结构模式和WebWork框架

2012年王欢认为MVC的工作原理是,使用MVC时,当用户向Web容器发送一个请求后,Web容器会根据请求和地址去调用一个Servlet进行处理,当Servlet处理完成以后,它需要将结果页面回送给Web容器。[7]

缑艳阳在计算机与网络发表说WebWork是比较领先的MVC框架之一,是OpenSymphony 组织的一个开放源码项目,致力于组件化和代码重用。[1]

4.2 Struts框架

2002年,国外C. Cavaness 专家认为Struts是一个典型的MVC框架,它也包含了上述三个组成部分。JavaBean和EJB组件模型层次组成。行动和ActionServlet的控制器实现,视图层的JSP文件组成。中央控制器控制,接收到一个请求,这个请求重定向到相应的模块控制器执行动作。随后,该模块控制器处理请求并返回结果到中央控制器使用一个JavaBean对象,它存储在视图层包括显示模块,必须提出的意见,提出的任何对象。中央控制器返回的JavaBean对象重定向到主视图显示它的信息。[8]Struts的侧重于降低性能和逻辑之间的耦合,而较少关注业务层和持久层之间的相关性。

Struts名字来源于在建筑和旧式飞机中使用的支持金属架。“Struts”这名字是为了提醒我们记住支撑我们房屋,建筑,桥梁等物的基础支撑。就如我们的软件系统产品,软件工程师使用Struts为各种业务应用的每一层提供支持。Struts1经过六年多的发展,已经是一个高度成熟的框架,不管在稳定性方面还是可靠性方面都得到了广泛的证明。市场占有率也超过20%,几乎已经成为了事实上的工业标准。但随着时间的流逝,技术的进步,Struts1的局限性也暴露出来,并制约了Struts1的继续发展。

Struts的优势:1、表现欲逻辑分离,使开发流程和架构更加合理;2、Struts为系统开发人员提供了充分的扩展机制,维护扩展比较方便;3、业界“标准”,学习资源丰富,HTML标签优秀。

当然,Struts也有它的缺点:1、Taglib的使用使表现层的处理过于复杂,不利于系统的再设计和升级,不利于客户接手系统,增加了开发人员的工作量,从而大大增加了系统的开发成本。2、表单验证没有考虑复用,而且没有对前端验证提出方案,不便于在大型系统中使用。

4.3 Spring框架

徐景秀在期刊发表说Spring是一个开源框架,它由Rod Johnson在2004年3月24日发布创建,并在他的著作《J2EE设计开发编程指南》里进行了描述,这也使他一度成为一个改变Java世界的大师级人物。Spring致力于J2EE应用的各层的解决方案,而不仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,同时贯穿表现层、业务层和持久层。Spring并没有取代那些已有的框架,而是和原有的框架进行了一次无缝地整合。另外,Spring的用途不仅限于服务器端的开发。[9]简单来说,Spring是一个轻量的控制反转和面向切面的容器框架,解决了许多在J2EE开发中常见问题的强大开源框架,它提供了管理业务对象的一致方法并且鼓励对接口编程而且也是对类编程的良好习惯。

Spring框架有一下好处和缺点:1、低浸入式设计,代码的污染极低;2、独立于应

用服务器,可以真正实现“一次编写,随处可用”;3、Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分和全部。它的缺点是使用人数少,JSP中要写很多代码,控制器过于灵活,缺少一个公用控制器;无法使用多个表的复合查询,必须使用SQL语句,这样使得表的映射文件失去意义。

4.4 Hibernate框架

M. Raible学者认为,Hibernate是一个面对Java环境的对象/关系数据库映射工具,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用面向对象的编程思维来灵活操纵数据库,提供了对大多数主流数据库的良好支持,提供了完善的数据关联、事务管理、缓存管理、延迟加载机制,在很大程度上简化了对数据的查询,加快了开发效率。利用Hibernate,开发人员可以按照Java的基础语意,包括关联、继承、多态、组合以及Java的集合架构进行持久层的开发。[10]

2011年时,王海涛、贾宗璞提出Hibernate持久层框架。其主要作用是对Java类与数据库中的表进行映射,完成数据的持久化,同时也提供数据的查询、一致性检查、事务管理等机制。也可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。另外,由于在编程中不会有特定数据库相关的代码,所以我们可以很容易的移植数据库而不用修改Java代码,只需要修改database schema及O/R映射文件,大大提高了系统的灵活性。Hibernate版本更新速度很快,目前为止有两个阶段性的版本:Hibernate2,Hibernate3和Hibernate4,这一点程序员从其Jar文件名便可以看出来。目前最新发布的版本是hibernate-core-4.1.1.Final。[11]

Hibernate的优势在于:1、Hibernate的性能好,映射的灵活性很出色;2、支持各种关系数据库,从一对一到多对多的各种复杂关系。

5 利用各种框架技术的优势整合论述

5.1 J2EE优势特点

2008年大连交通大学的于东超认为目前Web开发技术有Php、Asp、https://www.wendangku.net/doc/331221633.html,等等,但J2EE有其特有的优势保障,J2EE平台的成熟,为搭建灵活性、易维护性的商务系统提供了良好的机制。J2EE的优势主要体现在一下几方面:

⑴能保留现存的IT资源,高效的开发

⑵支持异构环境

⑶可伸缩性强,具有稳定的可用性

J2EE平台的成熟为Web应用进一步的发展提供了更为广阔的空间,它是一种企业级

应用有着严格的规范,更能胜任迅速开发一个灵活、功能强大的Web信息系统。因此,基于J2EE技术开发管理信息系统也成为现在最为流行的一种选择。[12]

5.2 主流框架市场

有资料对以上介绍到的Web开发框架技术做过统计,统计显示,Struts、Spring、Hibernate分别占据三个层次的主流位置。其中Struts和Spring需求高达80%以上,Hibernate将近50%的市场占有率。

5.3 Struts+ Spring+ Hibernate(SSH)整合

当前流行的主体框架技术,是Struts、Spring和Hibernate三种框架。根据当前市场占有率情况,也足以决定Struts+ Spring+ Hibernate(SSH)的地位。但是由于Struts1的设计存在一定局限性,而Struts2不仅吸收了Struts1的部分有点,还建立了一个兼容WebWork和Struts1的MVC框架,使得Struts2逐步取代Struts1的地位。SSH整个架构设计所采用的策略是讲Spring作为开发的核心,向上整合MVC模型的Struts2,向下整合ORM模型的Hibernate,使用Spring的控制反转( IoC (Inversion of Control))容器来管理各组件之间的依赖关系时,Spring的声明事务将负责业务逻辑对象方法的事务管理工作。

采用SSH框架三层结构将总体框架分成三个层次:表示层、业务逻辑层和数据持久层。三层体系将业务规则、数据访问及合法性校验等工作放在业务层处理。客户端不直接参与数据库交互的工作,而是通过中间组件与业务层建立联系,再由业务层和数据交互。

SSH框架的各层内容和关系如图所示:

图1 SSH框架各层内容和关系图

6 Web开发框架的展望

由于各种技术不断发展更新,整合各种主流框架技术框架这一课题目前还在不断的完善和发展中,它在Web系统的开发应用过程中依然有很大的潜力。由于Web应用系统的设计开发是一个复杂多样的系统工程,在不同的系统中应考虑的东西也不同,根据系统的各自特点来满足用户的特定需求涉及方方面面的问题。

Web开发框架未来值得关注和研究的方向主要安全方面的问题。信息安全的目的是包含在信息系统中存储和处理的信息的安全,概况为确保信息的完整性、保密性、可用性、可控性和不可否认性。虽然HTTP可以提供一些基本的安全性,但是Web系统需要更高的保证,比如Web服务如何对用户授权,以及定义不同的用户安全级别等等。

总结

本人通过对Web开发框架、三个主流框架各自特点的了解,通过整合三大主流框架的优势部分,得到SSH继承框架对于Web应用系统的开发具有更高的效率和更好的维护性。随着计算机技术和信息技术的飞速发展,人们依赖技术进步,享受技术进步的同时,关于Web开发技术的认识和发展也不断前进, Web5.0时代已经悄然到来,而基于Web 应用的开发问题也成为热点中的热点。

参考文献

[1] 缑艳阳.基于WebWork、Spring和Hibernate的集成框架的设计与研究 [J].2007:210~211

[2] Ted Husted,Cedric Dumoulin,George Franciscus,et al.Struts in

Action[M].America:Manning Publications Co,2003.

[3] Eyal Oren, Armin Haller, Manfred Hauswirth, Benjamin Heitman. A Flexible Integration Framework for Semantic Web 2.0 Applications[J].IEEE Softeware.2007.

[4] 刘胜利,寿永熙.Web开发框架的分析与研究[J].福建电脑.2008(1):106~107.

[5] 张曦.基于Java的主流Web开发框架的研究和整合[D].北京:北京工业大学硕士学位论文.2008.

[6] 谭欢.基于SSH架构的代码自动生成的研究[D].北京:大连交通大学硕士学位论文 .2007.

[7] 王欢.基于J2EE的Web应用架构研究与设计[J].中国管理信息化2012:53~55

[8] C. Cavaness, "Programming Jakarta Struts," USA:O'Reilly Publishing, 2002.

[9] 徐景芳. J2EE软件开发框架技术探讨 [J].信息产业2012:119

[10] M. Raible, "Spring Live," Colorado: SourceBeat Pbulishing, online book, 2004.

[11] 于东超.基于Struts2_Spring_Hibernate三种框架的通用Web开发框架的研究及应用[D].北京:大连交通大学硕士学位论文 .2008.

[12] 王海涛,贾宗璞.基于Struts和Hibernate的Web应用开发[J] .计算机工程.2011,37(9):112~114

相关文档