【VC++开源代码栏目提醒】:网学会员鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“基于松散耦合的Web框架的应用研究 - 会议论文”一文,供大家参考学习
武汉理工大学硕士学位
论文 摘要 随着Internet技术和企业信息化建设的发展,构建基于Web的应用系统的需求越来越复杂,开发周期越来越紧迫,同时对系统的稳定性、扩展性和可维护性要求也越来越高。
因此一种好的设计模式,一个好的可复用的系统框架设计成为提高软件开发效率和开发质量的关键。
文章深入研究了MVC设计模式和三大主流
开源框架技术。
MVC设计模式分离了业务逻辑和数据表现,而Struts框架全面体现了MVC设计思想,减轻了构建多层Web应用的负担。
Spring是一种多层的J2EE应用轻量级框架,它使用依赖注入的设计原理,可以动态地使系统主要组件之问的耦合变松散。
Hibernate是‘个
开源的持久层框架,它封装了JDBC动作,以优良的设计大大提高了数据库访问层的开发效率,并且通过对数据访问中各种资源和数据的缓存调度,实现了更佳的性能,从而全面减轻了数据库开发的复杂度,使系统具有更好的性能和可移植性。
通过具体分析各个框架在Web应用的不同层次上所发挥的作用,文章提出一种集成Struts、Spring和Hibernate的多层Web应用系统框架模型。
表示层用Struts,业务逻辑层用Spring,丽数据持久层采用Hibernate,即将Struts应用中的业务逻辑交给Spring管理,相关类用Spring的beans配置完成,由Spring管理与表现层的控制器及更下层的数据访问对象(DataAccess Object)对象的关系,由Hibernate负责数据的持久化。
最后文章结合一个电子政务子系统的实际开发,详细论述了组合框架在具体应用中的实现过程,验证了这一整合策略的可行性,以及对系统可移植性、可维护性和性能的优化。
总之,组合框架的运用对于复杂Web应用系统开发是有其理论意义和实用价值的。
关键牢:框架,设讨模式,Stmts,Spring,Hibernate,组台框架 武汉理工大学硕士学位
论文 Abstract With the increasing extension of Internet and enterprise informatization,there have been greater demands for application Systems based on Web to meet more complicated requirements,shorter R&D time cycle as well as higher system stability, expansibility,and maintainability.So a better design pattern and a reusable system framework have been the key issue of improving the efficiency and quality of software development. This thesis did deeply research on MVC design pattern and there popular open source flames That MVC design pattern separate business logic and the way of data presentation,and Struts which implements MVC pattern lessen the burden ofbuildingmulti-tier web application Spring is a multi·tier J2EE lightweight framework It is designed with dependency injection and can make main component loose couplingdynamically Hibernate is an open source persistence framework which is encapsulateJDBC acts It enhances the efficiency of data access and gets much betterperformance by cache mechanism,In addition,it reduces the complexity ofdeveloping database and makes system portable By means of analyzing each framework’S function in web application layer,thisthesis put forward a n-tier systems model which is integrated with Struts,Spring andHibernate:Struts for the presentation layer,Spring for the business layer,andHibernate for the persistent layer.The architecture hands business logic of Struts toSpring;utilize beans configuration to manage the related classes;manage objects’relation of between controller and data access object through Spring and make datapersistence by Hibernate Finally,an E—government project is implemented by the application of designedarchitecture The result shows the feasibility of the integrated flame tactic,and theoptimization for the portability,maintainability and performance In a word,the use of Combinafive Framework has theoe2 meaning and practical value tocomplicatedWeb systemdevelopment Key words:Framework,Design patting,Slruts,Sp曲_g,Hb∞碰电Combinative framework Ⅱ 武汉理工大学硕士学位
论文 第1章绪论 随着软件系统的复杂程度增加,软件系统的架构(Architecture)设计显得越来越重要。
软件系统的架构是其从整体到部分的最高层次的划分,它确定了系统整体结构、层次划分,不同部分之间的协作等。
工业化的软件复用已经从通用的类库进化到了面向领域的应用框架【1】。
框架是软件系统的设计、开发过程中的一个概念,它是可重用的、半完成的应用程序,可以用来产生专门的定制程序,它强调对已完成的设计、
代码的重复使用,并且一个框架主要适用于实现某一特定类型的软件系统〔21。
框架复用可大大提高软件的开发效率,保证软件质量。
如何在众多的框架中选择建立适合企业应用的架构,并且怎样让各个应用层无缝连接?如何整合框架以便让各个层以一种松散耦合的方式彼此作用而不用考虑底层的技术细节?这给软件人员提出了挑战。
1.1研究背景 20世纪60年代的软件危机使得人们开始重视软件工程的研究。
起初,人们把软件设计的重点放在数据结构和算法的选择上。
随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明也显得越来越重要。
面对日益复杂的软件系统,人们开始认识到,要真正实现
软件的工业化生产方式,达到软件产业发展所需要的软件生产率和质量,软件复用是一条现实可行的途径,因此有了设计模式和框架的迫切需求。
设计模式就是一个
常用的方案,而框架则是项目软件开发过程中提取特定领域软件的共性部分,它是由一组紧密关联的Classes(类)组成,强调类彼此的配合来完成某种可以重复运用的设计概念。
这些类之间以特定的方式合作,彼此不可或缺。
在开发过程中,经常会遇到一些相同或者相近的问题,每次开发人员都会去寻找一个新的解决方法,为了节省时间提高效率,业界提供一些能够解决这些常见问题的、被证实可行的方案,来构成一个统一的资源库。
随着Web和Interact的增长,越来越多的企业开始开发与部署基于Web的 武汉理工大学硕士学位
论文企业内部网和外部网应用。
如何通过信息化的建设进行对其更好的管理并节省成本、提高效率成为人们关注的问题。
而J2EE为基于w曲的企业应用恰恰提供了无与伦比的支持。
该体系采用分布式结构、重用性组件技术和基于Web构架的分布式数据库技术,符合软件发展的最新趋势。
J2EE(Java 2 Platform Enterprise Edition)多层架构作为目前流行的Web应用开发架构之一,己成为解决电子商务和企业级应用的标准平台。
但这个平台并不能满足所有需求特点,其中的业务逻辑层的解决方案EJB(EnterpriseJavaBeans)机制存在一些不足,其架构方式本身有一些问题,而且EJB的机制是一种对
代码和
设计强侵入性的规范,使业务组件移植不是很方便。
EJB制订了很多的接口和编码规范,要求实现者遵守,这样就导致了业务逻辑移植困难,成本较高。
伴随着软件开发技术的发展,在多层的软件开发项目中,可复用、易扩展的,而且是经过良好测试的软件组件,越来越为开发者所青睐。
这意味着开发人员可以将充裕的时间用来分析、构建业务逻辑的应用,而不是繁杂的
代码工程。
于是开发人员将相同类型
问题的解决途径进行抽象,抽取成一个个应用框架。
用这些框架构建的分布式应用程序完美地实现了应用程序高内聚、低耦合、高弹性、易维护的优点。
当前各大公司己在
开源的基础上自行设计出各自领域的J2EE框架,其中最受人们关注的是Struts、Spring和Hibernate框架。
1.2研究的目的及意义 框架是特定领域基于架构的、解决某类应用问题的半成品,是大粒度的软件复用【3】,它为Web应用开发提供了一个能够使用的架构模板和软件包,让开发者从编码中解脱出来,不必一切从头开始,自己来完成,只需将注意力集中在业务逻辑上,从而减轻了开发者处理复杂问题的负担,提高了工作效率;其次在应用和分析框架的基础上,可以对其进行改进和扩展,以适应实际的需求。
因此框架也为扩展和维护系统奠定了基础【4J。
本文研究的目的是克服J2EE架构的Web应用解决
方案中存在的一些不足,找到符合企业级应用软件
系统需求特点的开发方法。
诚然单单用Struts已经可以很有效的开发出一个系统,但是追求性能是无止境的,这三种
开源框架各有优势,主攻点也不~样,并且在实际项目中有很多各自的特性需要处理,例 2 武汉理工大学硕士学位
论文如用户验证、安全校验、异常预处理等等。
所以本文研究的意义在于,通过整合J2EE多层架构中W曲层、业务层和持久层的三个优秀的框架,充分发挥每个框架的优势,以实现: · 复用设计,以简化开发的复杂性: ●复用
代码,减少编码和测试时间,提高工作效率; ●提高系统的可扩展性、可维护性和可移植性; ●降低层问的耦合度。
1.3技术应用现状 建立依托Web的企业应用平台是目前大部分企业应用的首要选择,而B/S框架则是目前主流的企业应用系统的开发体系,因此构造功能更加强大、应用更为灵活的、开发更为简便的Web应用程序成为当前Internct技术发展的热点。
1.3.1 J2EE平台 以往用过程语言比如ASP、PHP进行Web应用开发,开发速度通常比较快,但由于初始的开发模板是混合层的数据编程,数据和页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重要性。
产品设计弹性力度很小,很难满足用户的变化性需求。
而随着J2EE平台的成熟,为Web应用程序更进一步的发展提供了更广阔的空间。
J2EE是一种利用Java来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
它有着严格的规范,更能够胜任迅速开发一个灵活而又功能强大的W曲信息系统。
目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java2平台标准版(Java 2 Platform Standard Edition,J2SE)和适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 P1atform Enterprise Edition,J2EE)。
1.3.2 MVC设计模式 MVC(Model.View-Controller)是Xerox PARC在八十年代为编程语言Smalltalk.80发明的一种软件设计模式。
它属于结构型设计模式,对于生成结构严谨 3 武汉理工大学硕士学位
论文的模块化应用程序的有效性己得到了广泛的证实。
MVC的核心是实现三层甚至多层的松散耦合,它将应用程序抽象为Model(模型)、View(视图)、Controller(控制器)三个功能截然不同的部分,三者既分工又合作地完成用户提交的每项任务,如图1.1所示。
查询状态 态 改一变一 状一 态一 瓣糕 通知改变 能 用态用变 程查程Ⅵ 铲挈 VJew Controllcr 选择View 表现Model 定义应用程序行为 Model更新请求 用户请求 将用户行为映射.b批odel的更新 将用户请求提交Controller 选择View响应 允许Controller选择View 每一个功能对应一个Controller 图1.1MVC设计模式 Model对象代表应用程序数据和对这些数据访问和修改的业务逻辑。
它是应用程序的核心部分,维护了业务的持久性。
为Controller对象和View对象提供了被Model对象封装的某些应用业务逻辑。
view对象代表用户界面。
通过访问Model对象中的数据,View对象可视地显示Model对象的状态。
View对象与Model对象的关系有如形式与内容:当Model对象中的状态发生改变时,View对象所代表的用户界面也会相应地改变,达到内容与形式的一致;对于同一个Model对象,针对不同的用户请求,可以产生多个view对象。
另外view只是显示数据内容,处理数据的业务逻辑部分留给了Model对象和Controller对象。
Controller对象定义了应用程序的行为,负责View对象与Model对象之间的同步,也就是完成两个方向的动作:根据用户对View对象的操作完成对Model对象的更新;将Model对象状态的改变及时反映到View对象上。
1.3.3基于J2EE架构的框架技术 目前,J2EE多层架构上已经开发出了很多框架,这大大减轻了开发人员的负担,开发者可以将不同层上的框架整合到一起,从而能够从繁杂的底层编码中解脱出来。
在构建Web应用时,用户请求的处理、业务逻辑处理以及数据的持久化是必须仔细考虑的因素,而且也是大部分应用必须具备且较为复杂的职责。
因此 4 武汉理工大学硕士学位
论文目前针对表示层、业务层、数据持久层人们开发了很多应用框架,如Struts、Sping、Hibernate等。
Struts是MVC模式的实现框架p】,它由一系列框架类、辅助类和定制的JSP标记库构成,为Model.2Web应用开发提供一个强大的、通用的w曲应用框架,从整体上减轻构造企业Web应用的负担。
Spring是一个服务于所有层面的应用框架,允许开发者根据需要选择使用它的部分模块【6】。
Spring主要基于IoC (Inversion ofControl,控制反转)和AOP(Aspect Oriented Programming,面向方面编程),很容易实现Bean的装配和Transaction Management(事务管理1等特性;同时它对不同的数据访问技术提供了统一的接口。
Hibernate框架是一个面向Java环境的对象,关系数据库映射工具【7l,它不仅可以管理Java类到数据库表的映射,还提供数据
查询和获取数据的方法,从而大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
此外,它可以在应用EJB的J2EE架构中取代Crop(Container-managed persistence),完成数据持久化的重任。
随着系统规模的日益复杂,为了快速提高开发效率,将一些优秀的框架进行整合以适应不同的应用需求己成为目前系统开发中流行的方向之一。
1.4本文的主要研究内容 本文深入研究了MVC设计模式和三大主流
开源框架技术,通过具体分析各个框架在Web应用的不同层次上所发挥的作用,提出一种集成Struts、Spring和Hibernate的多层Web应用系统框架模型,并且结合一个电子政务子系统的实际开发,详细论述了整合框架在具体应用中的实现过程。
本文的创新点在于提出Struts+Spring+Hibernate的整合框架实现基于J2EE平台的多层体系结构,合三者的优势为一体,充分发挥B/S系统的优势,使一般的W曲应用系统得到最优化的实现。
1.5
论文结构
论文结构安排如下: 第1章:绪论。
介绍
论文的研究背景、研究意义、技术应用现状、作者的主要研究内容。
5 武汉理工大学硕士学位
论文 第2章:12EE框架技术研究。
主要介绍应用框架技术开发的优势,对Struts、Spring和Hibernate等框架进行深入的研究和分析。
第3章:松耦合SSH框架模型。
主要内容包括整合框架模型的提出、总体设计及具体实现。
第4章:SSH框架应用设计与实现。
介绍利用这一整合框架构建一个Web应用系统,验证框架整合策略的可行性。
第5章:总结与展望。
对本文工作的总结,对今后研究
工作的展望。
6 武汉理工大学硕士学位
论文 第2章J2EE框架技术研究2.1 J2EE架构2.1.1概述 J2EE是一个基于组件一容器模型的系统平台,其核心概念是容器。
容器是指为特定组件提供服务的一个标准化的运行环境,Java虚拟机就是一个典型的容器。
组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了J2EE底层的API,为组件提供事务处理、数据访问、安全性、持久性等服务。
在J2EE中,组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用。
组件和容器间的关系通过“协议”来定义。
容器的底层是J2EE服务器,它为容器提供J2EE中定义的各种服务和API。
J2EE的设计目的是为了推动企业应用的开发和部署。
它通过提供企业计算环境所必需的各种服务使得部署在其平台上的多层应用可实现高可用性、安全性、可扩展性和可靠性。
计算平台支持Java语言使得基于J2EE标准开发的应用可跨平台移植;且由于Java语言的安全、严格等特性使开发者可以编写出十分可靠的
代码。
J2EE提供了在企业计算中需要的所有服务且简单易用,其中的多数标准定义了接VI,可与许多厂商的产品配合,容易得到广泛支持:通过提供统一的开发平台,J2EE降低了开发多层企业级应用的费用和复杂度,同时支持EJB与现有系统集成,有良好的向导支持打包和部署应用。
J2EE平台提供的多层分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制,加快了企业应用的设计与开发,可以快速容易地建立融合了Intemgt技术,尤其是Web技术的N层结构的分布式企业应用,较好地解决了C/S结构所固有的可扩充性、可维护性和安全性不足且部署麻烦等弊端。
2.1.2 J2EE的多层架构 典型的J2EE是一种4层架构‘引,包括客户层、Web层、业务层和EIS层(企业信息系统层,Emerprise Information System Tier),如图2-1所示。
每层为应用 7 武汉理工大学硕士学位
论文程序提供一类特定的功能,用户发出请求并得到响应,通常是请求在多层之间传递,最后得到回复的过程。
许多时候,两层或者更多的层可以在物理上驻留于同一个Java虚拟机‘9l上。
客户层 Web层 业务逻辑层 企业信息系统层 四 翰 浏览器 Web容器 EJB容器 l纯HTMLl I JSP EJB 亡 〕 Applet JSP 啪 桌面 Java应用 恸 Servlet 嘲 EJB 锄 亡 〕 阿嗣l物劫 其他设备 J 一R J2EE j2EE 图2-1 J2EE多层架构 1,客户层 客户层包含与用户交互的程序。
这些程序提示用户输入,然后把用户的响应转换成请求,发往处理请求的组件,并把结果返回到客户端程序,客户端程序再把服务器的响应转换成文本并呈现给用户的屏幕输出。
通常使用HTML来构建客户层,因为通用浏览器都能正确的理解HTML,而且它能很好的分离业务逻辑和表示逻辑。
2.Web层 Web层用来生成Web页面和Web页面中的动态内容,同时可以把客户端传来的Web请求进行打包。
在Web层上运行的组件使用HTTP协议接受客户端请求,并将对请求的响应发送给客户端。
使用Java解决方案来构建Web层,可以联合使用Servlet和JSP,Web层通常在Web服务器中实现。
3.业务层 业务层包含企业Web应用的大部分业务逻辑。
在J2EE平台下,业务逻辑通过EJB组件进行实现,它们工作于应用服务器中。
一个或者更多的EJB驻留在这一层,每个EJB包含被客户端间接访问的业务规则
代码。
EJB层在J2EE多层架构中是一个至关重要的因素,因为它提供了并发性、可伸缩性、生存周期管 R 武汉理工大学硕士学位
论文理和容错性。
EJB层自动处理并发性问题,确保多个客户可以同时并发的访问同一个对象。
EJB层是某些供应商为应用程序提供可伸缩性的地方,因为这一层是设计在集群环境下工作的。
这是假定所用的供应商组件支持集群,如果它不支持,那么通常会使用本地提示符来处理负载平衡。
在关键任务中容错性是一个要重点考虑的事项,通过使EJB层有多个可用的EJB服务器,一些供应商在这一层实现了容错性操作特性,这意味着如果主EJB服务器出了故障,备用的服务器立即可以接替。
4.EIS层 EIS层是J2EE应用程序与各种其他技术的直接或间接的接口,其中通常包括ERP(企业资源规划,Enterprise Resource Planning)系统、数据库系统和其他遗留信息系统,J2EE组件可以通过访问EIS来取得数据库连接,这也是EIS层应用最多的一种形式。
2.1.3 J2EE组件技术 软件组件【lol是用一组设计完好的接口来实现一定的事务逻辑的
代码。
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上。
J2EE共有3类组件,分别是客户端组件、Web层组件和业务层组件【1l】。
I.客户端组件 在J2EE规范中指出,客户层有两种组件,它们是Applet客户端和应用程序客户端。
Applet是一种Web客户端使用的软件,它在支持Java浏览器的Applet容器内运行。
AppXet使用浏览器作为用户界面。
应用程序客户端是一个Java程序,它在应用程序客户端容器内运行,应用程序客户端容器指的是Java 2运行环境标准版,应用程序有它自己的用户界面,可以访问多层架构中的各层,通常应用程序只访问Web层。
.