基于SSH架构的风险监测系统的设计与实现.pdf

pdf,孙淑红,学术文献
文档页数:5
文档大小:279.84KB
文档格式:pdf
文档分类:学术文献
上传会员:
上传日期:
最后更新:

基于SSH架构的风险监测系统的设计与实现

王芳1.2,汪进2,王家群12,顾晓慧12,袁润1.2,李亚洲1.2,胡丽琴1.2,吴宜灿1.2,FDS团队1.2

(1.中国科学技术大学核科学技术学院,安徽合肥230027: 2.中国科学院等离子体物理研究所,安徽合肥230031)

摘要:风险监测系统是概率安全评价技术最新发展和应用能够提高核电站的安全性和经济性.然面 其使用对象广泛,物理位置驶立且需求多样,如何兼顾物理位置不同的使用对象需求,成为风险监测系统构架设计的难点之一,本文在分析和比较多种框架结构基础上,针对风险监测系统特点,为其选择了基于12EE构架的SSH(StrutsSpringHibernete)组合框架,并基于波架构完成系统搭建,开发实践 表明使用该构架开爱可以化系统开发流程,利于协同开发,而且提高了可扩展性和可维护性.关键调:风险监测系统J2EE:StrutsSpring:Hibernate

中国分类号:T1364 文献标志码:A

文章编号:0258-0918(2010)04-0355-05

Design and implementation of a risk monitor based on SSH architecture

WANG Fang- WANG Jin* WANG Jia-qun GU Xiao-hui- YUAN Run-* LI Ya-zhou'' HU Li-qin' WU Yi-can' FDS Team-2

1. Schol of Nular Scince and Technology Univeraity of Scie dTexhnology of Chins Hefri of Anhusi Prov. 230027. Chinas2. Institute of Plsma Physics Chinese Academy ol Scieses Helei of Aabui Prov. 230031 China)

Abstract: Risk monitor is the recent development and application of probabilistic safetythe system was developed to be used widely in different ways and places how to satisfy assessment which could improve the safety and economy of nuclear power plants. Asthe diverse requirements of users in different locations was one of the difficulties in thedesign of the system. In this paper SSH architecture was selected based on the featureof the systetm and the analysis and research of several frameworks which was used inonly be simplified but also be in favor of cooperating in the developrment by this the developrnent of the system. The results showed that the whole system could notarchitecture. In addition the system could also be expanded and maintenanced easily.

Key words: risk monitor; J2EE; Struts; Spring; Hibernate

时配置状态计算瞬时风险水平的软件系统,能和建议,从面提高运行安全性和经济性,目前国外多数大规模核电站都已应用或正在着手在线投人使用,面国内则起步较晚.现有风险监测系统大多为单机版或C/S(客户端/服务器)架构,FDS团队开展了核电站安全分析 研究工作,发展出了具有完全自主知识产权的概率安全评价软件RiskA,并在RsikA平台上成功研发了风险监测系统RiskAngel系列

风险监测系统在核电站中的使用对象比较广泛,物理地址分布相对独立,且在使用中可能存在并发:核电站中实时风险模型大,系统计算量大,面系统需要获取准确的核电站风险数据 及时进行.因此本文要解决的关键问题是如何在较短的时间内开发出计算结果正确且响应速度高的系统.

针对以上问题,在充分比较分析现有各种web应用技术的基础上,最终选择了基于J2EE 的轻量级架构SSH(StrutsSpringHibernate)组合框架实现风险监测系统的开发.

1结构设计与架构选择

风险监测系统使用对象物理地址的独立性,决定了该系统需要开发为网络版,以方便用性差,适用于局城网,可连接用户数有限,扩展 维护复杂、代码可重用性差、维护和升级成本非常高.

B/S(浏览器/服务器)结构是对C/S结构的一种改进,在此结构下,用户工作界面通过测 览器来实现,极少部分事务逻辑在浏览器端实现.但主要事务逻辑在服务器端实现,大大简化对象间关系准确无误地映射为数据库中表格与了客户端电脑载荷,减轻了系统维护与升级的表格之间的关系是本文必须解决的重要问题,

安全性是发展核电的关键问题之一,在保B/S的网络应用是一次性到位的开发,能实现证核电安全的同时提高其经济性,是核电站追不同人员从不同地点以不同接人方式访问和操求的重要目标.风险监测系统是基于核电站实作共同的数据库:它能有效地保护数据平台和 管理访问权限,服务器数据库也很安全.B/S够为核电站安全稳定经济运行提供指导性意见结构是信息化发展的主流方向,本文选择基于此结构进行系统的设计.

基于B/S结构的web应用主要有两种实现研发此系统,自1988年第一套风险监测系统在方案:J2EE和.NET.相比.NET,J2EE开放标 英国投人使用以来,截至2004年共有约150套准,功能强大,易于移植,且安全性好,因此选择J2EE技术开发本系统.以实现基手B/S结构的风险监测系统开发为目的,本文研究和分析了基于J2EE架构的多种框架.

