

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
基于SSH框架结构的软件开发平台研究
Yongchang Rena,Deyi Jiangb,Tao Xingc,Ping Zhua,a * a渤海大学信息科学与技术学院,锦州121013 b天津职业技术学院管理委员会,300220 c北京城市系统工程研究中心 ,北京100089,中国
摘要
软件开发平台的研究是一个复杂的系统工程。 针对当前Web应用开发领域的问题,采用计算机相关技术,结合更流行的开源框架SSH,研究基于SSH框架构建的软件开发平台。 基于对软件开发存在问题的分析,强调了SSH框架平台的关键技术,包括表示层框架Struts,业务逻辑框架Spring,数据持久层框架Hibernate,J2EE框架集成了新的SSH等。本文的研究内容适用于大型Web程序开发企业,它有助于提高生产力和提高软件质量,对促进中国软件产业的发展具有重要意义。
关键词:SSH框架; 软件开发平台; Struts; Spring; Hibernate;
- 介绍
大型企业级Web应用系统的发展通常需要良好的软件架构来促进协同开发的扩展和升级,但传统的开发模式不能满足这些要求。针对Web应用开发领域当前的问题,遵循系统工程的原理和方法,综合利用软件工程,数据库系统,计算机网络,面向对象技术,结合更流行的开源框架SSH(Spring,Struts,Hibernate),研究基于Java框架的B / S结构的软件自动生成平台,在短期内帮助开发人员构建一个结构清晰,重用性好,易维护的Web应用系统。
设计理念是由前端程序运行的前端大型数据库支持,软件开发的代码由计算机自动完成,程序员不需要掌握Java和数据库技术就能够开发更好的软件系统。将软件开发的传统编码转化为系统分析,降低软件开发人员的技术要求,提高软件开发生产力,改变传统软件开发模式。
- 软件开发中的问题
在这个阶段,软件开发有很多问题,主要有以下几个方面[1]:
(1)软件开发“需求超过供应”的现象影响企业的发展。 不同的公司需要不同的软件,没有通用的软件可以应用到每个企业管理信息系统。 软件开发周期长,代码错误,软件可靠性差,不利于维护和升级。 企业对软件的需求更加复杂,软件开发公司提供的软件企业也不能满足。
(2)软件质量不可靠,软件维护性差,用户通常对完成的软件不满意。 软件错误是不可避免的,而软件测试需要花费大量的时间。 软件维护人员不仅了解业务流程,而且熟悉软件开发技术,解决软件中的一个错误,可能会引入新的错误,而且很多人不愿意从事软件维护。 如果软件经常出错,会引起用户的不满,最终被抛弃。
(3)软件开发人员不能满足市场的需求,他们需要掌握太多的知识。 软件开发需要掌握:数据库技术,数据库访问技术和各种数据库管理系统,网络和互联网技术,开发工具和相关结构和类库,软件测试和分析工具以及许多其他技术。 随着技术升级的加速,开发商不断学习新技术而忙于工作,负担太重。
(4)软件开发人员的频繁流动给公司带来了巨大的损失。 软件是人们的智力产品,每个人都有自己的编程习惯,想法和方法。 读一个人的节目是很困难的。 如果开发人员离开项目一半,其他人将难以接管,甚至在交付软件项目后离开,其他人也很难维护。
(5)软件没有相应的文件,给后期的开发,维护和重建造成了很大的困难。 软件开发应该先写一个文档,然后编写程序,修改后修改该文档的程序。 但是有些开发者不会养成良好的习惯; 有些忙于编写或修改程序而忘记修改文档,导致与文档和程序不一致; 许多软件开发公司对文件的数量,质量和格式没有明确的要求。
3. SSH框架平台的关键技术
大型企业级Web应用系统的开发通常需要良好的软件架构来促进协同开发的扩展和升级,以及更流行的开源框架SSH,是一种轻量级的解决方案,用于开发企业级J2EE的Web应用程序。目前市场上已经有一些基于J2EE的商业化的开源应用框架,其中主流框架技术是基于MVC模式的Struts框架和基于IoC模式和对象/关系映射框架Hibernate等的Spring框架 [1]。
3.1 表示层框架Struts
它是基于JSP模型实现的MVC框架,主要分为Model,Viewer和Controller三个部分,设计理念是通过Controller解耦性能逻辑和业务逻辑,提高系统的可维护性,可扩展性和可重用性[2 -4]。 Struts框架的架构如图1所示。
图1.Struts框架体系结构
视图: 查看主要包括JSP页面,没有流程逻辑,业务逻辑和模型信息,只有标记。 Struts本身包含一组TagLib,这也是精华之一,灵活使用可以简化JSP页面的代码并提高开发效率。
控制器: Struts中的Controller是ActionServlet,主要由它自己提供。 ActionServlet从客户端接收所有请求,并根据配置文件(struts-config.xml)将控制权转移到相应的Action。
模型: Struts没有定义具体的Model层的实现,Model层通常与业务逻辑紧密相关,并且有持久性的要求。 目前在商业领域和开源世界,都有一些优秀的工具来促进模型层的开发。
3.2 业务逻辑层框架Spring
它是一个强大的轻量级框架,解决J2EE中的许多常见问题,并可替代EJB技术。 轻量级在这里是Spring框架本身而不是意味着Spring只能用于轻量级应用程序开发[8]。 Spring的轻盈体现在它们自己的基础设施以及其他应用工具的支持和组装能力的框架中。 与巨大的EJB相比,Spring可以使过程开发人员降低各种技术水平之间的风险。
这样,无需编写工厂模式,单一模式或其他构造方法,就可以直接通过容器获取必要的业务组件。Spring框架的结构如图2所示。
图2.Spring框架的模块
Spring框架由七个定义良好的模块组成,每个模块或组件可以独立存在,或者实现与一个或多个模块的联合。 Spring Core Container用于管理IoC容器的业务组件,是Spring应用程序的核心; Spring DAO和Spring ORM提供了数据访问的抽象模块,还集成了Hibernate,JDO和iBatis等,因此受欢迎的对象关系映射框架Module的支持,并提供了缓冲连接池,事务处理等重要的服务功能,保证系统 性能和数据完整性; Spring Web模块提供了许多Web应用程序的抽象包,它们可以将Web框架(如Struts,WebWork和Spring)集成到自己的解决方案中。
3.3 数据持久层框架Hibernate
O / R生成映射技术来解决关系数据库和面向对象编程之间的矛盾不匹配。 Hibernate是最流行的O / R Mapping框架,在关系数据库和Java对象之间自动映射,程序员可以使用非常简单的方法来实现数据库操作。 Hibernate的工作原理如图3所示。
图3.Hibernate的工作原理
Hibernate通过JDBC包,屏蔽底层数据库操作给程序员,使程序员专注于OO应用程序开发,提高开发效率。 工作程序员访问数据库是为持久对象准备Xml映射文件。
底层数据库中的更改只是更改初始配置文件(hibernate.cfg.xml或hibernate.properties)不会影响应用程序。
Hibernate有自己的面向对象的查询语言HQL,HQL强大并支持当前最流行的数据库,如Oracle,DB2,MySQL,Microsoft SQL Server等,是最广泛使用的O / R映射工具。 Hibernate为快速开发应用程序提供了基础支持。
3.4 用于集成SSH的新J2EE框架
分析了基于J2EE的三种框架技术,然后通过集成这三种技术框架改进了传统的J2EE Web开发模型,形成了一个新的,轻量级的J2EE框架。 集成SSH框架的系统架构如图4所示。
图4.集成SSH框架的系统架构
从责任体系分为四层:表示层,业务逻辑层,数据持久层和域模块层。 其中使用Struts作为系统的整体基础设施,负责MVC的分离,在Struts框架的模型中,我们使用Hibernate框架来支持表示层,业务层用Spring。 具体方法是:基于需求,通过面向对象的分析方法提出一些模块,将这些模型实现为基本的Java对象,然后编写一个基本的DAO接口,并给出DAO实现的Hibernate,使用由Hibernate框架实现的DAO类 实现Java类和数据库之间的转换和访问,最后由Spring完成业务逻辑。
系统的基本业务流程是:在表示层,首先通过JSP接口实现交互接口,并负责发送请求和接收响应,然后根据配置文件(struts-config.xml),Struts委托接收的请求 ActionServlet到适当的Action去处理。 在业务层中,Spring IoC容器的管理服务组件负责向Action Model组件和该组件的DAO提供服务,以完成业务逻辑,并提供事务处理,缓冲池等容器组件来提高系统性能 并确保数据完整性。 在持久层中,依赖于Hibernate和数据库交互的对象映射,处理DAO组件请求的数据并返回结果
4 结论
使用SSH框架,不仅实现了View,Controller和Model的完全分离,而且实现了业务逻辑层和持久层的分离。 无论前面有什么变化,模型层几乎没有变化,而且数据库的变化不会影响前端,提高了系统的可重用性。 由于不同层之间的耦合很小,有利于团队成员并行工作并提高开发效率。
确认
这项工作得到了北京科技学院创新团队项目(IG201106N),辽宁省重点实验室基金项目(2008S002)和辽宁博士基金(20091034)的支持。
参考文献
[1] Ren YC, Xing T, E X, “Software Development Process Management,” Beijing Jiaotong University Press, 2010.
[2] Li Gang, “Struts2 Definitive Guide,” Publishing house of Electronic Industry, 2010.
[3] Yang SJ, Shi ST, Niu ZM, Wang Q, “Application and Research of Project Planning Management in Software Development,” Computer Applications and Software, vol. 27, no. 11, pp. 111-116, 2010.
[4] Liu Kai, “Application study of Struts framework based on MVC design pattern,”Journal of Shenyang Institute of Engineering (Natural Science), vol. 6, no. 4, pp. 366-368, 2010.
[5] Li Gang, “Struts Hibernate Spring detailed application development,” Tsinghua University Press, 2007
[6] Zhang Yi, “Research and Implementation of J2EE WEB Application Base on Struts Framework,” Masterrsquo;s degree of Southwest Jiaotong University, 2006.
[7] OuYang HJ, Ma GM, Ge M, “Research and Realization Web Applications Based on Struts Framework,” Computer amp; Digital Engineering, vol. 38, no. 3, pp. 197-200,2010.
[8] Dai JG, Liang B, Guo L, “Research on Data Initialization of Information System Based on Hibernate Framework,” Computer Knowledge and Technology, vol. 6, no. 7, pp. 1551-1553, 2010.
[9] Yang Huili, “Network management system based on Spring,”Microcomputer Information, vol. 23, no. 7-3, pp. 24-26, 2007.
基于Struts2,Spring和Hibernate的电子商务系统架构设计
赵春生四川理工学院计算机科学学院四川省自贡四川省guyzhaocs@gmail.com
麦江,志勇河南四川大学计算机科学学院四川省自贡四川省江门市江门市江门市zigong@suse.edu.cn 资料编号:[137394],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
