基于edsh的web框架的研究与应用

基于edsh的web框架的研究与应用

ID:34139491

大小:5.75 MB

页数:68页

时间:2019-03-03

上传者:U-24835
基于edsh的web框架的研究与应用_第1页
基于edsh的web框架的研究与应用_第2页
基于edsh的web框架的研究与应用_第3页
基于edsh的web框架的研究与应用_第4页
基于edsh的web框架的研究与应用_第5页
资源描述:

《基于edsh的web框架的研究与应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

万方数据中图分类号——UDC硕士学位论文学校代码——密级——基于EDSH的W.eb框架的研究与应用ResearchandApplicationofWrebFr锄e、ⅣorkBasedonEDSH作者姓名学科专业研究方向学院(系、所)指导教师论文答辩日期世歹、里:陈珊:信息与通信工程:网络安全:信息科学与工程学院:刘连浩教授答辩委员会主席獬中南大学2014年5月 万方数据学位论文原创性声明本人郑重声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他教育机构的学位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均己在论文中作了明确的说明。申请学位论文与资料若有不实之处,本人承担一切相关责任。作者签名:险日期:丛年土月—生日学位论文版权使用授权书本学位论文作者和指导教师完全了解中南大学有关保留、使用学位论文的规定:即学校有权保留并向国家有关部门或机构送交学位论文的复印件和电子版;本人允许本学位论文被查阅和借阅;学校可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用复印、缩印或其它手段保存和汇编本学位论文。保密论文待解密后适应本声明。作者签名:隘生导师签名:≤l垒逝 万方数据基于EDSH的Web框架的研究与应用摘要:随着W曲技术的迅猛发展,W曲应用越来越普及。如何快速、方便的开发出界面美观、功能强大的应用系统,并具有较强的可扩展性、可重用性以及低耦合性是开发人员重点考虑的问题。在这种情况下,Wreb框架应运而生,框架技术不仅为软件的重用做出了重大贡献,同时它也是提升软件开发效率的重要保障。当前所流行的W曲框架并不能满足每个Wreb应用开发的需求,因此寻找一种新的框架开发W,eb应用成了开发人员的当务之急。本文首先介绍了课题的研究背景、来源与意义及ⅪA技术、W|eb应用框架的国内外研究现状,然后详细分析了应用系统模式、富客户端技术、JSON技术及ExtJS框架、DWR框架、Spring框架、Hibemate框架的原理与优势,接着分析了当前使用较频繁的W-eb框架——SSH存在的问题,针对目前Wreb开发框架中存在的问题,从w曲应用的表示层着手,整合了一个新的w-eb框架——EDSH。该框架使用了目前比较流行的ExtJS与DWR框架替代了SSH中的Struts框架,降低了各层之间的耦合度,提升了系统的可扩展性、可移植性以及可维护性:接着对EDSH框架开发的Wreb应用存在的安全问题进行了研究,针对其主要安全问题提出了具体的解决方法,对使用该框架开发的W.eb应用提供了可靠的安全保障。最后通过将EDSH框架应用于固定资产投资计划系统中,证明其新的框架具有组件化程度高、开发简单、易于维护等特点,与之前的SSH框架相比,不仅提高了应用界面的美观度、缩短了应用的响应时间、减轻了开发人员的工作任务、提升了应用的开发效率,而且使系统的安全性能有更可靠的保障。关键词:EXtJS;EDSH;DWR;蹦PMS;安全性分类号:口393 万方数据ResearchaIldApplicationofWebFra脚eworkBasedonEDSHAb咖ct:With恤rapiddeVel叩mentofWebTecllIIolo鼢Webapplicationhasbecomemoreandmorepopular.Howt0quicHya11deasilydeVelop印plicationswithbeauti如linterfacea11dpowermlfhnctions,witllStrongscalabili坝reusabili锣a11dlowcoupleisakeyconsiderationofissuesfordevelopers.Int11iscase,Wbb仔ameworkc锄eintobeing,m珊eworkhasmadeasignificalltcontributionforso胁arereuse,besides,it’salsoanimportantguaranteetoimproVethee佑ciencyofso矗waredeVelopment.Cun-ently,popularW曲丘甚meworkcaJl’tmeett11eneedsofeachWreb印plicationdeVelopment,solookforanew也mleworkf.0rdeVelopingW曲applicationshaSbecomeapriori够fordeVelopers.Thefirst,thisp印erin们ducestheresearchbackgroullda11dmeaningofthetopicanddomesticandoverseaSresearchsta_tusofW曲application疳锄eworka11d砒AtecllIlology;tllesecond,t11ispaperaIlalyzest11e印plicationsyst锄model,tlleⅪAtechnology,JSoNtecllIl0109),aswellasnleprincipleandadVaIl_tageofEXtJS触nework,DWR矗amework,Springf}锄ework,Hibemate缸unework;廿le廿1irdtllispaperanalyzesmeproblemofcurrentused6.equentlyW曲application矗amework—SSH,aIldt11ent11isprojectaimingattlleproblemofcurrentW曲印plication仔锄ework,startiIlg董吣mt11epresentationlayerofW曲application,integrateanewWeb‰ework—EDSH胁nework.nlis台锄eworkusingtllecurrentrelatiVelypopularintlleExtJSandDWR仔ameworktoreplacetlleS廿utsf}锄eworkofSSH,hasreducedtllecouplingbe帆eenthe1eVel,improVedt11escalabilit),andmaintainabili锣of也esyStem;thentheEDSHsecurityproblemsoftlledevelopmemofwebapplication仔锄eworkarestudied,accordingtomemainsaf.e够problemsput 万方数据forwardmeconcretesolution,theuseofthedevelopmentofW-ebapplication丘锄e、ⅣorkproVidestllereliablesecuri吼Finally,byus证gEDSH也啪eworkint11enxedassetsinvestIrlentplaIlsystem,haspr0Vedmodulardegreeofnewframeworkishi曲,besides,it’seasytodevelopandmaintain.ComparedwimtheSSH舶Illlework,thenewmuneworknotonlyimproves廿1eaestlleticsof廿leinterf-ace,shonellsreSponsetime,reduces仕ledevelopers’work,iInprovestheemciencyofapplicationdeVeIopment,andmakethesystemmorereliablesecuri哆perfo肌ance.Keywords:EXtJS;EDSH;DWR;RUPMS;Secudtyperf撕nanceCIassification:TP393lII 万方数据目录l绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.:⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.1课题研究背景、来源与意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.1.1课题研究背景与来源⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.1.2课题研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.2国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..21.2.1ItM技术研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一21.2.2W曲应用框架国外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..41.2.3w曲应用框架国内研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一51.3论文的主要研究内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯61.4论文的组织结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62相关技术的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.1W如应用系统模式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.82.2关键技术分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯92.2.1富客户端技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.2.2ExtJS框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.122.2.3DWR框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一142.2.4S埘ng框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.2.5Hibemate框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯162.2.6JSON技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.182.30raCle数据库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯192.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一203EDSH框架及其安全性的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2l3.1SSH框架存在的问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯213.1.1SSH整体设计的问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2l3.1.2SSH分层设计的问题⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯213.2EDSH框架的研究与设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯223.2.1表示层框架的分析与设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯233.2.2业务逻辑层框架的分析与设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯243.2.3数据持久层框架的分析与设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯263.2.4EXtJS+DWR+Sp血g+Hibemate框架的整合⋯⋯⋯⋯⋯⋯⋯⋯..273.3EDsH框架安全性的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯29IV 万方数据3.3.1客户端安全⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯293.3.2SQL注入⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.303.3.3参数篡改⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯313.3.4数据库安全⋯⋯⋯⋯;..⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.323.4系统安全问题的解决方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..333.4.1身份认证和访问控制⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯333.4.2密码的校验及加密传输⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯333.4.3防sQL注入和参数篡改攻击⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一353.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..364EDSH框架在FAIPMS中的应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯374.1关于FAIPMS⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯374.1.1FAIPMS功能需求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一374.1.2FAIPMS开发平台⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.384.1.3FAIPMS开发流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.394.2FAIPMS中EDSH框架的整合⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯404.2.1表示层实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯404.2.2业务逻辑层实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯424.2.3数据持久层实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯444.3FAIPMS的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯454.3.1登录模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯454.3.2地市项目申请、上报模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯474.3.3项目核定模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯484.3.4数据统计汇总模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯504.3.5固定资产投资计划管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5l4.3.6Excel表格的导入⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..524.3.7地市申请拨款、省公司拨款模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯534.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯535总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.545.1总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..545.2展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..55参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.56攻读硕士学位期间主要成果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.60致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯61V 万方数据硕士学位论文l绪论1绪论1.1课题研究背景、来源与意义1.1.1课题研究背景与来源近年来,随着Intenlet与W曲技术的迅猛发展,W曲软件应用越来越广泛,用户对其的要求也日益提高,传统wreb应用中简单发布消息的功能,已远远不能满足当今用户的需求,用户对w曲应用的交互性、响应速度的要求不断提升,使Web应用开发逐渐复杂化。如何快速、方便的开发出界面美观、功能强大的应用系统,并具有高可扩展性、可重用性、可维护性、安全性以及低耦合性【1.3】是开发人员重点考虑的问题。实践证明,选取一种合适的系统开发框架是解决上述问题的最好的方式。目前,软件开发中使用的比较多的框架如ExtJS、Spring便实现了代码的可重用性。w曲应用是建立在B/S模式基础上的,其使用方便已广泛用于企事业单位、政府机关、学校等场所,为了适应各种需求,w曲系统应用模式也越来越完善。web应用中传统的C/S模式逐渐被当前的B/S模式所取代【4】,与c/s架构相比B/S架构最突出的特点就是客户端是通过浏览器来实现,用户通过浏览器按照H1vrP协议向服务器发出请求,服务器处理完请求后,再将用户所需信息返回给浏览器,为用户的使用提供了方便【51。而且B/S模式成功的实现了应用环境与开发环境分离,更加便于系统的升级与维护【6'7】。为了满足在同领域开发不同Web系统的相同需求,针对其共同点探索一套稳健的开发方案,并配上相应的开发工具很必要【引,多层分布式的W.eb应用框架便可满足该需求。以往使用较多的是基于MvC模式的J2EE多层架构,它将c/S模式的w曲应用开发分成N层,每一层都有自己特有的功能【9l。这种开发模式降低了软件各层间的耦合度,让开发人员可以同时开发而互不影响。但这个平台并不能在任何情况下都满足开发人员的需求,并且其业务逻辑层的EJB解决机制也存在一些不足:很多的接口和编程规范,兼容性不够高,限制了业务逻辑组件的移植。针对这些类似的问题在寻求统一解决方法时,w.cb应用框架面世了。目前比较流行的w曲应用开发框架SSH(即S仇lts、Spring、HibeHlate)就是一种比较好的实现分层系统开发的方式【协Bl。SsH框架给w曲应用开发带来方便的同时,也存在一些不足:①界面开发过度依赖JsP技术;②需要配置大量的文件;③必须遵循‰ts框架的特定标准;④SSH框架中不同层次之间的耦合度古114,15I。这使应用的开发难度增加,开发效率降低。 万方数据硕士学位论文l绪论本课题是依据本人在公司实习时所开发的项目来完成——设计并实现湖南邮政固定资产投资计划管理系统,实现了对以往W曲开发框架进行改进以满足当前应用的需求,达到了开发的应用系统具有美观的界面、良好的人.机交互性、及时响应用户请求及较好的可扩展性、可易维护性、开发周期短的目的。1.1.2课题研究意义鉴于高开发效率、高交互性、高可扩展性一直是w曲应用开发人员所追求的,开发框架又是提高这些性能的有效途径,因此选择一个合适的开发框架很有必要。当前流行的富客户端技术便能实现高互动性、用户体验,尤其是新兴的AjaX客户端框架EXtJs及服务端框架DwR不仅完善了开发的规范性、提高了系统的开发效率、提升了代码的可复用性、增加了应用界面的美观度,还简化了客户端与服务器端间的异步通信。综上所述,为了满足当前W曲应用的发展需求,该课题从表示层(PresentationLayer)入手开发构建了一种新的w曲应用框架,在改进SSH架构的基础上,充分利用优秀的开源技术,全面引入动态的富客户端技术Aj觚【16J,将EXtJS、DWR、S研ng以及Hibemate技术进行综合,充分发挥各种技术的优点,解决传统w曲应用存在的系统交互性、用户体验以及开发周期长等问题。1.2国内外研究现状1.2.1Rn技术研究现状ⅪA(mchIntemetApplication)即富互联网应用程序,自从2002年3月份被提出后,由于各种原因,一直没有受到用户的青睐,发展很慢。随着近年来Intemet与W曲技术的快速发展,具有较好人.机交互性、丰富用户体验以及强大功能的富客户端越来越受到用户的欢迎,同时也越发受到了软件开发商的重视,并相继发布了对A框架。在他们的共同推动之下,富客户端逐渐步入了发展高峰期。随着RIA使用逐渐增多,实现富客户端的技术也如雨后春笋般涌现,众所周知的AjaX技术,发展日趋成熟的FleX技术,迅猛发展的SilverLi曲t技术,崭露头角的JaVaFX,以及近期备受关注的HTML5。(1)开源的岗aX2005年初,匀a)【最先由Jesse-J锄esGarrett在一篇题为“Aja)【:ANewApproachtow曲Application”的文章中提出,这篇文章的广泛流传迅速提高了人 万方数据硕士学位论文l绪论们使用该技术的意识【17】。Aja)【技术在保证数据正常通信的同时,不需要中断用户当前执行的操作也能实时更新页面,满足了用户期望应用具有动态交互能力的要求【18】。Aja)【的兴起,给互联网的发展注入了新的力量,在G009leMail、Goo酉e地图中的应用便得到了很好的证明,同时MozillaFireFox对Ajax的支持使得它使用更为方便,发展日趋成熟【19J。(2)Adobe的FlexFlex是Adobe公司为满足ⅪA的应用需求而推出的。Flex的出现不仅解决了传统W曲应用开发中表示层的技术问题,让用户享受了丰富的用户体验,更重要的是它纯面向对象和组件的架构,让w曲表示层的开发具有更分明的层次,大大提升了应用的开发效率。为了更好的使Adobe公司的W|eb应用开发技术相结合,Adobe公司推出了一款跨操作系统的RL~开发平台——AIR(AdobeIntegratedRlmtiIIle),整合了FlaSh、Flex、Hn他、Ai戤的技术优势【2们,实现了不必经过浏览器就可以对网络应用进行控制。(3)微软的SilverLi擘m微软公司研发的SilverLight富客户端技术实现了w曲应用的跨平台性,同时达到了兼容各种浏览器的目标。SilverLi咖的最新版本为SilverLight5。silVerLight实现了用户体验的高品质要求,它所具有的高跨平台性、简单易用的编程模型、特有的技术——内核技术等把w曲应用的开发推向了一个新层面【2¨。但是,到目前为止,不管是国内还是国外的研究都仅限于如何借助SilverLight实现R工A,并没有基于SilverLight开发出一种适合w曲应用开发的框架技术,因此使silverLight的使用受到了限制,无法通过使用它全面提高各种系统的运行性能和用户体验瞄】。(4)SUN公司的JavaFXSUN公司为了适应Wreb技术中富客户端应用的发展,于2008年12月正式发布了富客户端技术——JaVaFx,JavaFX它并不是一种编程语言,而是SUN公司为了实现富客户端应用推出的一种组合产品【23】,它主要是针对PC等移动设备的界面开发而推出的。JavaFx中的编程语言JavaFXScript是2007年5月由SUN公司研发的一种脚本语言【24】,它具有重用性、封装性、声明性,这使得JaVaFX实现ⅪA技术更加方便。但是同Adobe的Flex和微软的silverLight技术相比,JavaFX面世的时间比较晚,发展前景也不如Flex和SilverLight。(5)HT]ML5HTML5是至今为止出现的最新的RJA技术,与以往的HTML不同的是,H州L5不再是单纯的表示W曲内容,而是将W曲应用引入到一个图像、视频、 万方数据硕士学位论文1绪论动画以及音频与电脑之间的交互都被规范化的平台上。HTML5实际上是将HTML4、JaVaScIipt脚本语言、FlaSh以及层叠样式表等合并发展起来的,而且在此基础上形成了统一的标准【25】。Hn肌5是近些年来W.eb应用技术发展上的巨大进步。H刑L5与富客户端技术的结合,不仅弱化了B/S与C/s两种系统应用模型的区别,而且它还可以获得当前热门技术——云计算的支持。因此,H刑L5的出现必将为W曲领域的发展开创一个新局面。1.2.2Web应用框架国外研究现状W曲应用开发框架主要包括两种:轻量级开发框架与重量级开发框架。重量级的开发框架是以EJB为核心实现的,其之所以应用广泛是因为EJB在事务的处理、分布式处理、大数量访问等方面都具有优势,然而这种技术的实现对各方面的要求均很高,在使用之前需引入EJB架构的一些接口和类,是一种侵入性的技术,且不太适合中小型项目开发,因此在w曲应用的开发中轻量级开发框架越来越占据主导地位。目前,比较流行的轻量级开发框架有stmts、Sp血g、W色bwork、Hibemate、iBatis等等。(1)Stmts框架w曲前端框架随着前端控制器的提出逐渐面世了,最先出现的便是stmts框架,随后w曲、Ⅳork、ExtJS等框架也纷纷涌现。2001年,Stmts开发框架被正式发布【26】,stmts的出现强制w曲应用开发人员用MVC模式来进行开发,将应用的表现层和业务逻辑层进行分离126。,简化了开发人员的工作,缩短了应用的开发周期,自S袱s问世后就受到热捧,’并被广泛应用【27J。尽管S虮lts框架在推出之后取得了很大的成功,但它也存在一些不足,在后来的应用中也对其进行了改善。2005年,‰ts与Webwork【23】整合,发布了S饥lts2.O,整合了w曲w0呔的S仇lts2.O功能变得更加强大,且更简单易用,当前发布的最新版本是S饥ns2.3.16.1。(2)Spring框架2001年在《ExpertOne—on.OneJ2EEDesigna11dDevelopment》中RodJohnSon【29】提出了Sp血g的一些核心思想,接着在《Expert0lIle.on—OneJ2EE、ⅣittloutEJB》中进一步阐述了不使用EJB开发企业级应用的设计思想和方法,并正式推出了S研ng框架。这两本书出版一度轰动广泛流传,推动了S曲ng的发展。在S埘ng的框架中引入了IOC、AOP的概念,借助Spring中那些轻量级的容器来实现中小型Web应用的开发。自从第一个版本O.92被Sprillg于2003发布后,受到了大量开发人员的热捧,至今为止最新版本即为3.2.5。4 万方数据硕士学位论文1绪论(3)Hibemate框架2001年,Hibematef30】的第一个版本发布于SourCeForge,它是一个开源代码的ORM(ObjectRelationalM印piIlg)持久层架构1311,它对JDBC(JavaDataBaSeCo如ection)进行了轻量级的对象封装,为软件的开发提供了强大、高效的对Java对象进行持久化的服务,开发人员可以根据自己的需求使用面向对象编程的思想对数据库进行操作,这样可以简化程序员的编码工作,使他们能更多的关注程序的逻辑与应用的实现‘321,并且可以使用Hibemate所提供的HQL(HibenlateQueryLallguage)完成Java对象和数据库之间的转换。(4)DWR框架DWR(DirectW曲Remo血g)是一个W曲远程调用框架,于2004年4月发布了2.0版本,这个框架的出现让匀a)【技术中的异步通信变得很简单,因为在DwR中封装了异步通信的细廿【33】。只要配置好dwLxml便可以在客户端通过JaVaScript直接调用服务器端的Java方法。目前,DWR框架的最新为3.O版本。(5)ExtJS框架EXtJS是基于Aja)【技术的客户端框架,它于2007年正式发布。ExtJs建立在业务逻辑层的框架——Spring的基础上的,它整合了开发w曲用户界面的组件对象,而且对其组件对象原有的能力进行了提升,为实现构建美观的应用页面,丰富用户体验,局部刷新数据的应用提供了可能。1.2.3W曲应用框架国内研究现状由于富客户端技术——Aia)‘广泛应用,其优势逐渐凸显,国内的相关学者们也开始着手研究Aia)【技术在W曲系统中的使用。严丽萍等指出尽管在W曲应用开发中使用Aja)【技术会给系统带来不一样的特征,但是他们却忽略了Aja)【技术在实际开发过程中存在的问题,而且他们也未曾考虑过简aX技术在Web应用开发中应当发挥什么样的作用。AjaDc是w曲应用框架的重要技术之一,如何发挥其在Wreb应用框架开发中的优势,使开发系统周期更短、维护更简单,是衡量其开发框架是否合适的主要因素嗍。对于W曲应用开发框架国内对其还是做了比较深入的研究的,许劲松【35】等研究了目前比较流行的几种软件架构,但其主要停留在对理论的研究上,并没有将其应用于系统的实际开发中:王磊【36】等分析了当前W-eb应用开发中使用比较多的ssH框架,并阐述了SSH框架如何应用于电子商务中;黄烟波【37J等也着重研究了SSH框架和它在wreb系统开发中的应用。正是SSH框架的广泛应用,其由‰ts实现表示层的缺点日益凸显,例如:踟叫s框架开发界面时对JsP技术 万方数据硕二L学位论文l绪论过度依赖,开发过程中使用大量的模板,应用程序中需要频繁解析模板,大大加重了服务器与网络的负担。随着技术的成熟,W曲应用框架也越来越多,鉴于SSH框架存在着一些不可避免的缺点,各种新的整合框架如Easy,w曲Jdon、Fr啪ework便逐渐出现了。本课题通过对目前比较流行的开源框架技术的研究,设计了一个新的W曲应用系统的开发框架,这个框架不仅借鉴了当前比较优秀的组合框架的设计思想,而且还融入了新的实现层次解耦的方案,用其设计出的W曲系统更能满足当前用户的需求。1.3论文的主要研究内容本文主要对当前比较流行的w曲应用的整合框架进行了深入的研究,总结了它们在应用中存在的问题,针对其缺点并结合当前w曲应用开发的需求,设计了以EXtJS、D、ⅣR、Spring、Hibemate框架整合的架构体系,实现了系统具有丰富的用户体验、较短的开发周期、极强的交互性、较快的响应的功能;研究了该种框架在应用过程中可能出现的的安全问题并针对每种安全问题进行分析提出了有效的解决方案;最后通过将EDSH运用在固定资产投资系统中,阐述了其在系统开发过程中凸显的优势,证明了EDSH架构所具有的特性。1.4论文的组织结构本论文总共分为五章,每章的重点及相关内容如下所述。第一章对本课题的研究背景、来源与研究意义进行了介绍,并对RIA技术、W.eb应用框架的国内外研究现状进行了分析,阐明了开发一个实时性高、交互性好、界面美观的wreb应用,选取一个优秀的开发框架是非常重要的,最后概述了本论文的主要研究内容及论文组织结构。第二章对W曲应用开发中所用的应用系统模式、关键技术、各层开发框架以及数据库进行了详细的论述。第三章对当前使用比较多的ssH框架存在的问题进行了分析,详细介绍了W曲应用开发中的表示层、业务逻辑层、数据持久层所选取的框架,并对各层的开发框架进行了整合,接着对使用该开发架构的w曲应用系统存在的安全问题进行了分析,最后针对该系统的主要安全问题提出了有效的解决方案。第四章为本文设计的框架在固定资产投资计划系统中的应用,首先介绍了固定资产投资计划系统的功能需求、开发平台以及开发流程,接着阐述了EDSH框架在系统中是如何设计与应用的,最后详细介绍了系统的实现。6 万方数据硕士学位论文l绪论第五章是对全文的总结与展望,总结了使用本课题研究的EDSH框架开发的Ⅳ岬MS系统具有的特点,以及对本课题的研究成果与下一步要做的工作进行了阐述。7 万方数据硕士学位论文2相关技术的研究2.1Web应用系统模式目前,软件体系结构包括C/S与B/S两种,C/S(clie州seⅣer)即客户朋艮务器模式,B/S(Browser/Server)即浏览器/服务器模式。C/S模式是典型的两层结构,它主要的特点就是能将系统任务合理分配到客户端和服务器端来实现,既充分发挥了PC的处理能力,又减少了网络带宽的浪费。但当前软件的复杂度日益提高,C/S的缺点逐渐凸显,因此在当前的W曲应用开发中开发人员一般采用B/S结构模式。、B/S模式是随着Intemet技术的兴起对C/S模式的扩展。在B/S模式中所有的应用程序及数据库均放在服务器端,客户端通过浏览器来实现。用户通过浏览器向Server发出请求,Sen,er处理完请求后,再将用户所需信息返回给浏览器,使用起来非常方便。彤S体系结构如图2.1所示。图2-1B/S模式结构图第一层为表示层,由浏览器来实现。用户借助浏览器对系统进行操作,首先用户在地址栏输入URL向W|eb应用服务器提出请求,W如应用服务器通过帅协议将用户所需资料传给用户,最后客户机接受返回的结果并显示在浏览器上。第二层为功能层,由w曲服务器实现。即W曲服务器接受客户的请求,以CGI(co衄nongateinterface)与数据库连接后对客户请求进行处理,然后服务器端将结果返回给wreb服务器,再由w.eb服务器传送给客户端浏览器。第三层为数据层,由数据库服务器实现。数据库服务器根据客户的请求独立进行数据处理。B/s模式与C/s模式相比,其优点如下所述。(1)维护和升级简单 万方数据硕士学位论文2相关技术的研究在C/S模式的系统中,每个用户都需要在自己的电脑上安装一个客户端,因此每次系统的维护或升级都要对每个客户端进行重新安装,其耗费的人力、物力比较多,且c/s模式的数据库要实现物理上的分离,问题便变得更加复杂,需要大量的相关技术支持和维护工作【391。而B/S架构的软件因其应用程序和数据库全部在服务器上,所以在系统升级时只要管理服务器即可。(2)数据库性能更高①安全性更高,与C/S架构的软件相比,B/S架构软件的数据集中存放于服务器端的数据库服务器上,和客户端是分开的,安全系数更高。②数据一致性更好,B,S架构的软件的数据是统一存储,每次对客户端数据进行操作都和数据库中的数据同时进行,不存在数据不一致的问题。③数据实时性更强,C/S结构不能实时体验到数据的更新,而B/S结构则不同,它可以实时更新当前操作的所有业务,方便了数据共享、快速决策。(3)适应范围更广B/S模式的应用软件一般只需操作系统和浏览器,比C/S模式软件适应范围更广。B/s建立在广域网之上,不需要专门的网络硬件环境。而C/S模式是建立在局域网上,必须通过专门服务器才能在局域网之间提供连接和数据交换服务。(4)系统开放性更好开放性是应用系统必须具有的,它将为不同厂商产品协同合作创造良好的条件,但这些相关的产品也应该遵循统一的标准。在B/s模式的系统中,采用了相同的H丁口协议以及一些其他约定的原则,确保系统的通用性和跨平台性124】。(5)平台无关性更强在B/S模式的系统中,应用程序基本都布署在服务器上,客户端只是一个浏览器,客户端与服务器之间通信均是采用H1vrP及TCP/】P等协议,因此,客户端与服务器端是相互独立的,用户可以自由的选择自己喜欢并熟悉的平台使用。2.2关键技术分析2.2.1富客户端技术(1)富客户端富客户端是为了解决传统W曲应用中存在的用户体验问题而出现的,富客户端简称剐A,它是一种以文件形式提供,用H,兀P传送的已编译客户端应用程序的运行环境。mA允许我们在因特网上部署富客户端程序,使客户端具有更强的交互性、更丰富的用户体验以及更强大的功能。富客户端技术最核心的部分就凸显在“富”上。“富”包含了两层含义:第一是其具有丰富的界面元素,它提9 万方数据硕士学位论文2相关技术的研究供了比传统W曲应用中HTML更为丰富的界面元素,为用户提供了更好的体验效果:第二是其具有丰富的数据模型,在富客户端中提供了多种数据模型来处理客户端的数据操作。ⅪA集传统W曲应用程序与桌面应用程序的优势于一体,集低成本部署、快速响应以及实时通信于一身,是新一代w曲应用系统开发的规范【4UJ。富客户端技术为W如应用开发提供了一个非常强劲的技术平台,使客户机的能力复原到与使用C/S软件架构模式开发的系统中的客户端的功能相似。它不仅适合以往应用的多层开发模式,而且还可以与原有的开发环境融合,实现对已有的应用扩展。同时,使用这种技术开发的应用还能允许用户进行离线工作。对A还具有在客户端进行数据的缓存的能力,正是由于ⅪA所具有的这个特点使它能开发出与服务器交互次数更少、响应速度更快的应用界面。特别是对于那些偶尔需要连接或者是无需连接的无线设备来说,以后肯定是朝富客户端方向发展的。目前,主要的富客户端技术如表2.1所示。表2.1主流的富客户端技术在上表三类富客户端技术中,浏览器技术是开发刚A最宣接的技术,其中Ajax技术应用很广泛,并且认为Aja)(技术是开发R队的不二选择,它可以在不同的操作系统和浏览器上运行,是一个不错的跨平台、跨操作系统、跨浏览器的富客户端技术。Aja)【的出现使B/S模式开发的系统界面设计上升到了一个新的层面,使客户端的交互变得更加友好,也解决了客户端一次性提交和响应缓慢的问题。因此,使用浏览器技术中的AiaX技术是开发W曲应用系统的一个不错的选择,本课题的wreb应用开发中即采用了Aia)【技术。(2)富客户端与传统客户端的区别lO 万方数据硕士学位论文2相关技术的研究富客户端与传统客户端的区别主要在于客户端和服务器端之间的交互方式。①传统客户端与服务器端的交互在传统客户端下工作,首先用户在浏览器中进行操作,从客户端向服务器端发出请求,服务器端收到该请求之后,便进行业务逻辑处理,.从数据库中取出所需的数据并在服务器端组织好数据,发送给客户端,客户端收到数据后对其进行解析然后在浏览器上显示出来。传统客户端与服务器端的交互流程如图2.2所示。/,client、厂Server、嘲uest》取出数据显示组织数据Qes洳\//\//图2—2传统客户端与服务器端的交互②富客户端与服务器端的交互富客户端与传统客户端不同的是富客户端多了一个W.eb应用服务器,在这种情况下,服务器端需要做的仅仅是业务的逻辑处理和操作,而不需要像传统客户端一样还要关注数据的表现形式,所以客户端与服务器端可以说是相互独立的,这样便实现了数据的异步交互,提高了系统的响应速度,给用户提供了一种连续的用户体验。富客户端与服务器端的交互流程如图2.3所示。/,C“ent、厂、\卜嘲uest》use∑HtmI∥ServerJaVaScriptExtJSCSS/1Q唧onsejGenerateN\//\\//图2—3富客户端与服务器端的交互 万方数据硕士学位论文2相关技术的研究通过对传统客户端与服务器端的交互与富客户端与服务器端的交互相比,可以看出富客户端更能满足用户的更高的体验要求,所以在本课题的EDSH框架的应用开发中采用心这种技术。2.2.2ExtJS框架在砒A技术的介绍中我们知道Aia)(是开发ⅪA的不二选择,用它开发的W曲应用可以在不同的浏览器上运行,是一个不错的跨平台的富客户端技术;使用AjaX技术开发的应用系统不需要等待服务器响应,用户便可以在同一页面上继续操作,提供给用户一种连续的体验,这正是传统的w曲应用急需解决的问题;同时减少了网络带宽开销、减轻了服务器的负荷,加快了响应速度、缩短了用户等待时间、提高了系统的交互能力⋯】。ExtJS便是富客户端技术——AjaX的一种应用,它是一种由JavaScript编写的Aia)(技术的客户端框架,主要用来创建和设计界面,是一种几乎与后台技术无关的前端框架,因此,它可以应用于PHP、Java等不同后台技术开发的应用中。ExtJS最初来源于YUI(Y她oouserInterfaceLibraw),是由JackSloc啪研究开发的,实现了组件的可视化、提高了界面的美观度、解决了数据解析处理上的问题,是一款非常不错的基于Aiax技术的砌渔应用框架。EXtJS的UI组件模型和开发理念分离,它包含了许多定制用户界面的控件,该框架是基于Hn他、Css与Javascript脚本语言等技术开发的,提供兼容各种浏览器的组件,采用自带的数据交换格式JSON完成数据交换,减轻了服务器端的负担,从而真正达到富客户端的开发效果【42J。ExtJs框架提供了丰富的组件库,组件库细分为基本组件、工具栏组件和表单元素组件,总共有50多种,另外还有一些其他的扩展组件,满足了开发富客户端应用的各种需求。ExtJS框架中的控件是通过Component这个类来定义的,在定义控件时它对每一个组件都赋予了一个属性值,用ⅪⅦe来标识,因此只要通过这个属性值就可以找到其对应的组件。EXtJS框架的组件结构如图2.4所示。JQuery、YuI、Dojo以及ProtoType都属于非常核心的JS库。虽然YUI与JQuery都构建了一系列的UI器件,不过却没有一个完全整合好的程序开发平台。尽管这些底层的核心库已经很不错了,但当真正投入到实际开发环境中,仍然需要开发者去完善很多不足之处,ExtJS的出现解决了这些问题。与其他AjaX框架相比,EXtJS主要有以下3个优势。 万方数据硕士学位论文2相关技术的研究图2-4EXtJS组件结构图(1)丰富的UI组件EXtJS框架之所以能开发出美观且交互性好的界面是因为其开发用户界面的组件具有重用代码、便于使用、功能齐全的特性。W曲应用开发人员不需要太懂CSS布局和PhotoShop等美工知识就可以开发出美观的用户界面。而且开发者不仅能直接使用这些控件开发用户界面,还可以自行对uI组件进行扩展,形成符合自己需求的用户界面组件库。(2)优秀的源码ExtJS框架的设计秉承了面向对象编程的设计理念,因而其具有定义全局变量名的空间且拥有规范相同的特点。正因为在ExtJS框架的设计中使用了大量的设计模式,使得其设计更加巧妙、框架结构更加清晰。因此,基于EXtJS框架所设计的W曲应用系统比其他系统更易于扩展,且增强了代码的可维护性以及提升了系统的性能。(3)实现了数据与组件的分离开发人员在使用EXtJS框架设计用户界面时,不需要考虑客户端与服务器端交换的数据的格式,因为其对数据操作均是通过调用定义好的接口来实现,这也是使用ExtJS框架开发前端界面时可以不考虑后台使用什么语言开发的原因所在。ExtJS除了具备上文所介绍的三个优点之外,拥有大量的参考资料也是它一个突出的优势。ExtJs提供了完整的应用程序接口文档和各种开发实例,应用程序接口文档对ExtJS组件的作用、属性、配置项等都进行了详细的介绍,开发实例对初学者来说具有更强的指导意义。此外,ExtJs的较高的使用频率与其代码的开放性也使其论坛一直很有人气,这些论坛上对EXtJs设计的应用出现的一些 万方数据硕士学位论文2相关技术的研究问题的解答帮助了开发者的学习以及ExtJS的自我完善,这样使ExtJs开发框架越来越完善,技术越来越成熟。因此,在使用Aja)【技术开发富客户端应用时,E赋JS是开发人员开发系统界面的一个不错的选择。2.2.3DWR框架基于Aja)【使用xMLH卸Request对象进行异步通信过程比较繁琐,因而出现了许多基于匀a)【技术的用来解决客户端与服务器端异步通信繁琐问题的框架。DWR(DirectW曲Remoting)即直接w曲远程调用。它是一个服务器端的Aja)【框架,可以把后台的任何JaVa对象公开为可以通过浏览器中的JavaScript访问的远程对象。这个框架为开发人员提供了实现界面开发的常见的JaVaScript工具箱,由于目前对JaVascript代码的编写还没有一个统一的工具,所以工具箱的出现既减少了程序员的代码编写量又减轻了他们调试JavaS嘶pt代码的负担。通过这个框架隐藏了客户端与服务器端之间异步通信的细节,为开发人员开发w曲应用系统提供了更多的方便,同时也提高了系统的开发效率。DwR基于Java类动态创建JavaScript代码,开发者可以利用浏览器中的Javascript代码调用远程的Java方法,就像是JaVa代码在浏览器中一样。这样便实现了将w曲应用中的客户端的请求与服务器端的响应函数进行结合。基于Aiax技术的DwR框架在W曲应用开发中主要发挥了两个作用:其一,它能对dwr.xml配置文件中设置为公开的JaVa方法动态的生成对应的JaVaScript函数供客户端调用,并在服务器端执行ⅪⅥLHnpRequest对象实现异步通信;其二,当客户端用户发送操作请求给DwR的时候,DwR会将其解析成服务器端能够识别的与其功能对应的功能函数,并将其函数返回的值传送给客户端,再编码成JaVaScript,原理如图2.5所示。web客户端w曲服务器端Javascript/IItml3aNaFllllct.on“entH卸dle哟{publicclassAjaxServiceAj毅Service.g∞pti∞(populateList);.,/1卜{)娟lter.n锄e>SecurityFilte础lte卜n锄e>com.herong.biz.SecurityFilteKmlterIclasS><,filter>SecurityFilteK颅lter.n锄e>}.do<,urI—pattem></fileter-mapping>3.5本章小结本章首先对当前存在的比较流行的W曲应用开发框架进行了研究,总结了其在开发过程中存在的一些问题,这也是在本课题研究的EDSH框架中应该解决的问题;接着通过对各层的开发框架的分析与设计,构建了一个完整的开发框架——EDSH框架,并总结了该开发框架再进行应用开发时的主要优势;最后对基于EDSH框架开发的应用系统的安全性进行了分析,总结了其主要存在的安全问题,并针对其安全问题提出了相应的解决方案。 万方数据硕士学位论文4EDSH框架在跏PMS中的应用4EDSH框架在FAIPMS中的应用4.1关于F灿PMSFAIPMS(FixedAssetsInves衄emPlaIlManagementSystem),即固定资产投资计划管理系统。固定资产投资是企业维持再生产的一种手段,通过建立一个固定资产投资计划管理系统,可使得项目申请、上报、审核、下发、拨款等业务实现电子化,在规范和标准化计财部工作流程的同时将固定资产项目投资信息收集整理形成项目信息库,通过决策支持、综合报表等功能提供对项目信息的分析、投资合理性的预警及投资趋势的分析,从而提高企业对于固定资产投资信息的掌握能力,确保企业及时、准确、完整地预测宏观经济形式,制定正确的产业投资政策。因此针对企业对这方面的需求,开发一个固定资产投资计划管理系统是十分有必要的。将本课题研究的EDSH框架应用在该系统的开发中,不仅提高了应用界面的美观度、人.机交互性,而且还实现了应用开发的低耦合、高可扩展性、高兼容性、高可维护性等,使其开发的软件可以长期不被淘汰。4.1.1FAIPMS功能需求①用户类别。登录该系统人员身份有五种:系统管理员、局领导、局财务科长、地市经办人、计财部员工,只有被授权的用户才可以访问该系统、对系统进行操作。②权限管理。用户需要通过身份认证才能登录系统。用户身份不同,对系统具有不同的操作权限。地市经办人具有的操作权限:地市项目申请/上报、管理项目实施状态、拨款申请、统计查询本地市的项目;局领导可以查看各地市申请的项目、拨款信息等;财务科长审核项目的拨款申请并进行拨款等;系统管理员对系统的各种参数进行设置;计财部员工统计个地市申请的项目制定投资计划并将其下发到各地市。③地市项目申请与上报。14个地市经办人根据本单位的需求按类进行项目信息录入实现项目申请。项目申请包括:基本建设项目、终端服务用车、信息网、终端设备、干线车辆、网运生产工艺、电视监控及其他八类;地市申请的项目只有经过地市上报后,省公司的领导才可以看到各地市申请的项目,上报后的项目信息是无法更改的,地市项目可以按分类一次性全部上报。 万方数据硕士学位论文4EDsH框架在跚PMS中的应用④项目实施管理。各地市的经办人只有对省公司下发的项目进行项目实施进度设置为开工后才可以向省公司申请拨款。项目实旌进度分为:开工、中期、完工和验收,地市经办人需要及时对其进行实时更新。⑤项目拨款申请。地市经办人在将其接收的项目的实施进度设置成开工后,可以向省公司发起申请拨款。⑥项目查询统计。地市项目查询统计需实现对该地市的项目进行查询;省公司查询统计需实现对各地市申请的项目进行查询,也可以对省局制定的各个批次的投资计划进行查询统计。⑦系统管理。包括地市与省公司系统管理,地市系统管理需实现对该地市用户的密码进行更改;省公司系统管理需实现对系统参数进行维护,例如机构信息、项目属性、资金安排渠道、设备类型等。⑧地市项目核定。该部分需实现省公司对地市申请项目进行核定,不仅是审核项目的各项信息,最主要的是审核项目的各项资金来源,若省局对项目的资金有异议,可以实现在界面上对其进行更改。⑨固定资产投资计划。固定资产投资计划包括第一批固定资产投资管理、第二批固定资产投资管理、投资计划调整以及专项计划。根据省公司立项批复下达投资计划。该部分需实现Excel表格的导入,给用户的使用提供方便的操作。⑩省局拨款。实现针对地市的拨款申请,省公司对拨款申请进行确认,进行拨款。4.1.2FAlPMS开发平台(1)开发工具①FAIPMs中使用的JaVa开发环境是JDKl.5。②IDE开发环境是MyEclipse8.5。应用开发框架使用的是本课题研究的EDSH框架,即EXtJS、DWR、Sp曲g与Hibemafe的整合,使用这个框架有效地提升了应用的开发效率;应用的架构模式采用的是B/s模式,这样便可以实现客户端的“零维护”,节约了应用开发的成本;应用开发使用的是JaVa、JaVaScript、JSP、H刑L、SQL等语言。③使用的数据库为0racle109。④应用服务器为w曲logic10。⑤页面设计工具为ExtDesigner。(2)软硬件平台①服务器端软硬件平台配置包括了对CPU、内存、硬盘、网卡、操作系统、w.eb应用服务器、数据库等的配置,其各项配置所需的标准如表4.1所示。38 万方数据硕士学位论文4EDSH框架在F灿PMS中的应用表4.1服务器软硬件平台配置参数表CPU内存硬盘网卡操作系统W曲服务器数据库ImelPentium43.46GHz16G100G+41000MLinuxBEAW曲109icApplicationSeⅣeroraclelOi②客户端端软硬件平台配置主要从cPu、内存、硬盘、网络、操作系统、浏览器等方面进行了考虑,其各项配置的标准说明如表4.2所示。表4.2客户端软硬件平台配置参数表CPU内存硬盘网络操作系统浏览器IntelPentium22.13GHz1G120G100MbpsWindowsXPMozillaFireFox3.ME7.0以上版本4.1.3FAIPMS开发流程FAIPMS的开发流程主要包括系统软件架构选取、系统安全防范、确定功能、页面代码实现、服务端代码实现、系统实施,并且为了完善系统,对应用实行了迭代开发,进一步提升了系统的性能。系统的开发流程如下所示:(1)系统软件架构以及应用框架的选取系统开发选择了当前w曲应用开发比较流行的B/S架构,使用富客户端的开发模式,让系统的人机交互性、系统响应速度和界面美观度都比较好;应用框架则选取了EDSH组合框架。(2)系统安全防范系统在开发时,从身份认证、访问控制、对用户密码加密传输、防SQL注入和参数篡改等方面进行了分析和防范,保证了系统在访问过程中的安全性。(3)功能确定通过对湖南邮政固定资产投资计划业务的调研以及和计财部员工的沟通,明确了系统的需求、确定了系统所需要实现的功能以及界面风格的设计。 万方数据硕士学位论文4EDSH框架在FAIPMS中的应用(4)页面代码实现页面代码实现是基于EXtJS技术的固定资产投资计划管理系统开发工程最为重要的一步,系统页面设计采用了EXtDesi印er这个软件来实现。其页面代码的实现主要包括了两部分:其一,初始化运行环境;其二实现异步通信。初始化运行环境包括初始化系统的数据模型和界面组件,例如:嘶d组件、Toolbar、1'ree等,对系统进行运行环境的初始化为系统界面提供了CSS方案。(5)服务器端代码实现服务器端主要是用来实现应用系统的业务逻辑以及对数据库进行访问。服务器端程序开发的原则是:不同功能分成一个模块,然后对模块逐一进行开发,而且尽量按照统一的规范进行开发,为今后系统的升级奠定基础。(6)系统实施当系统开发完成之后,只有将其在一个服务器上部署好后才能给用户使用,这种部署系统的过程就叫系统实施。其主要包括应用程序的安装、调试,W曲应用服务器的安装以及数据库软件安装以及数据的导入。(7)迭代完善迭代完善其实就是开发者对其开发的程序一个不断琢磨、完善的过程,主要是为了提高软件质量。4.2FmPMS中EDSH框架的整合4.2.1表示层实现在3.2.4节我们已经阐述了表示层的设计,在EDSH这个框架中表示层完成了两个功能,即视图与控制器。视图利用基于EXtJS的ExtDesigller设计软件完成界面的设计,为应用提供美观、交互性极强的用户操作界面,基于ExtJS开发的界面还具有很多鼬眦s没有的优点,例如:复选框、分页显示、后台排序、可编辑等;EXtJS的数据存储于传输是它的另一优势,ExtJS控件中的数据都是异步加载的,它可以通过JSonstore、Directstore等实现数据传输,控件便是通过从这些store中获取数据,这种数据传输方式给应用带来了更高的灵活性。(1)在应用页面中引入ExtJS与DWR这段代码主要是实现在w-eb页面上引入eXt-basejs、ext—alljs、ext-1姐g.zh_CNjs三个EXtJS框架的包,dwrBusiOpe.js、enginejs、util.js三个DwR框架的包以及页面的Js文件和Jsonstore的JS文件。<蹬itIe><1iIll(rel=”时leSheelI.脚e=”tex讹ss”hre#”..,../eXt.3.4.0,resource眈s幽Xt-a11.css”/>砒crippt≈,Script>铂硎p》铂cript>t洮cripp<,Sc啷护《Script><,s硎p》砒crjp伊啪cri妒<,IleacI><,11仃nI>在EDSH框架中控制器则是由DWR与spriIlg共同实现,表示层与业务逻辑层存在特定的接口,控制器则根据用户的请求调用页面的JS函数,通过对用的接口转换后再以Ajax的方式调用相应的Java方法来处理应用的业务逻辑。所以,在w曲应用框架中,表示层框架的主要任务是采用界面设计软件设计界面,以及设计表示层的业务逻辑接口、配置相应的文件。(2)通过瓜,EB.INF^veb.xml配置DWR框架dwr.invoke刚servlet-n锄e>,,servlet的名称<蚓rvle沁l弱s>uk.1td.寥tallead.dwr-DwRservlet<,servle№l弱s>,触rvlet{类的路径《nit.pamlll>脚始化参数debug</pa姗一n帅e>//参数名称true</pamm-value>//参数值钏nit-讲嘞>crossDomainSessionSecuri妒唧a瑚m-n枷c>/,参数名j你捌se铆锄m.涮ue>修数值t矾nit_p猢><,servlet>d、v卜invoker<,servlet-n枷e>∥处理请求指定的E嗡佩的Sefvlet的路径<括ervlet-m印ping>(3)DWR的配置文件~/wEB.INF/d、耽xml配置该文件的目的就是添加JaVascript中需要使用的类。类中方法的暴露可以通过include和exclude来实现,充分保证了代码的安全性。4l 万方数据硕士学位论文4EDSH框架在FAJPMS中的应用∥jj忝加在界面的Javascript中需要使用的Java类,/指明该类的路径<,dⅥ,r>(4)ExtJS通过DWR调用Java对象如nction(b协){if(b仃l==‘yeS’){//在界面的JS中调用Java类中的方法AddGdpcInf0dⅥGdpcBusiope.AddGdpcInfo(cmj酣m,tx_墨mgm,允nction(vaIue){ifNaIue.success==tme){EXt.Msg.alen(”成功”,”新建计划申请信息成功”);E)(t.getCmp(”fomjcjs’’).getFo咖().resetO;/,新增成功刷新表单)else{E慰.Ms晷ale呱”失败”,valuc.ms曲;∥新增失败,返回失败信息retu】m;))})4.2.2业务逻辑层实现业务逻辑层在应用框架中发挥了承上启下的作用,实现了将页面的显示与后台数据处理的分离,降低了程序间的耦合度,增强了系统代码的可维护性。在业务逻辑层s州ng框架需要实现:首先必须对用户在表单中输入的内容进行封装,并将用户的请求映射到业务逻辑层的控制组件,业务逻辑层将数据从数据持久层调用回来;接着在业务逻辑层选择对应的组件模型来处理调回的数据;然后将解析后的数据返回给视图,并呈现在用户界面上。(1)配置数据源,/定义数据源以及数据库驱动(2)配置Hibemate的SessioIlFacto巧con沈opote,回h/model/Sta正hbm.xml卿alue>槲ibemate的映射文件路径<,lis伊唧mpeny><,be舻(3)配置Hibem锄eTemplate在applic撕onComeXt.xml文件中添加如下代码便可完成Hibema_ceTe瑚Iplace的配置,配置这个文件主要是为了在W曲应用开发时使用Hibemate框架中封装好的与数据库打交道的方法。郇roperly>(4)业务逻辑层的实现publiccI邪sU踺rseⅣice{publicUSerDaog豇UserDaoO{ret啪userl)aO:)publicVoidsetUserDao刑serDa0uSerD∞){this.userD加FuserDao:)publicVoidsave(Useruser){userDao.save(user);)publicVoidupdate(Useruser){userDao.update(user);//调用保存用户信息的方法//调用更新用户信息的方法,pubIicclassUse疋伽仃011er嘣endsSimpleFomCon订0Her{publicUSe略ervicegetUserDaoSen,iceO{retllmuserService:}publicvoidsetUserSeⅣice(UserserviceuSerservice){tIlis.userSen,ic譬:llserService:}从上述代码中我们可以看到在这个类中调用了UserDao类中的方法,实现了对数据操作的封装,并且在uSerCon仰ller、h锄dleRequest方法中均调用了USerservice这个类中的方法来对应用的业务逻辑进行处理,并通过w曲应用服务器返回将其返回的结果传递给w.eb表示层并将其显示在浏览器上。并且在Use疋oIl仃oller这个类中继承了SimpleFomCon订oHer。43 万方数据硕士学位论文4EDSH框架在刚PMs中的应用4.2.3数据持久层实现数据持久层主要是完成对与数据库表中的字段对应的JavaBean进行编写,然后再在配置文件木.hbm.xml中对JaVaBeaIl与数据库是怎样映射的进行定义,DAO类则是用来实现对访问数据库的细节进行封装。(1)数据类的定义publicclassUserInfoimplementsSerializable{publicStringyg曲;/,员工工号publicStrh唱j鲥m;//机构代码publicStringgetYg曲0{鹏是取员工工号retumthis.yg曲;)publicVoidsefyggh(Stringyhid){this.yggll=yhid;}publicStringgetJgdm0{//获取机构代码retIlmthisjgdm;)pub】icVoidsetJgdm(StringsSjgdm){this.jgdm=ssjgdm;)(2)映射文件的配置</g%erator>啪d><,hibemate—mapIping>(3)DAO层的实现Dao类使用数据持久层中的框架Hib锄ate中的Template中的HibemateQue巧Language(HQL)语句操作数据持久层的对象,根据业务逻辑层的要求完成对数据库的访问,并获取其所需的数据返回给业务逻辑层。砸VateHibemateTbmplatehi胁ateTemplate;publicHibemate.remplategetH.bemateTempIate(){retumlljbemateTbmplate;) 万方数据硕士学位论文4EDSH框架在FAlPMS中的应用publicVoidsetHibemateTemplate(HibemateTemplatehibemateTbmplale){this.hibemateTemplate=hibemateTemplate;)publicvoidsaVe(Useruser){hibemateTemplace.saVe(user);)4.3FAIPMS的实现4.3.1登录模块W曲应用系统中设计登录模块的目的是:为了验证使用该系统的用户的身份,只有那些赋予了系统权限的用户才可以顺利进入系统并对系统进行操作。用户登录系统后,系统会根据用户的身份确定其权限范围,再为其匹配出相应的用户界面。该系统登录模块的身份验证是基于数据库表单进行的。用户在登陆界面的下拉菜单中选择所属公司,在表单中输入用户名及密码后,该系统会自动对用户输入的密码进行加密处理形成密文之后再传输,然后系统将用户输入的信息与员工表中的信息进行匹配,如果数据库中的记录没有与输入的用户信息能成功匹配的,则说明该用户为非法用户,无法进入该系统;反之则是合法用户可以成功进入该系统。在这个系统中将员工信息表和用户权限表的进行了关联,用其来确定登录系统的用户的权限范围。系统确定了用户的权限范围后便自动组合出相应的功能模块并显示在主界面上。FAIPMS系统登录界面如图4—1所示,登录模块的流程图如图4.2所示。』l4茸,日¨呈#E卉i一蔓子’:节:?o彭湖南邮政l投资计期信息管理系统用户替录所属单位·E鬲函‘一霹用户名:三二二::二二密码l{:二..二二一一二翻;登景小攫示·皇熹否曩定了t叠的丈写功越?谙檀壹您健盘—t∞4c"sh出。或‘^‘玎是否藕.如黑是.诗先按一下。c·p=bck‘键然后置新嗡^.-£昱吾毫记圣不小心耸^了铪误帕害日'请联秉,甍主毫管理员·为您重置密码.无挂室鉴控件'诗蔓看磐是否禁用了act,ve控件.由于奉蓉毫毫便甩了ac¨ve控怿-因tL芊镍用·ctlv·控件.图4.1湖南邮政投资计划管理系统登录界面45 万方数据硕士学位论文4EDSH框架在蹦PMS中的应用图4.2登录界面流程图在用户登录系统时,其输入的用户名和密码与系统用户表中的数据不相符时,系统会用“alert()”方法在界面上返回一条“非法用户,请确认输入的用户信息”的消息,如图4二3所示。图4.3用户信息锱误提示页面提示错误信息给用户的功能代码如下所示:out.埘ntln(”alen(’非法用户,请确保输入用户信息’);诵ndow.10cation.hre仁’login.jsp.;√s丽p伊”); 万方数据硕士学位论文4EDSH框架在FAJPMS中的应用4.3.2地市项目申请、上报模块(1)功能地市经办人将该地市需要申请的项目进行汇总后,将其分门别类的在地市项目申请模块录入到系统中,其中,地市项目申请主要分为八类:基本建设、电视监控、信息网、网运工艺、终端服务用车、终端设备、干线车辆、其它。在该部分,地市经办人可以新增项目信息、删除项目信息、更改项目信息,也可以根据不同的查询条件对项目信息进行查询。在核对录入的信息准确无误之后,在项目上报模块可以对录入的信息一次性上报,但是上报之后的项目信息将无法再更改。(2)用户界面震露蠢圈一⋯⋯。瞩墨器目P:tg∞墨晕时阈抽’t年3月鲥撇!!|+警唠I!l-*”,-一j§日‘日目{口v珥目S嚣18&女:-皇18投壹r-。工墁墁曩⋯I理&qf-:4目辅‘“i’,v目目#$v4目#£:ot}§An鞴t女§蔓计埘口q$日目“I”4j4。3849”1翟4jg磐2麓擎。;磬等爹譬警”44。%48§2x18”鲁IoI十王柙目4#em’t-’Ⅲ#lZ,0墁i§☆目&散图4.4地市项目申请界面(3)主要功能实现伪代码jbjs2Ext.eXtendobjsUi,{initComponent:如nction(){jbjs.superclaSs.initComponent.call(this);this.flndById(”gridjcjs”).getColumnModel().setRendeI-e“1,function“m){));,/加下划线EXt.getCmp(”tb-cz”).on(”clickI-,如nction(){Ext.getCmp(”panel—cx”).getFonn().reset();});,/重置查询条件this.findById(”gridjcjs”).getSelectionModel().on(”rowselect”,function(SelectionModel,index,record){Varrecord=Ext.getCmp(”鲥djcjs”).getSelectionModel().getSelected();));//单击选中行this.findById(”gridjcjs”).getColumnModel().getColumnById(”C—XMMC”)47 万方数据硕士学位论文4EDsH框架在踟PMS中的应用.on(”clicklf,劬甜on(SelectionModeI,index,record){));//单击选中行加载明细Ext.getCmp(”b协.-,沁dI.).0n(”click”,fhnctionO{});//新增项目信息if饵Xt.getCmp(”f.0nnjcjs”).getFo肿0.is、/砒id()){ifobjS_id){Ext.Msg.confi彻(’系统提示’,确定要修改信息吗?’,如n商on(bm){if(bnl一.yes‘){//修改项目信息)else{Ext.Msg.alen(”失败”,value.ms曲;}));//返回“失败”Ext.getCmp(|}bnl_-cx”).0n(”click”,function0{EXt.getCmp(”gridjcjs”).getstoreO.10ad();});/,根据查询条件查询项目信息EXt.g酣Cmp(”b恤._del”).on(”click”,如n州0nO{Varselobj=E斌.getCmp(”gridjcjs”).getSelecti彻Model().getSelec钯d();));//删除选中行的项目信息4.3.3项目核定模块(1)功能地市申请的项目上报后,省公司计财部员工才可以在系统中查看。在计财部员工用其来参考做计划之前,都必须对其各地市上报的项目进行审核。对于其申请的项目省公司不通过的,给予审核不通过;反之则审核通过该项目,但是若计财部对地市申请的项目资金有异议,可以对其申请的资金进行修改之后再审核通过。为了方便用户使用,系统为用户提供了批量信息处理的功能,用户在所选择列表中完成项目的计划投资数额的编辑后,可以批量完成投资计划审核的提交。实现过程通过遍历列表中的CheckBoX控件方式实现的。(2)实现功能代码①项目进行审核页面实现功能的代码如下所示。E斑.getCmp(”呦d-zdsb”).on(”clicktI,fIlnction(){VarseIo巧2E)【t.getCmp(”鲥d_zdsb”).getselectjonModel().getselections();VarjsonData=”【”;Varj=O;for(vafi_o;io){EXt.Msg.confi瑚(。系统提示’,’确定要核定项目吗?’,缸1商on(b协){if(bm—lyes’){dwrSSBusiope.Hdzdsb4Hd(jsonDa:ta,mnction(value){if(value.success==tme){Ext.Msg.alert(”成功”,”核定成功”);//审核成功,更新加载页面Ext.getCmp(”鲥d—司sb¨).getStoreO.reloadO;)else{Ext.Msg.alen(”失败”,value.msD;/,审核失败,返回retum:}});)else{}),廿1is);)else{ExLMsg.alen(’提示’,’请选择需核定项目I);,/若未选中审核的项目,进行提示}));②进行项目审核的功能函数伪代码如下所示。publicM印产将当前传入的字符串解析成Json格式的数组循环遍历j∞n中每一条记录,直到没有记录+,for(Iteratoriter=甜伯*iterato哟;iter.haSNexIo;){JSONobjectjsonObject=(JSONo场ect)it%nexto;洲ngN_zDFMD2蹦n辱涮ueO坷son叫ect.get(’’N』DFwID”));DbIkader.init(com.copotc.utiI.ConstDefim.DataSource);QueqInfoqueUinfo=newQueUIn如;que叫info.setQueUPamlllCount(0);queryinfo.m-s订Sql2”updateT.-BuSI—ZDFwYcsetN—wczT=”+cons诚fine.Ⅸms(Lhd;que叮info.nLs仃Sql+_’’whereN—_zDFwID一”+N_上DFwID;Dboperator.doUpdate(com.c叩0te.mil.Cons皿efine.DataSource,que叮inf0);))catch(Exceptionex){49 万方数据硕士学位论文4EDSH框架在FAIPMS中的应用System.out.println(ex.tostring());map.put(”success”,false);)m印.put(”msg”,”核定成功”);提示“核定成功”;4.3.4数据统计汇总模块(1)功能数据统计汇总主要包括各地市数据统计汇总和省公司数据统计汇总。其中省公司数据统计汇总包括对地市上报的项目及省公司制定的各个批次计划的汇总。各地市单位投资计划上报后,省公司就可以在系统中查看到各地市上报的项目汇总信息。并且该项目汇总信息既有按类汇总的,也有总的合计的,并且可以查看Excel表格形式的报表和导出各类项目的汇总信息的Excel表,既方便又快速的为省公司计财部员工做计划提供了一个重要的依据。(2)数据汇总页面图4—5数据汇总界面(3)实现功能代码①查看Excel表格功能的实现代码如下所示。Que叫ResultRowmwDetail=null;try{i坟vecDeta订!=null){Iteratorite=VecDetail.iterator();while(ite.hagNext()){/,寻找下一条记录mwDetail=(Que叮ResultRow)ite.next();50 万方数据硕士学位论文4EDSH框架在FAlPMS中的应用}))catch(Exceptionex){ex.printstackl’race();)finally{if【mwDetailI-null){//释放空间mwDetail.releaSe();rowDetail=null:))②导出Excel表格功能的实现代码如下所示。StringsDate=wq.getSysdate();Stringfilenanle2s仃Jgdm+l’-”+sDate+”一’’+。’鲥pc”//文件名response.setContentType(”application/msexcel;charset=gb2312”);response.setHeade“”Content-disposition”,”attachment;filenaIne=”+filen跏e+”.xls’’);4.3.5固定资产投资计划管理(1)功能固定资产投资计划管理部分是本系统最核心的部分,它主要包括制定固定资产第一批次、第二批次、调整批次、专项计划(邮运车辆补助、行政车辆)投资计划,并将制定的投资计划下发到各个地市。在这个部分为了方便用户,特意实现了导入Excel报表的功能,计财部员工在制定投资计划之后,可以一次性的将Excel表格导入到系统中。除此之外,用户仍然还可以一个项目一个项目依次录入系统中,也可以实现对录入系统的项目进行修改、删除。在确定导入系统的固定资产投资计划项目信息无误之后,可以在项目信息前的复选框中选中需要下发的项目进行下发,下发完后的项目信息将无法再更改。(2)功能页面图4.6固定批次投资计划管理界面 万方数据硕士学位论文4EDSH框架在FAIPMS中的应用4.3.6Excel表格的导入(1)功能在固定资产投资计划管理模块,为了方便用户的使用,系统实现了将Excel表格导入,省公司计财部员工在完成第一批次、第二批次、调整批次、专项计划的制定之后,可以一次性将制定的项目信息全部导入到系统中,然后在系统中完成下发的功能,让各地市公司可以实施对下发的项目进行接收,并对项目实施状态进行更新。(2)功能界面图4.7Excel表格导入界面(3)实现功能代码EXt.getCmp(”btn—dr”).on(”click”,f.unction(){Varcm咖lx-xz=Ext.getCmp(”tX-xmny_dr”).getValue();/,获取输入的项目年月if【cmb-xmlxx产null){EXt.Msg.alen(’失败’,’请填写项目年月’);//输入为空,提醒输入项目年月retum;)Ext.getCmp(’fo姗』19_dr’).getFonn().submit({//正在提交时的提示url:’sjImponDel.jsp’,waitMsgTa唱et:true,waitMsg:’正在提交⋯’,success:如nction(fo咖,action){i坟action.result.success一”tme”){EXt.Msg.alert(’成功’,action.result.msg);//导入成功,更新页面Ext.getCmp(”鲥djcjs”).getStore().10ad();)else{Ext.Msg.alen(’失败’,action.result.ms曲;l}, 万方数据硕士学位论文4EDSH框架在FAlPMS中的应用failure:function(fornl,action){EXt.Msg.alert(’失败‘,”程序发生执行错误,请联系管理员”);},par踟s:{inputstr:cmb_—脚lxj呓}))));4.3.7地市申请拨款、省公司拨款模块(1)功能地市在接收省公司下发的项目之后,将项目的实施状态设置成开工状态,才可以向省公司进行拨款申请。省公司收到各地市的拨款申请,核对其申请拨款金额准确无误之后,生成拨款申请单,并打印其拨款单,然后进行拨款。(2)功能界面曲№Ⅻ“;j;黔/i霸0一I—i一~一一I—I曩j参。i?暑“;iijii荔i墨;ii瑟磊善蚕≥墨j—I曩一ijj:一暑#b孙I甜一⋯:1}¨⋯■_一一。董一墨堂蔓一蔓兰冀一一一£口嘲,蛳十埘卜ⅢE馘伽聃t搿。甏。絮笋枷I惭黼耳目撇#ib}朋麓扣*蛐即。局湖㈨2:z州:}锎业备蜘∞*n#o蠹蕾l§盈n{口-&{月:;1琳l,:::;。:{2司业§苔曩n#÷o口驯3n#’n。b*濉十。局州}:}’:;*2。:}2司n§首建t*_嚣,b置ll苗曩4.4本章小结图4.8拨款界面本章节主要对FAIPMS的功能需求进行了介绍,针对其系统的特点,选取了合适的软件模型与开发平台,并对其开发流程进行了设计;接着详细阐述了EDSH框架在FAIPMS中的每个层次的具体实现;最后对FAIPMS中每个模块的实现进行了详细的分析。通过将EDSH框架应用在F.AIPMS中,验证了框架总所具有的特点,其不但减少了开发人员的编码量,缩短了应用的开发周期,而且降低了应用中各层间的耦合度,使系统的可扩展性、可维护性得到了提升。 万方数据硕士学位论文5总结与展望5.1总结随着计算机技术和网络技术的迅猛发展,W曲应用系统越来越普及,它已经遍布于各种企事业、政府机关单位,尽管其应用非常广泛,但是在W曲应用的开发过程中仍然存在一些问题,例如:程序开发效率、软件复用度低,系统的可扩展性、可维护性、兼容性差,如何解决开发过程中的这些问题是W.eb应用开发的当务之急。wreb应用框架的出现便是为了解决程序的低复用性问题,因此在开发W曲应用时选择一个合适的框架是非常重要的。本文首先介绍了本课题的研究背景、来源和研究意义以及Rn技术与W曲应用框架的国内外研究现状,对w曲系统应用模式、富客户端技术、JSON技术与EXtJS、DWR、S研ng、Hib锄ate等框架进行了详细的研究与分析;接着分析了当前存在的使用比较频繁的wreb应用组合框架——SSH存在的缺陷,并说明了解决该框架中存在的问题的必要性,针对该框架存在的问题,组件了一个更能适用于当前w曲应用开发的新组合框架——EDSH框架,该框架解决了原有系统中的高耦合问题并且提升了界面的美观度、系统的交互性以及系统的响应速度;然后为了保证该框架安全性,针对该框架存在的主要安全问题提出了有效的解决方案,确保了使用该框架开发的应用系统的安全性;最后通过将EDSH框架应用于FAIPMS开发中,更加体现了它与SSH相比的优势所在。综上所述,论文主要完成的工作如下:(1)对当前比较流行的w曲应用开发框架SSH进行了研究与分析,总结了其存在的一些问题,针对这些存在的问题提出了一个新的框架的设计方案,即用EXtJS与DwR框架替代sSH中的Struts框架,并对每个层次的框架以及他们所负责的任务进行了详细的分析,重点阐述了EDSH框架的整合。(2)将EDSH框架应用于具体的项目中,进一步证明了其优势的所在。使用EDSH框架开发的W.eb应用,各层次之间的耦合度低,具有较强的可扩展性:具有高美观度、强交互性的用户界面,其中包含了下拉菜单、复选框、树形菜单等设计,使用户使用时感观性强,操作更方便;实现了页面数据的动态更新,不再需要像传统w曲应用一样每次更新界面都需要重新提交整个界面才能实现,使系统的设计更加合理,交互性更强,响应速度更快,操作更方便;缩短了项目的开发周期,使项目的整体性能也得到了提升。(3)对EDSH框架的安全性进行了研究,并针对每种存在的安全隐患提出了解决办法,保证了使用EDSH框架开发的w-eb应用的安全性。例如:采用身份 万方数据硕士学位论文5总结与展望认证的方式控制用户的使用权限,并使用加密算法对用户的密码进行加密再传输、存储,还对WEB系统所带来的参数篡改、SQL注入等安全问题提出了解决方案并进行了解决。5.2展望本文的研究成果是对原有的比较流行的W曲应用开发框架进行了研究,针对原有框架存在的问题,组件了一种新的w|eb应用框架,并对该框架存在的安全问题进行了分析,提出了有效的解决方案,最后将本课题组合的框架应用于.FAIPMS的开发中,证明了其与传统的wreb开发框架相比的优势所在。但是由于时间与精力等多方面的原因,本课题中还有许多问题需要去研究并解决。其一,在本课题中对使用EDSH框架进行应用开发中的性能、对架构使用的可靠性测试是下一步工作中的任务。其二,还需要对EXtJS框架对表示层的支持进行深入的研究,例如:①对EXtJS框架中原有的界面组件与控件进行分析,在此基础上研发出更多使用更方便、功能更强大的组件,为今后开发出更美观、操作性更强的W曲应用界面提供可能。②可以借鉴目前存在的那些优秀的类库,例如:JQue叭YuI等来弥补EXtJS框架中存在的缺陷,使开发出的应用实用性更强。③可以试图自己定义配置文件根据自己的要求进行页面配置,做到能根据自己的想法借助ExtJS框架中的组件来设计界面元素、界面的样式,提高系统开发的灵活性,并缩短应用的开发周期。④研究现有的功能函数,并在原有的基础上对其进行改进,从而使其函数功能更强大、运行效率更高,例如:开发人员对目前框架中自带的的排序函数并不满意,因为其无法满足当前用户的需求,所以我们应考虑对其原有的函数进行改进以适应系统用户的需求。本文为开发人员进一步研究EDSH开发框架奠定了良好的基础,目前主要是完成了框架的整合以及对框架安全性的保障,至于提升框架的整个性能有待进一步完善,直至形成一个成熟的W曲应用开发框架。最终恳请各位老师对论文的不足与错误予以指正! 万方数据硕士学位论文参考文献[1】杨芙清,梅宏,李克勤.软件复用与软件构件【J】.电子学报,1999,27(2):68.75.【2】HAFEDHMILI,FAn缎MILI,ALIMILI.ReusingsoRW£嘴:isSuesa11dresearchdirections[J】.皿亚T协saCtiononSo腑areEngineerin岛2005,2l(6):528.561.【3】WEBERH.ullifonnityandinVarianceinsupportofreuse[J].IEEET硼sac廿ononSoRw眦Engine耐ng,2003,18(7):2—7.【4]B/S.百度百科.h婶:肋aike.baidu.com/View/679018.h廿n.[5]RussBusler,MikeB砒ongbaeal.ASP.NETweb服务器高级编程【M].北京:清华大学出版社,2012.44—58.[6】张鑫,黄灯桥,杨彦强.Javascript凌厉开发一Ext详解与实践口川.北京:清华大学出版社,2009.3,lO.【7】郭恺强,肖晓朋,刘冬生.B/S和C/S软件体系结构选择【J】.井冈山学院学报,2009,lO但):32.34.【8】John.J2EEDevelopmemFr锄eworks[J】.computerScience,2005,1(38):107.110.【9】陈华军.J2EE构建企业级应用解决方案【M】.北京:人民邮电出版社,2002.2—7.[10】EⅪCHGAMMA,砌CHARDHELM,RALPHJOHNSON,JOHNVLISSIDES.Designpattems:elementsofreusableo巧ect-orientedsom^,are[M】.Addison—Wesley,2005.12—21.【11】胡丽娜,王飞.基于Stnns+spring的web应用设计与实现【J】.计算机与信息技术,2007,3(5):63—64.【12】张琛,吴跃,邱会中.基于‰ts+s研ng+Hibemate的整合架构及其在电信业中的应用【J】.计算机应用,2006,26(12):265—266.【13】赵克华,陈江,陈启华.基于Stmts和Hibemate架构的MIS系统的构建【J】.计算机与数字工程,2006,34(6):110.112.[14】HeYuesh岫,LuoMin.BaSedontlleExtJSTechnolog),aJldSSHFII啪e、ⅣorkAumori够MaIlagementResearch.2010SecondIntemationalConfe】旧nceonE—Leaming,E-Business,EnterpriseInfonnalionSystems,andE-GoVen蚰ent,200956 万方数据硕士学位论文参考文献【l5】xi锄qi锄Ch∞,welllluiDisun,DongS眦.B豁edonSSH妇neworkand匀a)【TecllllologyofⅡ1eJavaWebApplicationDevelopment.ComputerEnginee血gandDesi酽,2009(30):90-91.[16】张琛,吴跃,邱会中.基于Struts+跚ng+Hibemate的整合架构及其在电信业中的应用[J】.计算机应用,2006,2(2):8.10.【17】邓春燕.基于Rn的全景虚拟野外地质信息系统[D】:【硕士学位论文】.长春:吉林大学,2010.[18】MichaelMallemo住Aja)【Desi驴Pattems[M】.O’ReillyPublications,2006.322—341.[19】张亚飞.至理:精通FleX网络开发技术一整合ActionSc邱们avaScript/.Aja)(动态网站【M].北京:电子工业出版社,2009.516.534.【20】叶建芳.应用FleX技术构建ⅪA系统[D】:[硕士学位论文].杭州:浙江大学,2006.【2l】SteamB.ANewApproachforDeVelopingIUchIntemetApplic撕ons四.IEEEIntemetComp血ng,2007,11(3):67·73.【22]熊云龙.基于silverli咖的砌A研究与应用【D]:【硕士学位论文】.重庆:重庆大学,2008.【23】JavaFX.Tkllllology【EB/oL】.htIp://Sull.eoll以om哪嘶aVaFx/indeX.jSp.【24】龚永生.当前流行的J2EEwEB应用架构分析【EB/oL】.http:肌删w-900.ibm.com/deVeloperWorkS/c嘶aV“1-j2eeArcMndeX.h缸n1.【25】金增权.基于R工A技术学习平台的设计与开发[D】:【硕士学位论文】.武汉:华中师范大学,2011.【26】PRALFGITZEL,AⅫLKORTHAUS,PMARTINSCHADER.UsiIlges切曲lished、Ⅳebengineedngknowledgeillmodel一“Venapproaches叨.El∞、,icrNonh-H01l锄d,2007,66(2):105-124.【27】蒋宏潮,尹怡欣,班晓娟.基于SOA的Smlts框架应用【J].计算机工程,2009,35(1):21—23.[28】JASONCARREIRA,PATRICKLIGHTBODY.webWorkinaction【M】.h纽millgPublications,2005.19-29.【29]CRAIGwALLS,RYANBI砸IDENBACH.s埘nginaction【M】.M锄iIlgPublications.2008.22—45.[30】CH瞰STIANBAuER,GAVINKING.JaVapersistence晰tIlhib锄ate[M】.ManllingPllblications,2007.37_40.【3l】Kat吼lbikoSllimizu,AtsukoIsbjzIlya-Oka,Tos汰扯=uAm锄o.Isolationofco衄ectiVe-tissue—specificgenesinVolVediIlXenopusintestinalremodeling:57 万方数据硕士学位论文参考文献t11yroidhonnoneup-regulatesTolloid/BMPIexpression【J].DevelopmentGenesandEVolution,2002,69(13):24·29.【32]CHⅪSTIANBAUER,GAVINKING.Hibemateinaction附】.M砌:liIlgPublic—ations.2004.76—91.[33】张栗,张凤元,危胜军.基于DWR框架的wEB应用的设计与实现[J】.计算机技术与发展,2008,18(8):85.87.[34】游丽贞,郭宇春.Aja)【引擎的原理和应用【J】.微计算机信息,2006,22(6):205—207.【35】许劲松,曹先彬.企业应用软件架构分析【J】.计算机工程与设计,2006,27(7):1190一1193.[36】王磊.基于s劬ts+S埘ng+Hib锄ate的架构设计及其在电子商务中的应用[D】:【硕士学位论文】.成都:电子科技大学,2007:15—3l,【37】黄烟波,张红宇,李建华.基于Stmts和HibenlateJ2EE架构[J】.计算机时代,2004,4(10):29—30.【38】王勇.s觚s中的8种J2EE核心模式[J】.计算机系统应用,2007,8(12):118.121.[39】毛德祥,林萍.基于c/S和B/S的现代高等教务管理系统研究阴.软件导刊,2007,12(6):7.【40】李娜.高校教务管理系统的设计与实现【J].中国教育信息化,2007,3(3):7—9.【41】邵旖.基于AjaX模式的web研究与应用[D】:[硕士学位论文】.武汉:武汉理工大学,2008.【42】张旗.浅析Ajdx框架在web系统中的开发与应用[J].科技广场,2008,4(8):221.223.[43】柯自聪.Aja)【开发简略【M】.北京:电子工业出版社,2006.122.138.【44】李为健,卞艺杰。基于DwR与E)汀的Aja)(应用研究与实现【J】.计算机与现代化,20lO,3(1):66.67.【45】记文柯.S研ng技术内幕~深入解析Spring架构与设计原理【M】.北京:机械工业出版社,2010.102.238.【46】明日科技,李钟尉,冯东庆.sp蠢ng应用开发完全手册【M】.北京:人民邮电出版社,2007.102.114.【47】JaIlMachaceketal.S埘ng高级程序设计【M】.北京:人民邮电出版社,2009.256.479.【48】JoShLon岛SteVeMayz呔.S埘ngR00inAction【M】.ManIlingPublications,2012.】35—138 万方数据硕士学位论文参考文献【49】RodJollnson.In呐ducingt11eS砷呜Fr锄eWork【EB/PL】.htlp://、删w.Tlleser、,一erside.con∥anicles.tss?=SpringFr锄ework,2003.10.【50】李迎秋.SnmTS架构剖析与应用[J】.长春师范学院学报,2005,2(5):20.22.【51】夏听,曹晓刚,唐勇.深入浅出Hibe玎1ate[M].北京:电子工业出版社,2005.336-394.【52】DavidPerelm龃Hall.Aja)【aIldRecordLocking忉.Dr.Dobb’sJo啪aJ,2006,31(10):45-51.【53】唐友国,湛洪波.程序天下J2EE整合详解与典型案例一本书搞定【M】.北京:电子工业出版社,2008.47.90.[54】MicheleAngelaccio,BenaBunarazzi.APe墒maIlceEval眦tionofAsync脉on-ousWebInter丘lces矗wC011abomtiVeWebSen,ices【M】.Italy:WOMP2006Worksh叩,2006.34—89.[55】Chen西Y啪,W锄gYanliandTongiSaIlhong.ResearchondevelopmentoftlleintegratiVem跚mgementsystemofphysicaleducationa11dhygieneworkinmehigllschool【C】.IntemationalConfe眦lceonHumallHeaJ廿1a11dBi锄edicaJEngineeriIlg,HHBE,2011:704·707.[56】樊文娟.基于Aja)【的富客户端界面的设计与实现[D】:[硕士学位论文].兰州:兰州大学,2009.[57]胡丽娜,王飞.基于SnutS+S州ng的Web应用设计与实现【J】.计算机与信息技术,2007,6(5):63.64.[58]DaveMinter,effLinwood.Hibemate基础教程[M】.北京:人民邮电出版社,2008.37.80.[59】LibinY锄g,YilaiZh锄g,HailinLi.InfbmationSearChBasedonTestMillingandEXUS叨.So矗wareEngine嘶ng,IEEE,Xi锄en,Cllina,2009(19):386-391.【60】卫军,夏慧军,孟腊春.EXtJSweb应用开发指南[Ⅶ.北京:机械工业出版社,2009.29—32.【61】陈逊.SQL注入攻击原理与防范【J].电脑知识与技术,2008,12(3):428-430.【62】RossH眦nes,DustinDiaz.Pr0JavaScriptDeSi驴Panems【M].Bd汜ley:APRESS,2009.56—71.【63】Fm】【1l【W,Z撇meni.PracticalDWR2projects【M】.Berkeley:APRESS,2009.100—1】459 万方数据硕士学位论文攻读硕士学位期间主要成果[1】作为项目骨干参与湖南邮政电子商务平台峰值分析系统的开发,2012.07—2012.10【2】作为项目骨干参与长株潭城市群核心区物流信息系统的开发,2012.10-2012.12[3】作为项目负责人开发了湖南邮政固定资产投资计划系统,2013.01—2013.07[4]年会论文《信息融合技术》,2013.11.2013.12 万方数据硕士学位论文致谢短暂的研究生生涯转瞬即逝,在三年的研究生生活和完成毕业论文的过程中,很多人给予了我支持与帮助,在此,我衷心的感谢他们。首先,衷心感谢我的导师刘连浩教授。刘老师在学术上治学严谨,精益求精:在生活上也很关心同学们,是一个品德高尚的老师。研究生期间,他不仅在学习上给予了我耐心的指导,而且教会了我做人做事的准则;同时,刘老师一直在项目设计和研究方向上对我进行悉心的指导,使我在专业技能上有了很大的提高;在我的论文研究方向上,更是给了很多的建议和帮助。刘老师是一个平易近人、和蔼可亲的老师,他不仅教会了我作为一个研究人员该具备怎样的专业素养,更教会了我以后进入社会该具备怎样的个人素养,非常感谢刘老师对我的无私的帮助!感谢实验室的同学和周围的朋友们,感谢你们在学习上和生活上对我的帮助,因为有你们,我的研究生生活才过得如此充实与快乐。感谢家人的理解、鼓励、支持和关心,让我在研究生阶段能够专心致志的投入到学习和研究中,你们是我的坚强后盾和精神支柱。最后感谢在百忙之中审阅我论文的并参加论文答辩的各位专家老师161

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