【PHP开源代码栏目提醒】:以下是网学会员为您推荐的PHP开源代码-基于Struts_Hibernate构建成都联通电子运维系统 - 硕士论文,希望本篇文章对您学习有所帮助。
西南交通大学 硕士学位
论文基于Struts_Hibernate构建成都联通电子运维系统 级别:硕士 专业:交通信息工程及控制 指导教师:蔡淮 20080501 西南交通大学硕士研究生学位
论文 第1页 摘要 随着国内电信体制改革的不断推进和电信用户规模日益扩大,电信市场日趋激烈的竞争,主要表现为网络经营质量的竞争,对于电信运营商的核心业务——网络运行维护工作来说,为了能提供给用户满意的业务质量和网络质量,能快速响应市场需求和实现新业务又快又好的发展、能低成本和高效率运作,迫切需要建立一套行之有效的服务流程支撑系统。
因此,电子运行维护系统(EOMS)应运而生。
它是从电信运营商的运维部门的工作模式和特点出发,专门针对其运维工作而设计的电子化、流程化的应用系统。
它可以协助电信运营商提高运维质量,提升企业核心竞争力。
本文论述了结合通用的控制器框架Struts和目前流行的对象关系映射工具Hibernate来开发Web应用程序。
采用这种设计架构,可以在满足用户需求的同时,提高系统的可扩展性、可维护性、灵活性和开发效率。
主要工作如下: 1.基于角色和菜单相结合的系统权限管理,系统功能操作权限通过四级菜单有无来判断。
这样做比通过角色来控制权限的控制粒度更小。
组织结构按公司、部门进行层次化显示,并能显示各部门的人员分布。
可查看及管理在线人员状态。
以中间表相连的两个表在Hibernate中实现了多对一配置。
2.利用Struts的FormFile组件实现附件的上传。
3.基于流程的考核,实现自动的流程考核功能,对各个考核项不同级别的考核分数进行统计、展现和修改。
查询时根据页面展现的需要可把查询数据封装成特定的对象返回页面。
修改分数时实现了在Struts中批量封装对象技术,对象的个数不受限制。
4.采用SH设计架构,在实际开发过程中也遇到了不少问题,本文对遇到的主要问题提出了一些解决方案。
如:利用Java反射机制初始化Hibernate集合,当层次较深时即初始化后的集合元素中的集合仍需要初始化时,可大大减少程序中的
代码量。
数据库表中的外键映射成类的基本属性,在插入数据时可以不用生成外键对应的对象,提高程序性能。
防止OOM问题出现的几种方法,可以在很大程度上减少程序宕机现象发生的几率,尤其是在系统部署后,大量用户使用的情况下,效果会更明显。
关键词:EOMS;Struts:Hibernate;对象关系映射;框架 西南交通大学硕士研究生学位
论文 第1 I页 Abstract With the domestic telecommunications reform continuously push forward and the increasing scale of telecommunication customers,performance of the increasingly fierce competition for the network operation quality competition.As the core business of the traders·-operation and maintenance of the network.in order to be able to provide its customers with satisfied service quality and network quality,and can rapidly response to market demanding and achieve the new business rapidly development,and Call operate with low—cost and high.efficiency, it is necessary to establish a set of effective supporting system for service flow。
Thus,electronic operation maintenance system(EOMS)emerges as the times required.According to the working patterns and the characteristics of the operation and maintenance department of the communications traders,EOMS is designed as an electronic flowed application system.The application of EOMS Can assist thetelecom operators to improve the operation and maintenance quality,and promotethe core competitiveness of enterprises. This paper discusses the integration of the general controller framework ofstruts and the current epidemic of obj ect/relational mapping(ORM)tool Hibernateto develop Web applications.Adopting this design module,we not only satisfyclient’S demands,but also enhance the ability of expansion,the ability ofmaintenance,flexibility and the development efficiency of the system.The mainworks of this paper are as follows: 1.System privilege management is based on the role and menu combination.The privilege of system function operation is judged by whether owning fourdegree menus;privilege control granularity is smaller than by role contr01.Grading showing according to the companys and departments,and show thedistribution of the staff.Show and management status of the online staff onReal—time.The two tables which connected by the middle table realizemany-to-one configuration in the hibernate configuration file. 2.Using the FormFile component of Struts to achieve the attachmentsuploading. 西南交通大学硕士研究生学位
论文 第lI I页 3.Automatic workflow examination function based on the workflow ofexamination is achieved.The scores of each examination itern at different levelscan be statisticsed,displayed and modified.The query data which is packaged as aspecific obj ect can be returned to page when querying.The Technology of batchpackage Obj ect in Struts is achieved when changing the examination scores andthe number of obj ect is unlimited. 4.In the process of the actual development.we also encountered a number ofproblems by adopting SH design module.Some solutions of the main problems areproposed in this paper.For example:Initializing Hibernate collection using Javareflection mechanism.When the level is deep,it Call reduce procedure code largely.The foreign key is mapped into an basic attribute of all object.When inserting thedata,we do not have to generate a new object.This can improve procedureperformance.Several methods which call avoid OOM problems can reduce therate of procedure downtime.The effect will be more obvious when the system isdeployed and lots of users operate it.Keywords:EOMS;Struts;Hibernate;ORM;Framework 西南交通大学 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,同意学校保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权西南交通大学可以将本
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位
论文。
本学位
论文属于 1.保密口,在 年解密后适用本授权书; 2.不保密留,使用本授权书。
(请在以上方框内打“√”) …EI菇J.文竽冀王是吻誓≯签名鉴褫 硼。
矽 醐。
z卯幺‘易 西南交通大学学位
论文创新性声明 本人郑重声明:所呈交的学位
论文,是在导师指导下独立进行研究工作所得的成果。
除文中已经注明引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中作了明确的说明。
本人完全意识到本声明的法律结果由本人承担。
本学位
论文的主要创新点如下: 1.基于角色和菜单相结合的系统权限管理,系统功能操作权限通过四级菜单有无来判断。
2.基于流程的考核,实现全自动的流程考核功能。
修改考核分数时实现了在Struts中批量封装对象技术。
西南交通大学硕士研究生学位
论文 第1页 第1章绪论1.1课题研究背景及意义 随着国内电信体制改革的不断推进和电信用户规模日益扩大,电信市场竞争日趋激烈,同时,新增用户低端化与用户需求日益多样化的趋势明显。
电信市场竞争表现为市场经营质量的竞争,但是,仅靠市场经营或者营销策略难以取得较好的竞争效果。
网络运行质量决定业务质量和服务质量,作为后台的网络运维对市场经营一线的响应速度、支持力度、满足程度是电信企业竞争实力的重要部分。
在激烈的市场竞争环境下,网络运维的目标已经从单纯保障网络安全可靠运行,发展为具备提供用户满意的业务质量和网络质量的能力、具备快速响应市场需求和快速实现新业务的能力、具备低成本和高效率运作等三个方面。
这三个方面既是市场竞争新形势下运维工作的目标,也是运维工作不断提高的促进力。
因此,加强运营维护工作、提高网络服务的质量,是电信市场竞争对运维工作提出的客观要求。
电信行业的大多数业务对系统的实时性、稳定性要求高,并且所涉及的业务逻辑复杂,要处理的数据量大,为了适应电信业务要求和今后系统功能扩展的需要,目前电信行业的项目大都采用了基于组件的J2EE〔卜4】平台开发模式。
J2EE规范中包含多项技术:Enterprise JavaBean(EJB)、JavaServlets(Servlet)、Java Server Pages(JSP)、Java Message Service(JMS)等,对开发基于Web的多层应用提供了功能支持。
在一个规范的J2EE架构中,不同层的数据表示应该被限制在层内,而不应该扩散到其它层,这样可以降低层间的耦合性,提高J2EE架构整体的可维护性、可扩展性、可移植性和组件的可复用性。
但是,在传统J2EE应用的开发过程中也出现了一些问题:1)数据模型和逻辑模型之间的矛盾。
目前使用的数据库基本上都是关系型数据库,而Java本质上是一种面向对象的语言,对象在存储和读取时使用SQL和JDBC进行数据库操作,降低了编程的效率以及系统的可维护性;2)传统的J2EE应用多采用基于EJB的重量级框架,使用EJB容器进行开发和调试需要耗费大量时间。
西南交通大学硕士研究生学位
论文 第2页 MVC(Model.View.Controller)设计模式通过将
代码分为三个不同的领域,即Model、View和Controller,将表现逻辑与业务逻辑分离,避免其相互纠缠,从而简化了维护工作。
它使每一部分的细节都隐藏在接口背后,同时减少了它们之间的
代码耦合。
MVC成为实现Web应用的首选模式。
Struts〔5-9】为我们提供了对开发MVC系统的底层支持,是一个比较好的MVC体系结构的框架。
Hibernate〔m06】是一个数据持久层框架,是一种实现对象和关系之间映射 (O/R Mapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。
本文所述系统采用了基于Struts框架和Hibernate框架的J2EE应用开发策略。
1.2课题来源及本文研究内容 为了提高运维管理水平和网络维护质量,实现全网统一的运行调度,从而提高客户服务水平和服务质量,增强对不断出现的新业务的支撑能力和反应速度,成都联通将电子运维系统【49】建设正式立项。
论文作者是该项目的开发人员之一,承担了系统主要模块的详细设计、
代码实现等工作。
本文的主要研究内容如下: 一、基于角色和菜单相结合的系统权限管理,系统功能操作权限通过四级菜单有无来判断。
这样做比通过角色来控制,权限的控制粒度更小。
组织结构按公司、部门进行层次化显示。
展现组织架构层次关系,并能显示各部门节点的人员分布。
二、利用Struts的FormFile组件实现附件的上传。
三、基于流程的考核,实现自动的流程考核功能,对各个考核项的考核分数进行统计、展现和修改。
四、Struts和Hibernate是两款优秀的
开源框架,基于这两种框架开发系统,可大大提高开发效率,也提高了系统的可扩展性和可移植性,但在开发中也遇到了不少问题,本文对遇到的主要问题提出了一些解决方案。
西南交通大学硕士研究生学位
论文 第3页 第2章 多层Web应用开发技术概论2.1 Web应用开发技术的发展 Web应用架构是由Tim Bemers.Lee发明的。
Web的前身是1980年TimBemers—Lee负责的Enquire(Enquire Within Upon Everything的简称)项目。
1990年11月,第一个Web服务器nxoc01.cern.ch开始运行,1991年,CERN (European Particle Physics Laboratory)正式发布了Web技术标准。
目前,与Web相关的各种技术标准都由著名的W3C组织(W.orld Wide Web Consortium)管理和维护。
从技术层面看,Web架构的精华有三处:用超文本技术(HTML)实现信息与信息的连接;用统一资源定位技术(URI)实现全球信息的精确定位;用新的应用层协议(HTTP)实现分布式的信息共享。
Web的首要任务就是向人们提供信息和信息服务。
Web是一种典型的分布式应用架构。
Web应用中的每一次信息交换都要涉及到客户端和服务端两个层面。
因此,Web开发技术大体上也可以被分为客户端技术和服务端技术两大类。
Web客户端的主要任务是展现信息内容,而HTML语言则是信息展现的最有效载体之一。
最初的HTML语言只能在浏览器中展现静态的文本或图像信息,这满足不了人们对信息丰富性和多样性的强烈需求,于是由静态技术向动态技术的转变成为了Web客户端技术演进的永恒定律。
1995年Java语言问世。
Java语言天生就具备的平台无关的特点,让人们一下子找到了在浏览器中开发动态应用的捷径。
1996年,著名的Netscape浏览器在其2.0版中增加了对JavaApplets和JavaScript的支持。
Microsoft的IE 3.0也在这一年开始支持Java技术。
现在,开发人员可以用Java或JavaScript语言随心所欲地丰富HTML页面的功能了。
JavaScript语言在所有客户端开发技术中占有非常独特的地位:它是一种以脚本方式运行的,简化了的Java语言,这也是脚本技术第一次在Web世界里崭露头角。
1996年Microsoft为IE 3.0设计了另一种脚本语言——.VBScript语言。
真正让HTML页面又酷又炫、动感无限的是CSS(Cascading Style Sheets)和DHTML(Dynamic HTML)技术。
1996年底,W3C提出了CSS的建议标 西南交通大学硕士研究生学位
论文 第4页准,同年,IE 3.0引入了对CSS的支持。
CSS大大提高了开发者对信息展现格式的控制能力。
1997年的Netscape 4.0不但支持CSS,而且增加了许多Netscape公司自定义的动态HTML标记,这些标记在CSS的基础上,让HTML页面中的各种要素“活动’’了起来。
1997年,Microsoft发布了IE 4.0,并将动态HTML标记、CSS和动态对象模型(DHTML Object Model)发展成了一套完整、实用、高效的客户端开发技术体系,Microsoft称其为DHTML。
同样是实现HTML页面的动态效果,DHTML技术无需启动Java虚拟机或其他脚本环境,可以在浏览器的支持下,获得更好的展现效果和更高的执行效率。
为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,1996年Netscape2.0成功地引入了对QuickTime插件的支持。
同年,IE 3.O正式支持在HTML页面中插入ActiveX控件的功能,这为其他厂商扩展Web客户端的信息展现方式提供了广阔的空间。
1999年,Realplayer插件先后在Netscape和IE浏览器中取得了成功,与此同时,Microsoft自己的媒体播放插件MediaPlayer也被预装到了各种Windows版本之中。
同样值得一提的是Flash的出现:九十年代初期,Jonathan Gay在FutureWave公司开发了一种名为Future SplashAnimator的二维矢量动画展示工具,1996年,Macromedia公司收购了FutureWave,并将Jonathan Gay的发明改名为Flash。
从此,Flash动画成了Web开发者表现自我、展示个性的最佳方式。
与客户端技术从静态向动态的演进过程类似,Web服务端的技术也是由静态向动态逐渐发展、完善起来的。
最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。
SSI(ServerSide Includes)可以让Web服务器在返回HTML文件前,更新HTML文件的某些内容,但其功能非常有限。
第一种真正使服务器能根据运行时的具体情况,动态生成HTML页面的技术是CGI(Common Gateway Interface)技术。
1993年,CGI 1.0的标准草案由NCSA(National Center for SupercomputingApplications)提出,1995年,NCSA开始制定CGI 1.1标准,1997年,CGI 1.2也被纳入了议事日程。
CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。
1994年,Rasmus Lerdorf发明了专用于Web服务端编程的PHP(PersonalHome Page Tools)语言。
与以往的CGI程序不同,PHP语言将HTML
代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种更加简便、快捷的方式实现动态Web功能。
1996年,Microsoft借鉴PHP的思想,在其Web服务器IIS 3.0中引入了ASP技术。
ASP使用的脚本语言是我们熟 西南交通大学硕士研究生学位
论文 第5页悉的VBScript和JavaScript。
借助Microsoft Visual Studio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。
当然,以Sun公司为首的Java阵营也不会示弱。
1997年,Servlet技术问世,1998年,JSP〔”屯】技术诞生。
Servlet和JSP的组合(还可以加上JavaBean技术)让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能,此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率,这也正是Servlet和JSP被后来的J2EE平台吸纳为核心技术的原因之一o W曲服务端开发技术的完善使开发复杂的Web应用成为了可能。
在此起彼伏的电子商务大潮中,为了适应企业级应用开发的各种复杂需求,为了给最终用户提供更可靠、更完善的信息服务,两个最重要的企业级开发平台——J2EE和.NET在2000年前后分别诞生于Java和Windows阵营,由于两大阵营的激烈竞争促使Web开发技术以前所未有的速度提高和跃进。
2.2 J2EE概述2.2.1 J2EE概念 J2EE(Java2 PlatfcIrill Enterprise Edition)是SUN公司推出的一套企业级开发规范。
它给开发人员提供了一种工作平台,定义了整个标准的应用开发体系结构和一个部署环境。
在这个体系结构中,开发者只需要集中精力编写
代码来表达企业应用商业逻辑和表达逻辑,至于其他系统问题,如内存管理、多线程、资源分布、垃圾收集都将有J2EE自动完成。
J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Intemet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添 西南交通大学硕士研究生学位
论文 第6页加目录支持,增强了安全机制,提高了性能。
2.2.2 J2EE多层应用模型 J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。
事实上,SUN设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议——通常是某种数据库协议。
它使得重用业务逻辑和界面逻辑非常困难。
现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。
该模型具有重用组件的能力、基于扩展标记语言(XML)的数据交换、统一的安全模式和灵活的事务控制。
不仅可以比以前更快地发表对市场的新的解决方案,而且你的独立于平台的基于组件的J2EE解决方案不再受任何提供商的产品和应用程序编程界面(APIs)的限制。
提供商和买主都可以自己选择最合适于它们的商业应用和所需技术的产品和组件。
典型的J2EE四层结构如图2.1: J2EE J2EE Application 1 Application 2 Client C代lienrt_j’-〕 Tier l Machine I J2EE Server Machine l weTiebrBusines〕sTier I 匡豸匡习 陲墨三彰降堇兰嗣 〕 a I DB I DB 忠 麓№ 警~ r L一—√\————————/ C 图2-1 J2EE四层体系结构 (1)客户端层(Client Tier) 客户端层用来实现企业级应用系统的操作界面和显示层。
客户层组件有应用客户端程序和Applets。
某些客户端程序也可实现业务逻辑,可分为基于Web的和非基于Web的客户端两种情况。
基于Web的情况下主要作为企业 西南交通大学硕士研究生学位
论文 第7页Web服务器的浏览器。
非基于Web的客户层则是独立的应用程序,可以完成瘦客户机无法完成的任务。
(2)Web层(Web Tier) Web层又叫表示层。
Web层组件包括JSP、JavaBeans和Servlets。
按照J2EE规范,静态的HTML页面和Applets不算是web层组件。
这些组件可以.
上一篇:
WEB快速开发框架
下一篇:
本科生毕业论文参考文献