当前大多web应用程序采用传统的基于EJB2.0的J2EE架构进行开发,此种框架为重量级框架,存在一系列难以避免的问题,例如部别多,空间很小:难以测试等.面轻量级 署复杂,运行缓慢:内在服务多,启动慢:规则特J2EE架构则可以解决这些问题,其中融人了新的模式,可提供更灵活和可选择性的服务,大多数基于J2EE的web应用从职责上可以分为4层:表现层、业务逻辑层、数据持久层和域对 象层.下面我们将讨论各层框架选择和实现.

1.1表现层框架选择

MVC(Model-View-Controller)架构是种强制性地将应用程序的输入、处理和输出分 开的设计模式,此架构可以使应用系统结构更加清晰,升级和维护更方使.Struts框架是MVC模式的惠实体现,因此,表现层采用Struts框架实现.

1.2业务逻辑层框架选择

业务层需要处理业务逻辑和交叉业务逻辑,事务,日志,安全等,这些都与Spring的loC(控户使用,传统C/S结构软件的数据分布安全制反转)与AOP(面向方面编程)不谋面合,用它 可实现业务代码的高效分离(),Spring是整合的业务层框架,能很好地黏合表示层与持久层,也是J2EE框架中最成熟的框架.因此,在众多业务逻辑层框架中选择Spring框架.

1.3数据持久层和城对象层框架选择

系统设计中采用了面向对象思想,如何将成本和工作量,降低了用户的总体成本,基于Hibernatc正是一个面向Java环境的对象/关

2系统实现

2.1表示层的实现

的映射,还提供数据查询和获取数据的方法,可 极大减少开发者的数据持久化相关编程任务[].因此,选择Hibernate作为数据持久层和域对象层框架.

合进行风险监测系统的开发,将这3个框架进 综合上述分析,本文选择使用SSH框架组行有机整合可以更好地发挥它们的优势,实现系统多层开发的低耦合,

本应用程序使用MyEelipwe7.0作为开发环境,其中大部分插件都已集成好,并集成了许多开源框架,如 Struts、Spring、Hibermate等.服务器采用了技术先进且性能稳定的tomcat6.0,数据库 则采用了稳定性和安全性较好的oraclel0g.

按功能划分,风险监测系统主要分为8个功能模块,其具体划分见图1.每个功能模块均融立采用SSH组合框架实现,

图1系统功能模块

Fig. 1 Fesction module of Risk Monitor

下文以部件查询功能为例,闸述各框架是如何协作来实现此功能.

表示层是由Struts概架实现的.在此框

2.2业务逻辑层的实现

2.3持久层的实现

2.4域对象层的实现

2.5三大框架间的整合

系数据库映射工具,它提供了自动对应转换的架的应用程序中,先由视图层请求Action,然方案,Hibernate不仅管理Java类到数据库表后配置前端控制器以拦截来自客户端的请求.前端控制器首先读取配置文件struts.xml中 的配置信息,根据配置信息为请求选择对应的处理控制器和响应类型.

部件查询功能的响应过程为,首先利用aciton.base. GetAllComponentAction 类 中使 setter方法将所需bean全部注人后,在rm用 stateLookUp. findComponent ( number ) 数来实现部件查询功能,其中stateLookUp为注人到此类中的bean.

Spring是业务逻辑层的容器,连接表示层和持久层,将对持久层的操作封装在bean里,让前端表示层调用相应bean来完或对后台数据库操作,Spring的控制反转容器,可以保留 抽象接口,让组件依赖于抽象接口,当组件要与其他实际的对象发生关系时,由抽象接口来注人依赖的实际对象,按编号查询部件功能的业务逻辑层实现如下:先将beanponentDao注 入业务逻辑层接口中,再利用其实现类中ponent Dao. findComponent ( number) 函数实现.

程序开发过程中与数据库的交互主要包括:添加、读取、修改和删除.应用Hibernate可以自动生成DAO类,但为避免Spring入侵,部件功能,需要在DAO实现类中实现find 本系统开发中选择手动创建.为实现编号查询Component(Stringnumber)函数其体功能.

风险监测系统中与数据库交互的工作都由Hibernate完成,它改变了传统开发模式, 不先建表而先把对象模型建立起来直接操作对象.因此开发中需要先创建实体类,在类中建立与其他类间的关系,通过Hibernate将这些关系进行映射,把对象生成数据库表.

为工程添加完Spring、Hibernate 和 Struts框架支持后,需要将3个框架有机整合起来,本文采用设置配置文件进行三大框架整合的方法,

1)Spring与Hibernate整合

Hibernate的连接、事务管理等都由建立sessionFactory 开始的,SessionFactory旅层数据源使用Spring的loC注入,之后再将 SessionFactory注人互相依赖的对象中,这就实现了Hiberante和 Spring的整合.

2) Spring与 Struts整合

让Struts 知道 Spring 的存在,以让 Spring 管 要将Struts与Spring结合使用,最主要是理相关组件,避免在程序中直接写组件的依赖关系建立.系统功能模块较多,逻辑相对复杂,为了便于代码维护,将系统中各模块实现所需

3系统中使用的关键技术

3.1Ajax技术

