资源描述
Web开发技术的文献综述摘 要:Web开发技术和We开发框架整合实践研究是这个时代的一个热点,本文 在参阅国内外We开发技术和We开发框架及主要几个框架相关文献的基础上,对We开发框架研究作了较为全面的总结和梳理,并结合We开发框架几个主要框架的优劣势进行整合,以期进一步推进 We应用的发展。关键词:Web开发;框架;Struts; Spring; Hibernate;The Literature Summary of theWeb Development techniqueAbstract: 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 comprehe nsive summary and review on web developme nt tech nique and web developme nt framework on the basis of foreig n and domestic research papers, reflected and comb ing on the curre nt a more comprehe nsive summaryabout several adva ntages and disadva ntages of the main framework,a nd looked forward to further promotio n in the web developme nt framework and research.Key words: Web developme nt; framework; Struts; Spring; Hibernate;1随着社会不断发展,网络技术日新月异,国内外信息化建设已经到了以Web应用为基础核心的阶段,越来越多的企业选择以Web来建立其应用系统。企业对系统功能需求的增加使企业级应用系统的结构和规模日趋庞大,而Wei:应用系统的开发也越来越复杂,开发周期越来越紧迫,这也要求开发者采用一种合适的方法来开发软件,以便降低开发 和维护成本,提高程序的复用性。于是各种具有不同特点的Web开发框架应运而生,解决这一问题在于选用良好的框架技术。1国外Web开发技术文献综述MVC结构模式是XeroxPAR(在20世纪80年代为编程语言Smalltalk-80 发明的一种 软件设计模式。缑艳阳认为MVC各应用程序分为三个核心模块:模型、视图和控制器,分别处理不 同的任务,其主要目的是分离业务逻辑层和表现层。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 等学者提出框架是可重用的半完成的应用 程序,可以用来产生专门的定制程序。框架一般具有即插即用的可重用性、成熟的稳定 性以及良好的团队协作性。22007年初,Apache Struts 团队已经发布下一代产品Struts2,是在Struts 和WebWor的技术基础上进行了合并的全新的 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网络基础上进 行数据重用和数据集成。相比在传统的数据库,在语义Web数据上构建社交网络应用 有如下几个优势。使用语义 Web数据的全局标示符和基于图的模型,可以跟随图中的链 接,从在线数据源按需获取附加的信息,从而实现数据集成。2国内Web开发技术文献综述2008年刘胜利、寿永熙提出框架是软件系统的设计、开发过程中的一个概念,它强 调对已完成的设计、代码的重复使用。框架往往都是针对某个特定应用领域的,是在对 这个应用领域进行深刻理解的基础上,抽象出该应用的概念模型,是一个有形无形的框 架,不同的具体应用根据自身的特点对框架中的抽象概念进行实现,完成应用的功能。 基于J2EE标准的框架基本上都是封装了许多组类,利用这些类之间特定的相互协作, 为一些通用问题提供解决方案。其中典型的有Struts框架、Spring框架、Hibernate 框架和Jsf框架等。2008年,北京工业大学张曦硕士认为,如今围绕 Web应用系统的开发技术竞争也日 趋激烈。技术进步和需求多样化使得产品寿命周期不断缩短,企业面临着缩短产品开发 周期,提高产品质量,降低成本和改进性能的压力。5这就要求企业能快速对不断变化 的市场做出反应,开发满足用户需求的定制的个性化产品去占领市场一席地以赢得竞 争,市场的竞争也主要围绕产品的竞争而展开。3 Web开发框架的现状北京交通大学硕士谭欢说,现在,不少企业采用基于In ternet的应用来构筑企业信 息架构。J2EE技术作为如今最流行的分布式计算平台,已成为基于Web的企业应用的核心部分。基于J2EE的Web开发框架可以为采用Java服务器端技术开发的人员提供一种 可重用的体系结构,可以便捷地使用 Web开发技术并专注于具体的业务逻辑。同时,B/S 框架成为目前主流的企业应用系统的开发体系。因为B/S框架不需要客户端安装系统软件,具有易用性、通用性和良好的可扩展性等优点,它支持实时的信息发布,动态的 用户交互及与后台系统安全灵活的连接。也正因为这,构造功能强大、应用灵活、开发 简便的Web应用程序成为当前In ternet技术发展的热点。4主流Web开发框架分析4.1 MVC结构模式和 WebWork匡架2012年王欢认为MVC勺工作原理是,使用MVC寸,当用户向Web容器发送一个请求 后,Web容器会根据请求和地址去调用一个 Servlet进行处理,当Servlet处理完成以 后,它需要将结果页面回送给 Web容器。1缑艳阳在计算机与网络发表说WebWorl是比较领先的MVC匡架之一,是OpenSymphony 组织的一个开放源码项目,致力于组件化和代码重用4.2 Struts 框架2002年,国外C. Cavaness专家认为Struts 是一个典型的 MV(框架,它也包含了 上述三个组成部分。JavaBean和EJB组件模型层次组成。行动和ActionServlet 的控制 器实现,视图层的JSP文件组成。中央控制器控制,接收到一个请求,这个请求重定向 到相应的模块控制器执行动作。随后,该模块控制器处理请求并返回结果到中央控制器 使用一个JavaBean对象,它存储在视图层包括显示模块,必须提出的意见,提出的任 何对象。中央控制器返回的 JavaBean对象重定向到主视图显示它的信息。Struts的 侧重于降低性能和逻辑之间的耦合,而较少关注业务层和持久层之间的相关性。Struts名字来源于在建筑和旧式飞机中使用的支持金属架。“Struts ”这名字是为了提醒我们记住支撑我们房屋,建筑,桥梁等物的基础支撑。就如我们的软件系统产品, 软件工程师使用Struts为各种业务应用的每一层提供支持。Struts1经过六年多的发展,已经是一个高度成熟的框架,不管在稳定性方面还是可靠性方面都得到了广泛的证 明。市场占有率也超过20%几乎已经成为了事实上的工业标准。但随着时间的流逝, 技术的进步,Struts1的局限性也暴露出来,并制约了 Struts1的继续发展。Struts的优势:1、表现欲逻辑分离,使开发流程和架构更加合理;2、Struts为系 统开发人员提供了充分的扩展机制,维护扩展比较方便;3、业界“标准”,学习资源丰富,HTMI标签优秀。当然,Struts也有它的缺点:1、Taglib的使用使表现层的处理过于复杂,不利于 系统的再设计和升级,不利于客户接手系统,增加了开发人员的工作量,从而大大增加 了系统的开发成本。2、表单验证没有考虑复用,而且没有对前端验证提出方案,不便 于在大型系统中使用。4.3 Spri ng 框架徐景秀在期刊发表说Spring是一个开源框架,它由Rod Johnson在2004年3月 24日发布创建,并在他的著作J2EE设计开发编程指南里进行了描述,这也使他一 度成为一个改变Java世界的大师级人物。Spring致力于J2EE应用的各层的解决方案, 而不仅仅专注于某一层的方案。可以说 Spring是企业应用开发的“一站式”选择,同 时贯穿表现层、业务层和持久层。Spring并没有取代那些已有的框架,而是和原有的框 架进行了一次无缝地整合。另外,Spring的用途不仅限于服务器端的开发。简单来说, Spring是一个轻量的控制反转和面向切面的容器框架,解决了许多在J2EE开发中常见问题的强大开源框架,它提供了管理业务对象的一致方法并且鼓励对接口编程而且也是 对类编程的良好习惯。Spring框架有一下好处和缺点:1、低浸入式设计,代码的污染极低;2、独立于应用服务器,可以真正实现“一次编写,随处可用”;3、Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分和全部。它的缺点是 使用人数少,JSP中要写很多代码,控制器过于灵活,缺少一个公用控制器;无法使用 多个表的复合查询,必须使用 SQL语句,这样使得表的映射文件失去意义。4.4 Hibernate 框架M. Raible学者认为,Hibernate是一个面对Java环境的对象/关系数据库映射工具, 它对JDBC进行了非常轻量级的对象圭寸装,使得Java程序员可以使用面向对象的编程思 维来灵活操纵数据库,提供了对大多数主流数据库的良好支持,提供了完善的数据关联、 事务管理、缓存管理、延迟加载机制,在很大程度上简化了对数据的查询,加快了开发 效率。利用Hibernate,开发人员可以按照Java的基础语意,包括关联、继承、多态、 组合以及Java的集合架构进行持久层的开发。102011年时,王海涛、贾宗璞提出 Hibernate持久层框架。其主要作用是对 Java类 与数据库中的表进行映射,完成数据的持久化,同时也提供数据的查询、一致性检查、 事务管理等机制。也可以应用在任何使用JDBC勺场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。另外,由于在编程中不会有特定数据库 相关的代码,所以我们可以很容易的移植数据库而不用修改Java代码,只需要修改database schema及O/R映射文件,大大提高了系统的灵活性。Hibernate版本更新速度很快,目前为止有两个阶段性的版本:Hibernate2 , Hibernate3 和Hibernate4,这一点程序员从其Jar文件名便可以看出来。目前最新发布的版本是 hibernate-core-4.1.1.Final。 11Hibernate的优势在于:1、Hibernate的性能好,映射的灵活性很出色;2、支持各 种关系数据库,从一对一到多对多的各种复杂关系。5利用各种框架技术的优势整合论述5.1 J2EE优势特点2008年大连交通大学的于东超认为目前 Web开发技术有Php Asp、A等等, 但J2EE有其特有的优势保障,J2EE平台的成熟,为搭建灵活性、易维护性的商务系统 提供了良好的机制。J2EE的优势主要体现在一下几方面:能保留现存的IT资源,高效的开发支持异构环境可伸缩性强,具有稳定的可用性J2EE平台的成熟为Web应用进一步的发展提供了更为广阔的空间,它是一种企业级应用有着严格的规范,更能胜任迅速开发一个灵活、功能强大的Web信息系统。因此,基于J2EE技术开发管理信息系统也成为现在最为流行的一种选择。125.2主流框架市场有资料对以上介绍到的 Wet开发框架技术做过统计,统计显示, Struts、Spring、 Hibernate分别占据三个层次的主流位置。其中 Struts和Spring需求高达80%以上, Hibernate将近50%的市场占有率。5.3 Struts+ Spring+ Hibernate ( SSH 整合当前流行的主体框架技术,是Struts、Spring和Hibernate三种框架。根据当前市 场占有率情况,也足以决定Struts+ Spring+ Hibernate(SSH的地位。但是由于Struts1 的设计存在一定局限性,而 Struts2不仅吸收了 Struts1的部分有点,还建立了一个兼 容WebWor和 Struts1的MVC匡架,使得Struts2 逐步取代Struts1的地位。SSH整个 架构设计所采用的策略是讲 Spring作为开发的核心,向上整合MVC莫型的Struts2,向 下整合 ORM模型的 Hibernate ,使用 Spring 的控制反转(IoC (Inversion of Control) 容器来管理各组件之间的依赖关系时,Spring的声明事务将负责业务逻辑对象方法的事 务管理工作。采用SSH框架三层结构将总体框架分成三个层次:表示层、业务逻辑层和数据持久 层。三层体系将业务规则、数据访问及合法性校验等工作放在业务层处理。客户端不直 接参与数据库交互的工作,而是通过中间组件与业务层建立联系,再由业务层和数据交 互。SSH框架的各层内容和关系如图所示:业爵星駆Spring事务管理会话钢图1 SSH框架各层内容和关系图6 Web开发框架的展望由于各种技术不断发展更新,整合各种主流框架技术框架这一课题目前还在不断的 完善和发展中,它在Web系统的开发应用过程中依然有很大的潜力。由于 Wet应用系统 的设计开发是一个复杂多样的系统工程,在不同的系统中应考虑的东西也不同,根据系 统的各自特点来满足用户的特定需求涉及方方面面的问题。Web开发框架未来值得关注和研究的方向主要安全方面的问题。信息安全的目的是包含 在信息系统中存储和处理的信息的安全,概况为确保信息的完整性、保密性、可用性、 可控性和不可否认性。虽然 HTTP可以提供一些基本的安全性,但是 Web系统需要更高 的保证,比如 Web服务如何对用户授权,以及定义不同的用户安全级别等等。总结本人通过对 Web开发框架、三个主流框架各自特点的了解,通过整合三大主流框架 的优势部分,得到SSH继承框架对于Web应用系统的开发具有更高的效率和更好的维护 性。随着计算机技术和信息技术的飞速发展, 人们依赖技术进步,享受技术进步的同时, 关于Web开发技术的认识和发展也不断前进,Web5.0时代已经悄然到来,而基于 Web应用的开发问题也成为热点中的热点。8参考文献1 缑艳阳.基于 WebWork Spring和Hibernate 的集成框架的设计与研究J.2OO7: 2102112 Ted Husted,Cedric Dumouli n, George Fran ciscus,et al.Struts inActi on M.America:Ma nning Publicatio ns Co,2003.3 Eyal Oren, Armin Haller, Manfred Hauswirth, Benjamin Heitma n. A Flexible In tegrati onFramework for Sema ntic Web 2.0 Applicatio nsJ.IEEE Softeware.2007.4 刘胜利,寿永熙.Web开发框架的分析与研究J.福建电脑.2008 (1) :106107.5 张曦.基于Java的主流 Web开发框架的研究和整合D.北京:北京工业大学硕士学位论文.2008. 谭欢.基于SSH架构的代码自动生成的研究D.北京:大连交通大学硕士学位论文.2007.7 王欢.基于J2EE的Web应用架构研究与设计J.中国管理信息化 2012: 53558 C. Cava ness, Programmi ng Jakarta Struts, USA:OReilly Publishi ng, 2002.9 徐景芳.J2EE软件开发框架技术探讨J.信息产业2012: 11910 M. Raible, Spri ng Live, Colorado: SourceBeat Pbulishi ng, on li ne book, 2004.11 于东超.基于Struts2_Spring_Hibernate三种框架的通用Web开发框架的研究及应用D.北京:大连交通大学硕士学位论文.2008.12 王海涛,贾宗璞.基于Struts 和Hibernate 的Web应用开发J. 计算机工程.2011 , 37 (9): 1121149
展开阅读全文