低收入家庭经济状况核定系统关键技术研究及系统实现_第1页
低收入家庭经济状况核定系统关键技术研究及系统实现_第2页
低收入家庭经济状况核定系统关键技术研究及系统实现_第3页
低收入家庭经济状况核定系统关键技术研究及系统实现_第4页
低收入家庭经济状况核定系统关键技术研究及系统实现_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 硕 士 学 位 论 文(全日制工程硕士)题目 低收入家庭经济状况核定系统关键技术研究及系统实现 (英文) Key technology research and system implementation about economic condition of low-income family approved system 学 科、专 业 名 称: 计算机技术 摘要低收入家庭经济状况核定系统是确保社会各项救助工作公平性而推出的,该系统通过与房产、人社、公安、工商、税务、公积金、金融证券等部门或机构数据共享,各机构提供的居民家庭收入和财产信息,与社会救助申请人申报的家庭收入和财产进行比对,得出比对结果,该结果作为救助部门实施救助的有力依据。本文在分析了系统的特性后,对系统的各个部分进行了深入研究,主要工作如下:系统开发框架的设计,一、将J2EE轻量级框架Spring MVC、Spring、Hibernate有机的整合,研究了一种开发效率高、维护性好的开发框架;二、将前端框架Ext JS与J2EE开发框架的整合进行研究,利用Ext JS开发前端页面,提高了系统的用户友好性和可用性。通过实验证明了该框架整合效果好、代码移植性高和开发效率高。基于RBAC模型的权限系统设计与实现,一、本文提出了一种基于区域限定的RBAC模型权限系统,该模型解决了经典RBAC模型不能对角色的区域限定的问题;二、基于本文研究的开发框架,论述了权限系统的实现的详细过程。一种新的Web服务器集群负载均衡调度算法,分析了Web服务器集群技术,研究了负载均衡算法,结合低收入家庭经济状况核定系统的特点,提出了基于临界加速递减的一致性哈希负载均衡算法(Consistent hash load balancing algorithm based on the Multiplicative Decrease in Critical area,CHMDC)。一方面,该算法采用了加权一致性哈希算法,引入了虚拟化的设计思路,采用虚拟节点进行真实服务器节点分配;另一方面,该算法提出了基于请求反馈时间计算机服务器节点负载率的方法,引入了临界因子的概念,采用了临界因子加速递减来防止服务器过载。通过实验测试证明,该算法应用于Web服务器负载均衡效果突出。低收入家庭经济状况核定系统的设计与实现,包括三个部分:一、网络拓扑结构和前置机的设计;二、采用编辑距离算法进行数据比对,采用模糊比对的方式,避免了人为输入错误导致比对结果不准确的情况;三、系统各个功能模块的实现。关键字:J2EE;RBAC;负载均衡;经济状况核定;Spring MVCVAbstractAbstractThe economic situation of low-income families verify system is introduced to ensure the fairness of various social relief work, That system connected with real estate, human resources, social security, public security, industry, commerce, taxation, provident fund, financial securities and such as department or agency. Such agencies provide household income and property information, compare with the applicants for social assistance had applied. The results as a powerful basis for rescue department to implementation of relief. In this paper, after analyses the characteristics of the system, I have conducted intensive studies on the various parts of the system, the main work is as follows:The design of the system development framework. First, I integrate J2EE, Spring MVC, Spring, Hibernate well and then research a high efficiency and good development framework. Ext JS and previous development framework, make EXT JS application developed to the front page, and then improve the user-friendliness of the system. Through experiments to prove the framework have several advantages. It have integration effect, high code portability and development of high efficiency.Based on RBAC permission model I design and implementation this system. First, In this paper, I present a RBAC permission model based on limited-area. The model solves the classic RBAC model cannot limit the area. Second I discusses the implementation process of this permission-system based on the framework proposed in this paper.A new Web server cluster load balancing scheduling algorithm. analysis Web server cluster technology, research and approve the characteristics of a load balancing algorithm system, combined with the economic conditions of low-income families. Proposed a consistent hash load balancing algorithm based on the Multiplicative Decrease in Critical area. On one hand, the algorithm uses the weighted consistent hashing algorithm, introduced virtualization design ideas, adopt virtual node real server node allocation. On the other hand, the algorithm proposed method based on request the feedback time computer server node load rate, introduce the concept of critical factors, use critical factor to accelerate descending to prevent server overload.I approve urban and rural low-income families by the economic conditions, this system consists of three parts. First, design of the network topology and FEP. Second, use edit distance algorithm for data matching, adopt fuzzy comparison to avoid human input errors lead to inaccurate comparison results. Third, the system to achieve the implementation of the various functional modules.Keywords:J2EE;RBAC; Load balancing; Economic conditions approval ;Spring MV目录目录 摘要IAbstractII目录IV第一章 绪论11.1研究背景11.1研究现状11.2主要研究内容和创新点21.3本文结构安排3第二章低收入家庭经济状况核定系统需求分析52.1系统功能需求分析52.1.1经济状况申报系统52.1.2各调查相关部门业务子系统52.1.3家庭经济状况查询系统62.1.4数据比对系统62.1.5后台管理系统62.2系统性能需求62.2.1系统服务性能62.2.2开发效率和可维护性62.2.3跨部门业务适应性72.2.4数据安全性72.3本章小结7第三章系统设计83.1总体业务结构83.2硬件和网络拓扑结构设计93.2.1系统服务性能设计93.2.2网络拓扑结构设计93.2.3硬件方案设计93.3功能模块设计103.3.2用户友好性和易用性设计103.4访问安全设计113.4.1访问控制113.4.2操作记录113.5数据库设计123.6本章小结12第四章基于Ext JS+Spring MVC+Spring+Hibernate的开发框架的研究144.1J2EE体系架构144.2Ext JS技术154.2.1Ext JS技术的特点154.2.2Ext JS的基本概念154.3Spring和Spring MVC164.3.1Spring概述164.3.2Spring MVC概述174.3.3Spring MVC核心接口184.4Hibernate184.4.1Hibernate体系结构的概述184.4.2Hibernate组件194.4.3Hibernate的核心接口214.5Spring与Hibernate的整合224.5.1Spring基于Hibernate集成的CRUD操作224.5.2HibernateTemplate模板类224.5.3HibernateCallback回调接口224.5.4SessionFactory.getCurrentSession()方法224.5.5LocalSessionFactionBean234.5.6Spring事务管理的支持234.6Spring MVC + Spring + Hibernate快速开发架构234.6.2控制层以及控制成调用类的实现244.6.3业务层的实现274.6.4持久层的实现294.7分页模块的实现314.7.1UI设计314.7.2数据传递类的实现324.7.3服务器端业务逻辑的实现344.8本章小结35第五章基于RBAC模型权限系统的改进与实现365.1RBAC模型及改进365.1.1基本RBAC模型365.1.2RL-RBAC模型375.2系统分析与实现385.2.1模型数据库设计385.2.2授权过程实现395.2.3权限过滤实现395.3本章小结44第六章一种新的Web服务器集群负载均衡调度算法456.1Web服务器集群技术456.2Web服务器负载均衡调度算法的研究现状466.3算法分析476.3.1算法的设计思想476.3.2加权一致性哈希算法中哈希函数的选取与实现486.3.3动态均衡服务器负载能力的表示及测定496.4算法性能测试与结论536.5本章小结54第七章系统实现557.1技术实现557.1.1系统拓扑结构的实现557.1.2数据比对的实现567.2各业务系统实现577.2.2家庭经济状况申报系统587.2.3车管所、房管局等各部门业务子系统597.2.4家庭经济状况查询系统597.2.5数据比对系统607.2.6后台管理系统607.3本章小结61第八章总结和展望628.1工作终结628.2展望62参考文献64致谢68作者在攻读硕士期间主要研究成果69第一章 绪论第一章 绪论1.1 研究背景目前随着国家社会救助体系的日趋完善,社会救助的种类也多种多样,社会救助是一项保障困难群众基本生活的制度,它的目标是为收入最低、生活最困难的家庭提供直接的物质帮助。因此,严格核定申请人的家庭收入,保证把有限的财政资源分配给最符合条件的困难家庭,是社会救助部门的主要工作之一。居民家庭收入核定是社会救助部门根据税务、房产、保险、金融、车辆等部门或机构提供的居民家庭收入信息,与社会救助申请人申报的家庭收入进行比对,从而准确核算申请人家庭收入和家庭财产的一种方法,这一方法对于科学实施社会救助制度具有重要意义1。最近,广东东莞为低收入群体每人发放1000元补贴一事引起媒体和社会公众的广泛关注。根据东莞市民政局负责人当年7月22日透露,东莞已发放或者上报财政申请人数3批16万人,最后人数可能超过30万人。而最初预计人数全市发放12.2万人,有消息猜测,其中可能有多报虚报的问题2。尽管比起当地每年数百亿元的财政收入,红包的支出增加是“毛毛雨”,但是还是透露了一个突出问题:由于缺乏对公民收入的准确统计,类似给低收入群体“发红包”这类好事让基层政府难于操作,而自2006年以来,全国许多城市曝出的“开奔驰坐宝马住经济适用房”现象曾引起社会的广泛争议,这些现象证明低收入家庭经济状况核定系统的紧迫性。2010年桂林市被列为全国首批低收入家庭收入核定试点单位,低收入家庭经济状况核定信息化建设是试点单位重要工作之一,桂林市民政局委托我们探索开发居民家庭收入核定信息系统,跨部门居民家庭收入核定工作应充分依托信息化技术手段,着力搭建居民家庭收入核对电子比对平台,精心制定可行性方案,开发适合桂林当地实际的居民家庭收入核定信息系统。1.1 研究现状在全球经济一体化的大背景下,管理现代化、系统应用网络化、平台标准开放化、业务流程自动化、应用系统集成化成为目前信息管理系统的发展趋势。国外一些西方国家基于ARC的模型对居民家庭经济状况进行评估,然而国内目前考虑到对资产经行评估如果还采用手工的方式经行评估工作,一方面会影响效率,一方面也不利于对资产评估机构对于具体项目的监控和管理,因此资产评估业中已经采用了一定的信息技术,但是目前还是停留在EDP(electric data71低收入proce ssing ,电子数据处理)或MIS(Management Information System,管理信息系统)的基础上3。一些财务公司将评估工作于计算机技术相结合,使资产评估工作进入了一个新的境界,如GAPS资产评估软件系统4、ZCPG32位资产评估系统5,这些系统能够实现数据连接以及数据共享,并且已经成功的应用于中国石油、中国移动、中国联通。家庭经济状况核定工作是各个部门之间协同工作,由于政策和技术等多方面原因,目前在国内除了上海市实现了信息化核定以外,其他各个地区都还处于探索阶段。本文实现的低收入家庭经济状况核定系统,民政通过信息化技术,实现房产、人社、公安、工商、税务、公积金、金融证券等部门或机构协同工作,提供的居民家庭收入和财产信息,与社会救助申请人申报的家庭收入和财产进行比对,从而科学核算申请人家庭经济状况的系统。 1.2 主要研究内容和创新点本文主要研究低收入家庭经济状况核定系统关键技术和系统实现,查看申请核定对象的家庭经济状况是否与系统调查结果一致,然后给出调查报告,本文主要研究内容和创新点如下:1)基于Ext Js+Spring MVC+Spring+Hibernate的开发框架的研究,该框架着力于提高系统的开发效率和降低系统维护成本,本文在研究了Ext JS技术和Spring、Spring MVC、Hibernate三种轻量级开发框架的基础上,实现了一个轻量级的开发效率高和维护性好的J2EE框架。2)基于RBAC(Role-Based Access Control, RBAC)模型权限系统的改进与实现, 电子政务信息管理系统通常是跨区域的,比如一个用户是市级机构人员,而另一个用户是县级工作人员,对这个两个用户指派了同一个角色,那么他们对于电子政务系统模块操作的权限是一样的,对于市级机构人员是对整个市管辖区域人员的管理,而县级工作人员只能对他所在的县的人员管理,针对于电子政务信息管理系统的特点,本文在经典RABC模型的基础上,加入区域限定,提出了一种适应于电子政务系统的通用权限系统模型(RL-RBAC)。 3)一种新的Web服务器负载均衡调度算法,由于本系统涉及部门多用户量大,需要较好的服务器集群技术才能,为了用户提供优质的服务,分析了Web服务器集群技术,研究了负载均衡算法,提出了基于临界加速递减的一致性哈希负载均衡算法(Consistent hash load balancing algorithm based on the Multiplicative Decrease in Critical area ,CHMDC)。一方面,该算法采用了加权一致性哈希算法,第一章 绪论引入了虚拟化的设计思路,采用虚拟节点进行真实服务器节点分配;另一方面,该算法提出了基于请求反馈时间计算服务器节点负载率的方法,引入了临界因子的概念,采用了临界因子加速递减来防止服务器过载。通过实验测试证明,该算法应用于Web服务器集群的负载均衡效果突出。4)低收入家庭经济状况核定系统的设计与实现,1、系统的硬件与网络设计方案,包括系统的基本硬件支持和各调查相关部门内部局域访问低收入家庭经济状况核定系统的设计方案,各调查相关部门操作低收入家庭经济状况核定系统要求部门内部能够访问该系统,然而各部门之间内部局域网和外网通常是断开的,为了解决这个问题,在各个部门安装部门前置机,通过nginx反向代理技术,部门内部网络用户能够像访问局域网一样访问低收入家庭经济状况核定系统;2、安全性设计方案,安全性方案包括访问控制和操作记录两个方面;3、业务功能模块实现;4系统易用性、友好性设计方案,设计友好的用户操作界面。 1.3 本文结构安排本文一共分八章介绍低收入家庭经济状况核定系统关键技术研究和系统实现,全文的组织如下:第一章:对低收入家庭经济状况核定系统的综述,简要阐述了系统的研究背景和研究意义,分析了系统目前的国内外研究现状,并说明了本系统的主要研究内容与创新点。第二章:低收入家庭经济状况核定系统需求分析,本章分两个部分进行需求分析,第一部分是系统功能需求分析,主要分析系统要实现的功能;第二部是对系统性能进行需求分析,分析系统对稳定性、安全性、可维护性等多方面的要求。第三章:系统设计,本章根据第二章的需求,设计低收入家庭经济状况核定系统的软件架构、关键开发框架、操作记录、数据库、网络拓扑结构和硬件方案。第四章:基于Ext JS+Spring MVC+Spring+Hibernate的开发框架的研究,在研究了Ext JS技术和Spring、Spring MVC、Hibernate三种轻量级开发框架的基础上,实现了一个轻量级的开发效率高和维护性好的J2EE框架,并且用实验证明了该框架的有效性。第五章:基于RBAC(Role-Based Access Control, RBAC)模型权限系统,分析RBAC的研究现状,针对低收入家庭经济状况核定系统的特点,对基本RBAC进行改进,提出了一种基于区域限定的角色访问控制RABC权限管理模型(Region Limited RBAC,RL-RABC),论述了该模型的数据库设计,并详细说明了该权限系统的实现步骤。第六章:一种新的Web服务器集群负载均衡调度算法,本章首先分析了服务器集群技术,针对低收入家庭经济状况核定系统的特点提出了一种新的服务器集群技术,论述了该技术特点,最后通过实验证明了技术的有效性和优越性。第七章:本章主要介绍低收入家庭经济状况核定系统的具体实现,给出了系统的实现结果。第八章:总结与展望,对本文论文工作进行总结,并提出了未来进一步研究的方向和有待进一步解决的问题。第二章 低收入家庭经济状况核定系统需求分析第二章 低收入家庭经济状况核定系统需求分析本章分两个部分进行系统需求分析,第一部分是系统功能需求分析,主要分析系统要实现的功能;第二部是对系统性能进行需求分析,分析系统对稳定性、安全性、可维护性等多方面的要求。2.1 系统功能需求分析低收入家庭经济状况核定系统分为经济状况申报系统、各调查相关部门业务子系统、数据比对系统、家庭经济状况查询系统和后台管理系统五个部分组成。2.1.1 经济状况申报系统在进行家庭经济状况核定之前需要申请救助家庭申报家庭经济状况,民政部门人员首先发给申报家庭书面申报表,该表包括家庭的基本资产情况和家庭成员资产详细情况,申请家庭需要如实填写这两张表,填写后将表交给乡镇或街道办民政工作人员。经济状况申报系统的功能包括基层民政办录入家庭和家庭成员基本情况、市级民政工作人员发出比对请求的功能。(1)录入家庭和家庭成员申报材料。家庭申报材料是比对的基础,工作人员录入材料后,检查没有错误后提交到上级民政部门。(2)发出比对调查申请。市级民政工作人员查看基层民政工作人员提交的材料,将调查请求发送到调查相关部门。2.1.2 各调查相关部门业务子系统要求系统能够让家庭经济状况相关的调查部门(包括房管、车管、工商、税务、银行等部门)协同工作,调查相关部门业务子系统提供接收调查请求和将调查请求反馈给民政部门的功能,系统主要有调查信息录入、调查信息反馈和部门调查情况查询功能。(1)调查信息录入。调查信息录入提供调查相关部门将调查信息录入到系统,把信息提交给部门内部信息审核人员进行审核。(2)调查信息反馈。调查信息反馈提供将部门内部调查的信息反馈给民政部门。(3)部门调查情况查询。部门调查情况查询提供调查记录的查询。2.1.3 家庭经济状况查询系统居民经济状况查询系统的功能是查看已向各部门发出调查申请的家庭,各部门的调查是否有反馈。不仅可以查询单个调查部门反馈的情况,也可以通查所有部门的反馈情况,对于已反馈的部门,要求可以查看反馈的原始数据。2.1.4 数据比对系统数据比对系统是对需要调查的家庭申报的信息和房管局、车管所等反馈的信息进行比对,数据比对系统要能够将反馈的信息通过智能分析与家庭申报的信息进行比对,最后生成详细的比对报告。(1)数据比对。数据是对于调查信息都反馈的情况下,将申报的信息和反馈的信息进行比对,该功能要求能够实现智能比对和模糊比对。(2)打印比对报告。比对报告是政府相关救助部门实施救助的依据,打印比对报告是按照要求将比对结果从系统中导出,打印纸质材料。2.1.5 后台管理系统后台管理系统包括用户管理、权限管理、功能模块管理。后台管理系统基本功能包括:为系统设置登录账号、访问控制和系统功能模块管理。2.2 系统性能需求系统性能需求是指满足系统可靠性运行的相关要求,其中包括系统服务性能、可维护性、跨部门业务适应性、数据安全性。2.2.1 系统服务性能要求系统登录、查询等一些基本操作请求的响应时间在30秒以内,同时要求系统每分钟能完成请求数目在2000个左右。由于本系统涉及全市低收入人群家庭经济收入和家庭基本情况等重要的信息,任何失误都可能导致很严重的后果。要求系统能够24小时稳定可靠的运行,系统除了程序的可靠性运行以外,还应当包括选用稳定的设备和采用服务器集群。2.2.2 开发效率和可维护性开发效率是指系统功能能够快速的编码开发,要求我们选用开发技术成熟并且开发效率高的开发框架。由于本系统是相当庞大的,系统良好的可维护性是十分重要的,据权威数据机构统计,应用系统的初期建设成本一般只占40%,而后期的运行、维护和升级成本高达60%,良好的可维护性有助于降低系统的成本,系统的可维护性在软件设计初期就应该考虑到。2.2.3 跨部门业务适应性低收入家庭经济状况核定系统要从多个部门采集低收入群体的信息,要求系统网络拓扑结构能够在不影响各部门内部网络的情况下,各个部门内部局域网能够使用本系统。2.2.4 数据安全性低收入家庭经济状况核定系统是涉及到政府部门、金融机构的数据访问,安全性对于整个系统来说十分重要,系统的安全体系要求系统必须有完备的安全防范措施,能够有效的防止外来非法用户的入侵,能够避免遭受攻击或者遭受攻击也能够及时报警,因此在系统的网络设计中,采用硬件技术(交换机、路由器、硬件防火墙)与软件技术(入侵检测、防病毒)相结合的方式,全面系统的维护系统的安全与可靠地运行。系统的设计过程中,要求对每个一个操作人员以及系统功能都进行严格的功能权限划分,引入日志系统,对每一个操作都进行记录。2.3 本章小结 本章从系统功能和系统性能两个方面经行了需求分析,系统功能需求首先介绍了系统的主要功能子系统,然后分别对五个子系统进行详细的分析;系统性能需求是系统非功能性的需求分析,是系统运行的保障,本章对系统服务性能、开发效率和可维护性、跨部门适应性和数据安全性四个部分对系统性能进行分析。第三章 系统设计系统设计要求系统遵循模块化、可靠性、实用性、可维护性和人性化的设计原则进行设计和开发。系统设计包括软件设计、软件架构设计、访问安全设计、硬件方案设计和网络拓扑结构设计几个方面。3.1 总体业务结构为了确保低收入家庭经济状况核定的准确性,系统要求能够与劳动、公积金中心、房管部门实现数据共享,系统大概分为三个部分:家庭经济状况核定系统、数据交换平台和各部门业务子系统,结构如图3.1所示:图3.1 总体业务结构第三章 系统设计3.2 硬件和网络拓扑结构设计3.2.1 系统服务性能设计为了提供稳定的服务,本文采用Web服务器集群技术将相互独立的一组服务器互相链接起来7,服务器集群有硬件方法和软件方法,由于硬件负载均衡器价格昂贵,考虑到系统成本问题,本文采用的是软件方法实现的负载均衡技术,包括客户机、负载均衡器和真实服务器组三层结构,并通过高速链路链接成一体,保证为系统提供稳定高效的服务。3.2.2 网络拓扑结构设计低收入家庭经济状况核定系统需和各调查相关部门交换信息,然而各部门局域网通常是和互联网物理隔离的,这就需要在各个业务部门部署一台计算机工作站作为数据交换的前置机,系统的拓扑结构如下图3.2所示:图3.2 网络拓扑结构3.2.3 硬件方案设计硬件是上述方案运行的载体,包括如下设备:防火墙、路由器:统一的安全网关两套。交换机:运行级交换机十台。工作站:每个部门业务子系统要求一台工作站作为前置机。服务器:高性能服务器20台。3.3 功能模块设计为了满足业务需求本系统主要分为家庭经济状况申报管理系统、各部门业务系统、居民经济状况查询系统、数据比对系统和后台管理系统,系统功能如下图3.3所示: 图3.3 系统功能图经济状况申报管理系统主要功能是完成将低收入家庭经济状况录入到本系统和向各部门发出调查申请。居民经济状况查询系统的功能包括,低收入家庭经济状况查询、调查跟踪查询和调查结果查询等查询业务。各部门业务子系统主要功能是将家庭财产信息反馈给调查机构。数据比对系统的主要作用是,对家庭申报的家庭经济状况与系统通过调查得到的数据进行对比,然后根据比对结果生产比对报告。后台管理系统,包括权限管理系统和功能模块管理系统,权限管理系统是控制的核心,主要负责分配用户和为用户分配相应的权限;功能模块管理系统是系统开发人员开发时增加和删除功能模块使用的,一般用户不需要使用该系统。3.3.2 用户友好性和易用性设计界面风格的友好性是软件产品质量最重要的体现,简单统一的操作方式可以大大缩短用户的学习周期。为了简化和规范用户的操作,低收入家庭经济状况核定系统采用了统一的操作界面和不同的输入框底色来区分不同的信息。操作界面主要分六大区:功能模块区、数据操作区、信息显示区、下级信息显示区、分页区、下级数据操作区,界面风格如图3.4所示。图3.4 界面风格图3.4 访问安全设计访问安全设计包括访问控制和操作记录两个部分。3.4.1 访问控制访问控制作为信息系统安全的重要功能构件,其主要目的是对抗涉及计算机或通信系统非授权操作的威胁,本文采用基于角色的访问控制(Role-Based Access Control, RBAC)模型可以有效的实施组织安全策略,RABC模型的出现大大的缓解了资源的权限管理问题,有了角色的介入使得权限管理更加灵活方便。3.4.2 操作记录操作记录是一个软件产品数据安全性和可维护性的最有效功能,也是一个软件产品走向成熟的必经阶段。目前操作记录主要分为两类:业务操作记录和系统运行记录。(1)业务操作记录业务操作记录就是记录用户在软件系统中所进行的各类操作和活动。如果系统中发现一些数据被修改或者删除就可以通过该记录查看那个用户对数据做了修改,删除等操作。目前业务操作记录分为三个级别:一般级别就是对数据查看的操作,重要级别就是对数据修改的操作,严重级别就是对数据删除的操作。(2)系统操作记录系统操作记录就是记录软件系统在运行中的信息,主要用于分析系统运行是否正常或者系统出现错误的时候分析系统的错误原因,这是一个软件系统的可测试性最重要的体现,也是后续维护期快速解决问题的依据。3.5 数据库设计低收入家庭经济状况核定系统采用关系数据库ORACLE11i。在表设计时按照三范式的设计要求进行设计。设计时考虑了数据库的和系统开发的全过程,将数据库设计分为了六个阶段:需求分析、概念设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护,数据库的表关系如下图3.5所示:图3.5 实体关系图3.6 本章小结本章论述低收入家庭经济状况核定系统各个方面的设计方案,其中包括软件设计、软件开发框架设计、访问安全设计、数据库设计、系统服务性能设计、网络拓扑结构设计和硬件方案设计几个部分。软件结构设计是对软件总体框架结构、软件功能模块和界面风格三个方面的内容设计;软件开发框架设计是致力于设计高效的软件开发框架的研究;访问安全设计,包括访问控制设计和操作记录设计两个部分,为数据的安全性提供保障;数据库设计是设计系统的数据库表结构;网络拓扑结构设计部分为系统解决各部门局域网访问本系统的问题。第四章 基于Ext JS+Spring MVC+Spring+Hibernate的开发框架的研究第四章 基于Ext JS+Spring MVC+Spring+Hibernate的开发框架的研究在信息管理系统的开发过程中,J2EE由于其独立性、可移植性、安全性和多用户的特性逐渐成为开发人员的首选,从整体上来讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术在不断使用和促进企业级应用的产物,传统的J2EE框架(EJB+JSP+ Servlets)对服务器要求高,同时定义的API很复杂,很大程度上限制了WEB信息管理系统的开发效率。低收入家庭经济状况核定系统,要求一个高效的系统开发框架,本章在讨论一种轻量级J2EE框架(Spring MVC + Spring +Hibernate),研究了各层的集成方案,实现了一个各层结合使用、无缝集成的架构,该架构不仅保留了传统J2EE架构的可扩展性、可维护性、安全性等特点,而且还具有开发效率高、部署成本低等优点。该架构前端用户界面使用ExtJS框架,ExtJS与该框架的结合使得系统开发效率更高、用户友好性更好,最后本章通过实现一个分页查找证明该框架的有效性。 4.1 J2EE体系架构J2EE是体系结构是利用Java2平台简化企业解决方案的开发、部署和管理。J2EE技术的核心就是Java平台或Java2平台的标准版8-10,它巩固了标准版中的许多优点,提供了对EJB、Java Servlet API、JSP(Java sever pages)以及XML(可扩展标示语言)技术的全面支持,J2EE技术的最终目的就是成为能够大幅度缩短企业开发投放时间的体系结构。J2EE使用了EJB Server作为商业组件的部署环境,在EJB Server中提供了分布式计算环境中组件需要的所有服务。下图4.1展示了基于Web应用的J2EE应用模型。图4.1 J2EE应用模型但是上图所示的传统的J2EE架构对服务器的要求很高,同时定义的API很复杂,不利于系统的开发效率,本文构建了一个轻量级的J2EE框架(Spring MVC + Spring + Hibernate),下面对相关技术进行介绍。4.2 Ext JS技术Ext JS是用JavaScript、CSS和HTML等技术实现的,主要用于创建用户界面,并且是一个后台无关的前端Ajax框架,还被用来开发RIA(富客户端)的Web应用11-12。Ext JS的UI组件模型和开发理念继承自Yahoo用户组件YUI和Java平台上的Swing,它为开发者屏蔽了大量的Web UI操作以及夸浏览器方面的处理。Ext JS要比开发着直接针对DOM和W3C对象模型开发Web UI快速而且轻松许多。无论是从Web UI界面美观丰富上,还是从功能强大完善上看来,ExtJS都是Web UI组件的佼佼者,也是一款不可多得的JavaScript客户端精品之作13-14。4.2.1 Ext JS技术的特点ExtJS主要用来开发RIA应用,即富客户端应用。RIA具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;无刷新页面之下快捷的界面相应时间;提供通用的用户界面特性如拖放式、在线和离线操作能力。RIA具有的Web应用程序的特点包括:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。RIA具有实时互动的声音和图像。4.2.2 Ext JS的基本概念Ext JS和传统的Web开发不大相同,特别是在界面开发上,不用再纠缠在HTML和CSS中。这样在Ext JS的开发中会有一些传统Web开发中没有的概念,比如面板(Panel)、布局(Layout)、组件(Component)等,下面对这些概念加以说明。(1)面板:面板是一块区域,程序员可以在之上放置各种组件,从而形成用户界面。说得形象一点,面板就是空白的画板程序员就是画家最终在画板上会出现什么,决定于画家。面板的出现解决了窗口不方便直接拆分的问题。利用面板就能将窗口分割成多个部分,这样对窗口来说,它只需要管理好面板在窗口上的展现就可以了,不用再关心面板上各种组件的展现了,因为这部分工作由面板自己来管理。很显然,面板的引入将复杂的问题进行了隔离,从而对软件开发的界面产生了深远的影响,特别是对软件界面能够跟随屏幕大小自适应调整提供了非常好的解决方案。(2)布局:布局是指组件在一个容器中摆放方式。讲到布局时肯定有一个容器,这就是摆放的空间;同时也是需要摆放的组件,它是用来操作的实体。当容器指定了特定布局时,往往容器中放置的组件,就会按照规定布局自动调整,从而得到规范的用户界面。(3)组件:组件是指已经预先实现好的特定功能,并能够重用到编程中的代码段以及相关资源。在Ext JS中,组件可以简单到一个按钮,也可以复杂到数据表格。组件将强大的功能带给普通软件开发者,大大加快了软件的开发速度,同时也能保证更高的质量。(4)渲染:渲染是指ExtJS程序的的页面下载完毕后在浏览器中完全展现出来的一个过程。作为普通的HTML页面也有渲染的过程,即从HTML与CSS代码开始装载进浏览器到整个页面根据HTML与CSS规则完全显示出来的过程。但是ExtJS中有完全不同于HTML和CSS渲染过程的地方,虽然ExtJS的界面始终也是以HTML与CSS来展现,但是这些HTML与CSS不是从服务器上下载下来的,而是完全由ExtJS的引擎动态生成而来,ExtJS的渲染实际上是一个动态生成的过程,而非静态载入过程。(5)窗口:ExtJS中的窗口并不是一个真正的Windows窗口,在本质上只是一个层利用CSS经行格式化,在外观和行为上都是像真正的Windows窗口的显示区域。说到显示区域就应该想到面板,实际上在Ext JS的继承层次上,窗口组件就继承于面板组件。(6)对话框:对话框也是在程序开发中经常用到的功能。一般有普通对话框、选择对话框、输入对话框以及一些特别的自定义对话框。在ExtJS中也提供了非常漂亮并且能够自定义的对话框,像ExtJS中的窗口一样,这些对话框的本质也是利用CSS经行格式化开发的结果。4.3 Spring和Spring MVC4.3.1 Spring概述Spring是一个以反向控制(IOC Inversion of Control)原则为基础的轻量级框架,IOC也可以叫依赖注入(DI, Dependency Injection )即组件之间的依赖关系由容器在运行期决定由容器动态将某种依赖关系注入到组件15,这是Spring核心,其设计目标是提供一种无侵入式的高扩展性构架,即无需代码中涉及Spring专有的类即可将其纳Spring容器进行管理,作为对比EJB则是一种高度侵入性的框架规范,它制定了众多的接口和编码规范,要求实现者必须遵从16。侵入性的后果就是,一旦系统基于侵入性框架设计开发,那么之后任何脱离这个框架的企图都将付出极大的代价。为了避免这种情况,实现无侵入性的目标 ,Spring大量引入了Java的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactory以此作为其依赖注入机制的实现基础。 Spring 已成为企业应用的一站式(即在一个服务点可以完成所有服务)选择;同时Spring也是组件化的允许使用它的部分组件而不需牵涉其他部分。可以使用 Bean容器,在前台展现层使用Struts 还可以只使用Hibernate集成,部分或是JDBC抽象层 Spring是无侵入性的,根据实际使用的范围,应用对框架的依赖几乎没有或是绝对最小化的,Spring把程序中所涉及到包含业务逻辑和Dao的Objects,例如事务管理控制(transaction management handler)、 对象工厂(Object Factories) 、服务组件(service objects)都通过XML来配置联系起来17。Spring是一种轻量级的容器,提供了一种新的机制来管理业务对象及其依赖关系。它的MVC模型结构将对数据库操作分为界面视图部分、业务逻辑模型部分和数据通信控制部分,对层次分割强、耦合低。4.3.2 Spring MVC概述Spring MVC作为Spring提供的WEB层框架,Spring MVC的最大特点是开发人员能通过视图与逻辑操作部分的接口编程,使用XML文件来简单地定义其实现17-18。Spring3提供了一种完全基于注解的配置,现在你无须让Controller类继承任何接口,无需在 XML 配置文件中定义请求和 Controller 的映射关系,仅仅使用注解就可以让一个POJO具有Controller 的绝大部分功能,Spring MVC 框架的易用性得到了进一步的增强。在框架灵活性、易用性和扩展性上,Spring MVC已经全面超越了其它的MVC框架,伴随着Spring一路高唱猛进,可以预见Spring MVC在MVC 市场上的吸引力将越来越不可抗拒,Spring MVC在应用中的位置下图4.2所示。图4.2 Spring MVCHTTP请求是用户请求;DispatcherServlet是核心分发器,它是总个Spring MVC的逻辑控制器;SpringMVC自身是由纵多不同的组件共同构成的,而每一个组件又有纵多不同的实现模式,servlet-name-servlet.xml是定义SpringMVC行为方式的一个窗口,用于指定每一个组件的实现模式;UserContorller是控制层代码,是业务逻辑的入口程序。4.3.3 Spring MVC核心接口Spring MVC在Web应用中起到流程控制的作用,是目前所有MVC框架中可扩展性非常好的框架的19-21,包括以下几个核心接口:HandlerMapping:负责对Http请求进行初始化处理,查找到与之相对应的Controller处理类。HandlerAdapter:负责调用相应的Controller处理类,完成业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论