系统web页面设计主要采用ExtS技术,利用 Ajax技术被广泛应用于本系统的设计中,ExtJS封装的Ext.Ajax.request 方法来实现前台页面对后台的请求.

的异步通信,在不更新整个页面前提下维护数 采用Ajnx技术实现了客户编与服务器端据,这使web应用程序更为迅提地回应用户动作,并避免了在网络上发送没有改变过的信息.运用此技术同步了客户端与服务器端的时间进

图2风险监测系统业务流程

3.2队列类

DAO类,Manager类和Action类分别写在3个配置文件中.当应用服务器载人web应用时,先从web.xml读起,本程序采用了在web.xml中先配置上下文载人器,然后指定上 下文载人器的3个Spring配置文件的方法实现了Spring与 Struts的整合.

整个系统依赖关系为:Action依赖Biz(业SessionFactory,SessionFactory 依赖数据源, 务层),Biz依赖DAO(数据访问层),DAO依赖利用Spring管理这些依赖关系.图2为系统的业务流程图.

度,将一部分操作转移到了客户端,减轻了服务器端压力.采用此技术后,在一定程度上提高了系统响应速度.

整个系统需要解决的一个重要问题是当多个用户同时提交在线、高线或维修计划计算时,如何确定计算请求顾序以达到多个请求间数据互不混淆的目的,最终保证程序正确性.本文 引人了队列类来将计算请求排队,使其按照提交的先后顺序进行计算,

用户提交的计算请求都被放人队列中,线程监听类监听队列中计算请求是否为空,

[2] OECD/NEA. Development and Use ef Risk Monitorsat Nuclear Power PlantsCR CSNI Technieel Opinion Papers 2005.[3]吴宜始,胡丽琴,龙鹏程,等,先进核继系统设计分析软件与数库研发进展[1].核科学与工程.2010,30 (1) 42-50.[4]吴宜始,刘葬,胡丽翠,等、大型集成概率安全分析款件系统的研究与发展[门].核科学与工程,2007.27 (3) ; 270-276.[5]吴宜灿,朝丽琴,李亚洲,等,泰山三期重水滩核电始[6]王海涛,关宜灿,李亚洲,等,核电站风险监画器软件 风险监测系统研发选展[].核科学与工程.[7] Cstberine. C/S Tesehing in the Z1st Century [J]. The 开发研究[J].核动力工程,2009,30(1),26-30.Internet and Higher Educatiom. 1999.1(4) :281-289.[8] Sue Microsystems Inc. Jave TM2 Pletlorm Esterprise Edition Speification Version 1. 4[R]. zoo2.[9]徐鹏,轻量级[2EE架构的研究与应用[D].电子科技[10]孙鑫,Struts2聚人详解[M].北京:电子工业出版 大学,2007. 2008.[11]余量生,促瓶,基于SSH二层架梅的OJ系统研灾与 设计[J]电知识与技术,2008 3(8),1698-1701.[12]慕京,Hiberate 3 和 Jo Peristence API 程序开发从 人门到精通[MG.北京:请华大学出版社.2007.[13]林信良,Spring2.O拉术手册[M].北京:电子工业出版社.2007.

若为空,线程休眠,否则,从队尾取出一个计算请求提交计算核心计算.由于同一进程的多个线程共享同一片存储空间,因此会存在访问冲 突问题.为了解决此问题,在队列类中处理业务时使用java同步机制,即在业务方法前加锁的方法,以保证进程间互斥地使用该方法,最终确保计算结果正确性.

4总结

非需好的跨平台性、扩展性、可维护性与安全性.

风险监测系统采用了基于J2EE轻量级架构的SSH整合框架进行开发,整个系统架构以Spring为核心,向上整合了Struts,向下整合了 Hibernate.测试表明,该系统计算结果正确且具有较高的响应速度,各模块之间交互过程中耦合性降低,内聚加强,从面增强了系统的健壮性.此外在本系统中软件的可重构性和可用性得到 了提高,大大提高了开发效率,可以在较短的时间内构建出系统的原型系统.最后该系统具有

参考文款:

[1] 1AEA. Living probabilitice safety assessment [R].IAEA-TEC-1106 1999.

资源链接请先登录(扫码可直接登录、免注册)
①本文档内容版权归属内容提供方。如果您对本资料有版权申诉,请及时联系我方进行处理(联系方式详见页脚)。
②由于网络或浏览器兼容性等问题导致下载失败,请加客服微信处理(详见下载弹窗提示),感谢理解。
③本资料由其他用户上传,本站不保证质量、数量等令人满意,若存在资料虚假不完整,请及时联系客服投诉处理。
④本站仅收取资料上传人设置的下载费中的一部分分成,用以平摊存储及运营成本。本站仅为用户提供资料分享平台,且会员之间资料免费共享(平台无费用分成),不提供其他经营性业务。

投稿会员:匿名用户
我的头像

您必须才能评论!

手机扫码、免注册、直接登录

 注意:QQ登录支持手机端浏览器一键登录及扫码登录
微信仅支持手机扫码一键登录

账号密码登录(仅适用于原老用户)