当前位置:文档之家› 基于J2EE架构的电子政务审批系统的设计与实现

基于J2EE架构的电子政务审批系统的设计与实现

工学硕士学位论文
基于JZEE架构的电子政务审批系统的设计与
实现
刘蕊
河北工程大学
2008年4月分类号:
UDC:
TP311.52密级
单位代码:
公开
10076
工学硕士学位论文
基于JZEE架构的电子政务审批系统的设计与
实现

予学位单
名:刘蕊
师:王社国副教授
别:工学硕士
业:计算机应用技术
位:信息与电气工程学院
位:河北工程大学
作授指所学申 ADissertationSubmittedto
HebeiUniversityofEngineering
FortheAcademicDCgreeofMasterofEngineering
DesignandlmPlementationof
E一 GovernmentAPProvingSystemBasedon
JZEE
Candidate:LiuRui
SuPervisor:ProfW如 9Sheguo
AcademicDegreeAPPliedfor:MasterofEngineering
SPeclalty:ComPuterAPPliedTeehnology
School/DePartment:Colledgeoflnformation
andElectricalEngineering
HebeiUniversityofEngineering
APril,2008独创性声明
本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究
工作所取得的成果。除文中己经注明引用的内容外,本论文不含任何其他个人或
集体已经发表或撰写过的研究成果,也不包含为获得宜韭三丝人生或其他教育
机构的学位或证书而使用过的材料。对本文的研究做出重要贡献的个人和集体,
均己在论文中作了明确的说明并表示了谢意。本人完全意识到本声明的法律结果
由本人承担。
学位论文作者豁利怎签字、知8年‘月‘日
学位论文版权使用授权书
本学位论文作者完全了解河北工程大学有关保留、使用学位论文的规
定。特授权立迷三丝夕芜可以将学位论文的全部或部分内容编入有关数据库
进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同
意学校向国家有关部门或机构送交论文的复印件和电子文档。
(保密的学位论文在解密后适用本授权说明)
学位论文作者签“:利患
签字日期:知,年了月急日导师签名:影沁到签字日期:而.:年了月乡日摘要
摘要
传统的审批模式具有办公地点分散、手续繁杂、效率低下、各部门间存在“信
息孤岛”等弊端,电子政务审批作为电子政务的一个重要内容应运而生。当前,
我国电子政务审批建设仍处于初级阶段,实现技术还不成熟,系统可扩展性、可
重用性、可维护性较差。鉴于此,本论文针对构建合理的电子政务审批系统进行
了研究与设计,提出了一套符合我国电子政务审批建设需求的设计方案,并将该
方案应用到邯郸县行政审批系统中,实现了系统功能。
该方案基于JZEE多层分布式架构,采用了设计模式和基于组件的软件开发技
术。本文所做的主要工作如下:
(l)基于JZEE多层分布式架构的系统设计。本文结合电子政务审批系统的应
用,对JZEE多层

分布式架构进行了研究,分析了其所具有的优势;
(2)设计模式的研究与应用。本文对设计模式理论进行了研究,分析了其要素、
优势、分类、共性和原则;
(3)基于组件技术的软件设计。本文采用了基于组件的软件设计思想,把系统
的某些功能通过使用第三方组件来实现,以节省开发成本、提高开发效率、提高
系统的可复用性;
(4)电子政务审批系统的设计。本文对电子政务审批系统进行了需求分析、整
体设计。对系统实现中的某些关键问题,如审批工作流程、电子签章、用户权限、
数据库连接等进行了详细的研究;
(5)邯郸县行政审批系统设计与实现。将本文提出的电子政务审批系统建设方
案应用到邯郸县行政审批系统中,实现了系统功能。
经过实际项目检验,本设计能有效解决目前我国电子政务审批系统建设所存
在的可扩展性、可维护性、可重用性差的问题,具有较高的研究意义和应用价值。
关键词:电子政务;JZEE;设计模式;组件技术;审批系统
少Abstraet
Abstract
TraditionalaPProvingmodelhasdisadvantageofoffieialloeationsdisPersed,
ProeedureseomPlieated, ineffieientand” informationislands,, amongdePartnlents.
E一 GovenunentapProvingsystemasanimPortantPartofE一 GovenunenteameuP.
NowadaysinChina, eonstruetionofE一 Gove~entaPProvingsystem15intheinitial
stage.Teehnology15notyetriPeandsystem15lackofsealability, reusability,
maintainability.Inviewofthis, thispapersfoeusesonhowtoeonstructreasonable
E一Govern们 nentaPProvingsystem.AsolutionwhiehmeetneedsofE一Gove~ent
apProvingsystemwasProPosed.ThissolutionwasapPliedtoHandanadministrative
aPProVingsystemandaceomPlishedthesystem.
Thesolution15basedonJZEE, anditadoPtsdesignmodelandeomPonent
teclmology.Themainreseareheontenisareasfollows:
(l)SystemdesignbasedonJZEE.AeeordingtoE一 GovernnleniapProving
systemapPlication, thisPapersdoresearehonJZEEandanalysesadvantagesofit.
(2)ResearehandapPlicationofdesignPattem.InthisPapers, itreseareheson
theo 叮ofdesignPattem.Itanalysesitselements,advantages,elassification,eonunon
andPrineiPle.
(3)SoftwaredesignbasedoneomPonentteehnology.ThisPapersuses
eomPonent一 basedsoftwaredesignideas, Usingthird一叭 ycomPonentstoachieve
someofthefeaturesofsysteminoulertosaveeosts, inereaseeffieieneyandimProve
reusability.
(4)DesignofE一 GoveriunentapProvingsystem.InthisPapers,requiremeni
analysisandoveralldesignwasdone.Also, someteehniealitiessuehasaPProving
workflow, eleetroniesignature, authorizedusers, databaseeonnectionandsystem
see丽 tywerestudied.
(5)DesignandimPlementationofHandanadministrativeapProvingsystem.The
solutionProPosedwasapPliedtoHandanadminis

trativeapProvingsystem.
FaethasbeenProvedthatthissolutioneansolveProblemsofE一Govemment
apProvingsystemeffieiently.IthasimPortsignifieanceinresearehandapPlieation.
Keywords:E一 Government:JZEE:designPattem;eomPonentteehnology:aPProving
system目录
目录
摘要...............................................……,..................................................................……!
Abstract..................................................................................................................……日
第1章绪论........................……,.............................................................................……1
1.1电子政务审批概述...........................……,....................................................……1
1.1.1电子政务概述....................................................................................……1
1.1.2电子政务审批系统概述....................................................................……1
1.2研究背景及意义..........................................................................................……2
1.3国内外的发展及现状..................................................................................……3
1.4存在的问题..................................................................................................……5
1.5主要研究内容.……,.…,…,.…,..……,…,...……,.……,.........................................……5
1.6论文组织结构..............................................................................................……6
1.7本章小结......................................................................................................……7
第2章相关技术......................................................................................................……8
2.1JZEE多层分布式架构..................................................................................……8
2.1.1四层模型............................................................................................……8
2.1.2核心技术............................................................................................……9
2.2设计模式....................................................................................................……10
2.2.1设计模式的基本要素......................................................................……n
2.2.2设计模式的优势..............................................................................……n
2.2.3设计模式的共性..............................................................................……11
2.2.4设计模式的分类..............................................................................……12
2.2.5设计模式的原则..............................................................................……13
2.2.6常用的设计模式

..............................................................................……14
2.3基于组件的软件开发方法........................................................................……20
2.3.1组件的定义......................................................................................……21
2.3.2基于组件的软件系统.............……,..................................................……21
2.3.3CBD和传统软件开发方法的比较..................................................……23
2.4本章小结....................................................................................................……25
第3章系统需求分析............................................................................................……26目录
3.1实现目标....................................................................................................……26
3.2业务流程....................................................................................................……26
3.3信息流模型.............................................................……,............................……27
3.4业务需求....................................................................................................……28
3.5本章小结……,...............................................................……,.......................……30
第4章系统设计....................................................................................................……31
4.1设计思路....................................................................................................……31
4.2设计原则....................................................................................................……31
4.3概要设计......……,......................................................……,..........................……犯
4.3.1功能结构设计........................……,..........................................·········……32
4.3.2逻辑结构设计..............................................................................、.··……犯
4.3.3用例图..............................................................................................……35
4.4开发环境....................................................................................................……36
4.5审批工作流子系统....................................................................................……37
4.5.1工作流概述及在审批系统中的作用..............................................……37
4.5.2工作流引擎概述...........................................................··················一38
4.5.3步骤概述..........................................................................................……38
4.5.4流程概述....................................................................................

......……39
4.5.5工作流引擎设计.................................................··..·························……41
4.5.6审批工作流子系统实现..................................................................……43
4.6电子签章...........................................................................……,..................……46
4.6.1电子签章概述及在审批系统中的作用..........................................……46
4.6.2电子签章组件.,..........................................................................··....……47
4.6.3组件运行环境.......................................................................·······.···……51
4.6.4组件二次开发.............................................................……,.....·····....……52
4.7基于角色的访问控制................................................................................……55
4.8数据库连接池技术..............................................................·..···················……56
4.9本章小结................................................................……,........................·....……60
第5章邯郸县行政审批系统的实现....................................................................……61
5.1系统建设目标.................................................................................···········……61
5.2功能模块介绍.................................................................................·······.···……61
5.3数据表的设计..................................................................................··········……63
5.4审批流程图..............................................................……,...························……65
5.5系统实现技术框架图................................................................................……66目录
5.7
5.8
第6章
6.1
6.2
6.3
6.4
6.5
6.6
第7章
系统安全性实现........................................................................................……68
5,6.1数据存储安全.................................................……,..........................……68
5.6.2数据传输安全..................................................................................……69
5.6.3应用系统的安全……,.............……,...................................................……69
5.6.4系统平台级安全..............................................……,.........................……70
5.6.5管理级安全实现..............................................................................……71
系统部分运行界面....................................................................................……72
本章小结....................................................

................................................……73
系统测试..............................……,......................……,二,…,…,.…,..…,.…,.,二,…,.…74
测试的必要性............................................................................................……74
测试范围....................................................................................................……74
测试环境........................................……、.....................................................……74
测试需求..................................................................……,...........................……74
测试策略....................................................................................................……75
6.5.1采用的测试工具.......................................................................……,……75
6.5.2测试方法..........................................................................................……75
6.5.3测试流程图.....................................……,..........................................……76
本章小结........................................……,.....................................................……80
总结与展望................................................................................................……81
参考文献..................................................................................................................……82
附录主要程序........................................................................................................……85
致谢......................................................................................................................……88
作者简介..................................................................................................................……89
发表的论文..............................................................................................................……89
参与的科研项目...............................................................................................……,……89第1章绪论
第1章绪论
电子政务审批概述
电子政务概述
电子政务是政府在其管理和服务职能中运用现代信息和通信技术,实现政府
组织结构和工作流程的重组优化,超越时间、空间和部门分隔的制约,全方位地
向社会提供优质、规范、透明的服务,是政府管理手段的变革[l]。
随着全球经济化、信息化、网络化的迅猛发展,电子政务逐渐成为当今世界
许多国家共同关注的焦点。实施电子政务,既是政府管理改革和创新的基本方向,
也是带动国民经济和社会信息化的根本力量,对建设创新型国家、构建和谐社会
具有重要的现实意义和深远的历史意义。
根据电子政务业务所涉及

的不同对象,电子政务的主要模式有 GtoG
(GovernmenttoGovemment)政府与政府模式、 0toB(oovemmenttoBusiness)政府
与企业模式、 GtoC(GovenunenttoCitizen)政府与公民模式及GtoE(oovenunent
toEmployee)政府与政府公务员模式[2]。
GtoG模式,是指政府内部、政府上下级之间、不同地区和不同职能部门之
间实现的电子政务活动。利用 GtoG实现的电子政务系统如政府内部网络办公系
统[2]。
GtoB模式,是指政府与企业之间的电子政务活动。企业是国民经济发展的基
本经济细胞,促进企业发展,提高企业的市场适应能力和国际竞争力是各级政府
机构共同的责任。利用 GtoB模式实现的电子政务系统如政府电子化采购系统。
GtoC模式,是指政府与公民之间的电子政务活动,是政府通过电子网络系统
为公民提供各种服务。利用 GtoC模式实现的电子政务系统如电子社保服务系统。
GtoE模式,是指政府与政府公务员之间的电子政务活动,是政府机构通过网
络技术实现内部电子化管理的重要形式,也是 GtoG、 GtoB、GtoC电子政务模
式的基础。其主要是利用Intranet建立起有效的行政办公和员工管理体系,为提高
政府工作效率和公务员管理水平服务。利用 GtoE模式实现的电子政务系统如电
子人事管理系统。
.2电子政务审批系统概述
夕河1匕[程大学硕士学位论文
电子政务审批是电子政务建设的一个重要内容,是指运用计算机与网络技术
将政府的审批业务转移到互连网上进行,实现政府部门审批程序的信息化、网络
化,同时起到优化审批流程、精简政府机构、提高办事效率的作用,真正做到公
开、公正、透明办公。目前,我国急需建立起以公众为中心的电子政务审批系统,
建设关注公众、让人民满意的电子政府和“权为民所用、情为民所系、利为民所
谋”的“亲民,,政府[,1。
根据服务对象的不同,政府的审批业务可以分为两类[4]:针对组织机构的业务
和针对个人的业务。前者如向企业、事业等组织机构发布各种有关政策、进出口、
注册、纳税、工资劳保、社保等方针政策法规,向企事业办发各种营业执照、许
可证、合格证、质量认证等。后者如信息服务、户口管理、身份证件管理等。
从审批涉及的行政部门来看,几乎包含所有与公众关系密切、审批业务较为
集中的政府部门。如工商局、司法局、财政局、劳保和社会保障局等。
1.2研究背景及意义
审批是政府机关的重要职能,也是政府对外的窗口。传统的政府审批制度日
显其弊端[5],如审批事项和审批环节过多、审批时限过长等。随着政府体制改革的
逐步深入和政府信息化建设的飞速发展,电子政务

建设也取得了显著的进步和成
果。改革陈旧的手工审批模式,使之转变为基于网络的一站式审批体制,是适应
政府职能转变的一项重要管理措施,是政府运作管理机制的重要转变。审批制度
改革的目的在于精简办事流程,提高政府工作效率,为公众提供“一站式”服务,
在改变政府及其代理机构办事风气的同时创建一种全新的服务模式。
实施电子政务审批系统的意义主要体现在政治、行政、经济、社会和文化几
大方面上[6]。
(1)在政治价值方面,电子政务审批有助于建设民主政治和廉洁政治,能够打
造透明政治、协力政治和责任政治,冲破行政权力部门化、部门权力个人化、个
人权力利益化的弊端,对于转变机关工作作风、提升政府形象有着积极的意义。
(2)在行政价值方面,电子政务审批能够增强政府行政效能,提高审批工作质
量、促进政府工作方式变革、实现政府管理创新、促进政府权力下移、优化行政
权力结构、形成网络行政组织,营造良好行政环境、提高公务员技术和道德素质、
开发政府人力资源。
(3)在经济价值方面,电子政务审批能够加快行政运转速度、提高政府工作效
率、降低政府运行成本、节约行政开支、利于政府与国际接轨、提高政府竞争能
力。第1章绪论
(4)在社会价值方面,电子政务审批具有超前的服务性。
(5)在文化价值方面,电子政务审批冲击了集权理念和官僚文化。
JZEE是一种利用JavaZ平台来简化企业解决方案的开发、部署和管理等相关
复杂问题的体系结构[7]。JZEE技术的基础是Java平台的标准版,JZEE不仅巩固了
标准版中的许多优点,还提供了对EJB、servlet、JSP及XML等技术的全面支持。
通过提供统一的开发平台,JZEE降低了开发多层应用的费用和复杂性,同时对现
有应用程序的集成提供了强有力的支持,具有目录支持功能,增强了系统安全机
制,提高了性能[8J。
本研究选取JZEE多层分布式架构作为解决方案具有如下优势[9]:
(l)保存现存的IT资产:由于政府办公必须不断适应公众的新需求,所以电
子政务审批系统的开发能够充分利用已有的资源,而不是重新制定全盘方案,显
得格外重要。基于JZEE平台的产品几乎能够在任何操作系统和硬件配置上运行,
并且JZEE平台可以充分利用原有的应用系统资源。
(2)高效的开发:JZEE允许软件开发人员把一些通用的、繁琐的服务端任务交
给组件供应商去完成。开发人员可以将精力集中于如何创建业务逻辑上,相应地
缩短了开发时间,提高了开发效率。
(3)支持异构环境:基于JZEE的应用程序不依赖任何特定操作系统、组件、
硬件,因此基于JZEE的程

序只需开发一次就可部署到各种平台。JZEE标准也允
许公众定购与JZEE兼容的第三方现成的组件,把它们部署到异构环境中,节省了
由自己制定整个方案所需的费用。
(4)可伸缩性。基于JZEE平台的应用程序可被部署到各种操作系统上。JZEE
领域的供应商提供了广泛的负载平衡策略,可以将多台服务器集成部署,消除系
统瓶颈。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来应用的
需要。
1.3国内外的发展及现状
随着电子化浪潮的来临,各国政府都开始把利用信息技术改进传统政府管理
方式看作是政府变革的重大机遇和挑战。电子政务已经成为各国积极倡导的“信
息高速公路”五个应用领域中的首要应用。其中,审批作为体现政府管理职能的
重要内容,其建设的重要性得到了认可,各国纷纷进行电子政务审批系统的建设,
目前己经收到了明显的成效。
美国作为Iniemet的发源地,在信息化建设方面起步最早,也走得最快。美国
政府希望通过采用先进的信息技术来改进政府的运作流程,重塑政府对民众的服河北_〔程大学硕一{:学位论文
务工作。其中,网上审批的应用被作为一个重要内容。美国政府己经建立了整合
的、共同的政府运作程序,为公众提供单一的申请渠道,所有需要跨部门、跨机
关申请办理的事项,将由系统自动处理,公众不需要过多的介入。该系统还方便
公众查询政府信息及在网络上申请办理护照、牌照、专利、证件等事项。同时,
美国政府正准备建立全国性的、整合性的电子福利支付系统,直接将政府的各种
福利支付受益人,实现公民足不出户就可完成同政府打交道的过程。另外,美国
政府还准备提供跨越各级政府的纳税申请及缴税处理系统,即公众可通过电子方
式进行纳税申报及缴税处理‘’。l。
澳大利亚政府在信息革命中承担双重角色,该政府首先是整个国家信息架构
政策的制订者、组织建设者、引导人,同时其通过信息化建设提高政府效率,又
成为整个国家信息化架构中最大的工程。澳大利亚政府积极地将企业中重视顾客
至上,延伸服务据点,提供创新服务的精神引入政府部门,政府机关为确保该目
标的落实,以公众需求为依靠,提出了先期目标:政府提供丰富的政府信息,公
众通过网络或其它途径可随时随地获取;如果事情涉及多个机关,实现一处收件,
全程服务;有事不必进政府机关,随时随地可以进行网上办理。
其它如加拿大、新西兰、英国等国家也都将实现网上审批,将更好地为本国
公众服务作为电子政务建设的重要内容。可见,电子政务审批已经成为世

界范围
内的政务应用潮流[l’]。
在全球信息化浪潮的背景下,国内各级政府也积极推行电子政务,重点在电
子政务审批方面进行了不少有益的探索。
北京电子政务在线服务平台已正式开通,网上可以办理的审批事项与企业和
市民关系密切,比如居民申请补办身份证、工商注册登记等一共57项。这些网上
审批服务系统对外提供流程查询、表格下载、在线填表、批复信息反馈等服务,
对内实现时限监督、流程控制等管理,实现试点项目审批服务项目的网上办理
[12,13]
2002年元旦,上海开通的“中国上海”政府门户网站,已成为沟通政府、企
业和市民的桥梁和窗口,目前已能提供560种表格下载以及网上报税、年检、统
计等140项互动式服务。以“网上审批”为核心内容的“金关工程”和“大通关”
战略的实施,使上海市空运和海运的通关时间从过去的一周左右分别下降到4一6
小时和24小时。
广州市是广东省信息化建设的发达地区,是国家电子政务试点示范市。八成
以上的政府部门采用网络化公文流转系统进行政府公文的传递和办理。企业注册
和年检涉及的43个前置审批部门,联合在“企业注册和年检并联审批系统”进行
网上审批。过去审批工商执照需要三个月至半年,如今只要8个工作日。全市上第1章绪论
万家“三来一补”企业实现了网上审批。
.4存在的问题
目前,我国电子政务审批系统的建设尚处于尝试阶段,存在许多不足之处
[14,15]
(l)启用电子政务审批系统的地区范围小,就全国范围来看区域发展不平衡
我国只有少数地区能够实现电子政务审批业务,多数政府网站只能提供网上
表格下载和办事指南。我国经济发展比较好的地区如北京、上海、广州等城市,
审批系统的建设相对较好,并且己经创造了许多效益。不过可以肯定的是,在今
后的国家信息化建设进程中,审批系统的建设是大势所趋,是不可逆转的历史潮
流。
(2)系统的可维护性、可扩展性较差
由于政府信息化建设具有快速发展、高速膨胀的特点,所以要求系统的各个
环节具有高可扩展性。如当审批事项增加或办理流程变化时,系统可以灵活地进
行调整或扩充以适应其需求的改变。但是,当前所使用的大部分审批系统由于采
用的开发技术的局限性,很难达到这种需求。这个问题也是本研究要重点解决的
问题。
(3)提高系统的性能
电子政务审批系统使用用户的数量大,访问频率高。所以,提高系统的性能
是保证系统正常运行的关键。
(4)保障系统的安全性
目前,我国电子政务审批系统在安全性方面做的不太好,缺乏一套多层防范、
软硬

结合的安全控制体系方案。
国外电子政务的建设同样存在着诸多问题,如重硬件轻软件、信息孤岛、政
府信息无法完全公开等。
.5主要研究内容
本文针对目前我国电子政务审批系统建设所存在的问题,以建立高可维护性、
可扩展性、灵活性、安全性的审批系统为目标,提出了基于JZEE多层分布式架构
并结合多种设计模式的设计方案,方案采用组件式软件开发方法,实现了软件复
用。同时,本文就系统开发过程中的几个关键问题做了详细分析,如审批工作流
子系统、用户权限、数据库连接、系统安全等。最后,将所提方案与实际项目相河北l_程大学硕士学位论文
结合,成功实现了邯郸县行政审批系统。
本人所做的主要工作如下:
(l)JZEE多层分布式架构的研究与应用
本文结合电子政务审批具体应用介绍了JZEE多层分布式架构的模型及核心技
术,如Servlet、JsP、JDBe等。采用JZEE架构是为了实现系统的可重用性、可维
护性、可扩展性。
(2)设计模式的研究
研究了设计模式的基本要素、共性、分类、原则,并介绍了常用的几种设计
模式,如MVC模式、Command模式、Observer模式、Faetory模式。采用设计模
式思想是为了提高系统的可重用性。
(3)基于组件的软件设计
本研究采用了基于组件的软件开发方法,在组件对象模型的支持下,通过复
用已有的组件,可以“即插即用”地快速搭建电子政务审批系统。这样不仅可以
节省开发时间和经费,提高工作效率,而且可以开发更加规范、更加可靠的应用
软件。本设计中的电子签章功能就采用第三方组件进行了二次开发。
(4)电子政务审批系统的需求分析及设计
对电子政务审批系统进行了需求分析及概要设计,提出了一套基于JZEE多层
分布式架构并结合多种设计模式的设计方案。该方案具有高可扩展性、可维护性、
灵活性的特点。并深入研究了系统开发过程中的几个关键问题,如审批流程的控
制、电子签章、基于角色的用户权限管理、数据库连接、系统安全机制等。
(5)邯郸县行政审批系统的实现
将提出的电子政务审批系统的建设方案应用到邯郸县行政审批的实际需求
中,实现了系统功能。
.6论文组织结构
本文共分为8章。
第1章绪论。介绍了电子政务及电子政务审批系统的概念及相关内容;本课
题的研究背景及研究意义;国内外电子政务审批的发展及现状;当前我国电子政
务审批系统建设所存在的问题;本文的主要研究内容;最后介绍了本论文的组织
结构。
第2章相关技术。介绍了JZEE多层分布式架构的四层模型及核心技术;设
计模式的基本要素、共性、分类、原则,及常用的几种设计

模式;基于组件的软
件系统的开发。第1章绪论
第3章系统需求分析。分析了电子政务审批系统的实现目标;系统审批业务
流程及信息流模型;并结合我国电子政务审批系统建设的现状,总结了常用的几
种审批业务类型。
第4章系统设计。提出了电子政务审批系统的设计思路、设计原则;对系统
进行了概要设计;介绍了系统开发环境;针对系统开发过程中涉及到的几个关键
技术进行了详细的分析与设计,包括审批工作流子系统、电子签章、角色的访问
控制、数据库连接池。
第5章邯郸县行政审批系统的实现。将本文提出的设计方案应用到邯郸县行
政审批系统。该章主要介绍了该系统的建设目标、系统功能模块、数据库的设计、
审批事项办理流程图、系统实现技术框架及系统主要的运行界面。
第6章系统测试。介绍了系统测试的必要性、测试范围、测试环境、测试需
求、测试策略等问题。
第7章总结与展望。对研究工作及研究成果及创新点做了总结,并提出进一
步的研究方向。
本研究从资料收集、选题、研究设计、项目实例开发一直到最后论文的完成,
共历时两年多。在这段时间里,本人阅读了大量的文献资料并进行了实地调研,
对我国电子政务审批的需求进行了全面详细的分析,对基于组件的软件开发方法、
设计模式等技术思想都有了一定的了解和掌握。理论知识在项目实践中得到了应
用,又在项目实践中得到升华,这使本人受益匪浅。基于以上的学习、工作及总
结,最终完成了本人的毕业论文。
.7本章小结
本章介绍了电子政务及电子政务审批的相关内容、本文研究背景及研究意义、
电子政务审批国内外发展现状及我国存在的问题;概述了本文的主要内容;介绍
了本文的组织结构。河北l_程大学硕士学位论文
第2章相关技术
电子政务审批系统的建设具有高可扩展性、可维护性、可重用性、高实施效
率等要求,故选取哪种开发技术是项目成功与否的关键。为了满足系统建设的需
求本研究结合JZEE多层分布式架构及多种设计模式,采用基于组件的软件开发方
法。现将相关技术结合本研究做详细介绍如下。
2.1JZEE多层分布式架构
JZEE是一种利用JavaZ平台来简化企业解决方案的开发、部署和管理等相关
复杂问题的体系结构。JZEE技术的基础是Java平台的标准版,JZEE不仅巩固了
标准版中的许多优点,还提供了对EJB、Servlet、JsP及XML等技术的全面支持。
通过提供统一的开发平台,JZEE降低了开发多层应用的费用和复杂性,同时对现
有应用程序集成提供了强有力的支持,并有良好的向导支持打包和部署工作,具
有目录支持

功能,增强了安全机制,提高了性能,具有高可重用性、可维护性、
可扩展性等优势l‘6]。
2.1.1四层模型
JZEE采用多层分布式应用模型,应用逻缉按功能划分为不同的组件。51一〕N公
司设计JZEE的初衷是为了解决C/S模式的弊端。在C/S模式中,客户端担当了过
多的角色而显得臃肿,第一次部署的时候比较容易,但难于升级或改进,可扩展
性较差,而且基于某种专有的协议(通常是某种数据库协议),使得重用业务逻辑
和界面逻辑非常困难。JZEE多层企业级应用模型将两层模型中的不同层面切分成
多层。典型的JZEE四层模型包括客户层、WEB层、业务层、企业信息系统层[’7]。
如图2一1所示。
(1)客户层
客户层负责向用户表现数据、与用户交互以及和其余层通信。客户层是应用
中客户可以看见的唯一部分。客户层主要是显示浏览器网页,它由WEB层中的服
务端页面生成。
(2)WEB层
WEB层负责实现所有的与WEB相关的处理,例如产生HTML页面,实例化
WEB页面模板以及格式化页面以便在浏览器中显示。第2章相关技术
(3)业务层
业务层负责处理逻辑操作。通常,服务器销售商实现了服务器和EJB容器以
及将EJB组件发布到EJB容器中的功能。应用开发者只需要注重其业务逻辑功能
的处理,而不用考虑容器的实现问题。
(4)企业信息系统(Els)层
EIS层是企业信息架构系统,它包括事务处理监控器、关系数据库管理系统以
及遗留企业应用。JZEE应用可以集成已有的数据库或应用系统。
困二团
客户层
浏览器
、Veb层
W七b容器
业务逻辑层
EJB容器
EIS层
}俪亡’}
}Appl·t}
桌面
}Jav·应用}
其它设备
{客户端}
数据库
服务器
园国园固日日同日日日日园困困圈
图2一 1JZEE四层模型
Fig.2一 1FourlayersmodelofJZEE
2.1.2核心技术
JZEE的核心技术有13种[’8,’9],这里就其中最常用的几种进行介绍。
(1)Servlet
Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成WEB
页面。与传统CGI和许多其它类似CGI的技术相比,Servlet具有更高的效率并更
容易使用。
(2)JSP
JsP是一种实现普通静态HTML和动态页面输出混合编码的技术。可以将
WEB页面制作的任务分配给美工设计人员和程序员,并方便地通过JSP技术来合
成。
(3)EJB河北1_程大学硕士学位论文
EJB定义了一组可重用的组件,开发人员可以利用这些组件,像搭积木一样建
立分布式应用。在装配组件时,所有的EJB都需要配置到EJB服务器。EJB服务
器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的
能力。所有的EJB实例都运行在EJB容器中。EJB容器为它的开发人员代管了诸
如安全性、远程

连接、生命周期管理及事务管理等技术环节,简化了业务逻辑的
开发。EJB中定义了三种EJB:SessionBeans、EntityBeans、MessageDrivenBeans。
(4)JDBC
JDBC(JavaDataBaseConneetivity)Apl是一个标准 SQL(StrueturedQuery
Language结构化查询语言)数据库访问接口,它使数据库开发人员能够使用标准
JavaAPI编写数据库应用程序。 JDBCAPI主要用来连接数据库和调用SQL命令执
行各种SQL语句。利用 JDBCAPI可以执行一般SQL语句、动态SQL语句及带
OUT参数的存储过程。
(5)JMS
JMs(JavaMeSSageserviee)是一组Java应用接口,它提供创建、发送、接收、
读取消息的服务。 JMSAPI定义了一组公共的应用程序接口和相应语法,使得Java
应用能够和各种消息中间件进行通信,这些消息中间件包括 IBMMQSeries、
MierosoftMSMQ及纯Java的 SonieMQ。通过使用 JMsAPI,开发人员无需掌握
不同消息产品的使用方法,就可以使用统一的 JMSAPI来操纵各种消息中间件。
通过使用JMS,能够最大限度地提升消息应用的可移植性。JMS既支持点对点的
消息通信,也支持发布/订阅式的消息通信。
(6)JNDI
由于JZEE应用程序组件一般分布在不同的机器上,所以需要一种机制以便于
组件客户使用者查找和引用组件及资源。在JZEE体系中,使用JNDI(Java
NamingandDireetoryInterfaee)定位各种对象,这些对象包括EJB、数据库驱动、
JDBC数据源及消息连接等。州 DlAPI为应用程序提供了一个统一的接口来完成标
准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协
议的,应用程序还可以使用州Dl访问各种特定的目录服务,如LDAP、NDS、DNS
等。
在本研究实现中,用到的技术有Servlet、JSP、JDBC、JSM、州Dl。
2.2设计模式
设计模式是对我们经常遇到的设计问题的可再现的解决方案。使用设计模式
是为了重用代码、让代码更容易被他人理解、保证代码可靠性。在面向对象的编第2章相关技术
程中,软件编程人员更加注重代码的重用性和系统的可维护性。设计模式使人们
可以更加方便地复用成功的设计思想和体系结构。
2.2.1设计模式的基本要素
一个设计模式包含四个基本要素[20,2’]。
(1)模式名称 (Pattemname):一个助记名,描述模式所要解决的问题、解决方
案和效果;
(2)问题印roblem):描述应该在何时使用模式。它解释了设计问题和问题存在
的前因后果,它描述了特定的设计问题,如怎样用对象表示算法等。有时候,问
题部分会包括使用模式必须满足的一系列先决条件;
③解决方案 (solution):描述设计的组成成分、它们之间的相互关系及各自的
职责和协作方式;
(4)效果(consequences):描述模式应用的效果及使用模式应权衡的问

题。复用
是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可
移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
2.2.2设计模式的优势
(1)设计模式是经过证实的印roved):设计模式反映了开发者的经验、知识和
洞察力;
(2)设计模式是可复用的 (reusable):设计模式提供了现成的解决方案,可根据
需要适应不同的问题,可帮助设计者更快、更好地完成系统设计。同时,设计模
式帮助系统设计者做出有利于系统复用的选择;
(3)设计模式是有表现力的(exPressive):设计模式提供了一个公共的(co~on)
解决方案的词汇表 (vocabulary),可用来简洁地表达解决方案,也会使系统开发者
更加容易理解其设计思路;
(4)设计模式能够提高己有系统的文档管理和系统维护的有效性[22,23]。
2.2.3设计模式的共性
不同的设计模式具有如下共性124]:
(1)设计模式是从实践中获得的
设计模式并非凭空想象产生的。实际上,它们大都来自于实践,是被“发现
(diseover)”而不是“写作(丽te)”出来的。
(2)设计模式表达好的设计河北工程大学硕七学位论文
设计模式并不仅是对象的设计,还包含对象间的通信问题。因此有时也称为
“通信模式”。正是简单而不乏优雅的通信方法设计使得设计模式变得更加重要。
(3)设计模式避免无谓的重复劳动;
(4)设计模式可重用;
(5)多个设计模式可以一起用来解决更大的问题
孤立地使用某个设计模式一般情况下不能够充分发挥设计模式的优势,通常
会将多种设计模式联合使用。在本研究中,就结合使用了MvC和DAO设计模式。
(6)设计模式存在于不同层次的抽象级别
设计模式存在于不同的粒度(granularity),小到具体的解决方案,大到通常的
系统问题。
(7)设计模式不断向前发展。
2.2.4设计模式的分类
在GoF书中,根据两条准则对设计模式进行分类[25]:目的准则和范围准则。
目的准则,即设计模式是用来完成什么工作的。设计模式据此可分为:
(l)创建型 (creationaD设计模式:创建型模式抽象了实例化过程。它们帮助系
统独立于如何创建、组合和表示对象。一个类创建型模式使用继承改变被实例化
的类,而一个对象创建型模式将实例化委托给另外一个对象。
(2)结构型(structural)设计模式:结构型模式讲究的是如何更好地组合类与对
象以获得更大的结构。结构型类模式采用继承机制来组合接口或者实现。比如采
用多重继承的方法将两个以上独立的类组合成一个类,新获得的这个类就包含了
所有这些父类的性质。这种模式特别有助于多个独立开发的类库协同工作。结构
型对象模式描述了如何对一

些对象进行组合,从而实现新功能的一些方法。
(3)行为型(behavioral)设计模式:行为型模式主要涉及算法和对象间的职责分
配问题。行为模式不仅描述对象或类的模式,还描述他们之间的通信模式。这些
模式刻画了在运行时难以跟踪的复杂的控制流。这样我们就可以不用再去考虑控
制流,而可以把更多的注意力放到对象的联系方式上面来,行为类模式主要使用
继承机制在类之间分派行为。而行为对象模式则是使用对象复合而不是继承。
范围准则,即指定设计模式主要是用于类还是用于对象。设计模式据此可分
为:
(l)类设计模式:处理类和子类之间的关系,这些关系通过继承建立,是静态
的。
(2)对象设计模式:处理对象间的关系,这些关系在运行时刻是可以变化的,第2章相关技术
具有动态性。
从某种意义上来说,几乎所有的设计模式都使用继承机制,所以“类设计模
式”只指那些集中于处理类间关系的设计模式,而大部分设计模式都属于对象设
计模式的范畴。
2.2.5设计模式的原则
在项目设计中提倡应用设计模式,其根本原因是为了实现代码复用,增强可
维护性。而在实现这一目标的时候,我们必须遵循一定的原则,即设计模式所必
须遵循的原则。设计模式需要遵循的原则主要有以下三种:“开一闭”原则、里氏代
换原则、合成复用原则。
(1)“开一闭”原则
此原则是由 BertrandMeyer提出的。原句是” softwareentitiesshouldbeopenfor
extension,but。losearo:moaifieation,,。就是说模块应对扩展开放,而对修改关闭。
模块应尽量在不修改原代码的情况下进行扩展。扩展的方式最简单的例子就是采
用工厂模式,在设置好的接口下有多个子类,系统通过工厂来管理这些子类的创
建。当需要增加一个实例时,只需要在接口下新创建一个子类就可以,而不需要
去修改原来的结构和代码。其实现方式如图2一2所示。
图2一2开一闭原则
Fig.2一 2OPen一 elosedPrineiPle
(2)里氏代换原则
里氏代换原则是由 BarbaraLiskov提出的。含义是如果调用的是父类的话,那
么换成子类也完全可以运行。Java编译程序会检查程序是否符合里氏代换原则。在
这里,必须符合Java继承的一个基本原则,即子类overioad方法的访问权限不能小
于父类对应方法的访问权限。因此可以说,里氏代换原则是继承复用的一个基础。
(3)合成复用原则
合成复用原则是指要少用继承,多用合成关系来实现。比如说,如果有几个
类要与数据库打交道,于是便写一个数据库操作的类,然后别的跟数据库打交道
的类都继承该类。这样的结果是,当以后修改了数据库操作类中的某些方法

时,
每一个继承子类都需要进行改动。而面向对象设计则是要求把波动限制在尽量小
的范围。在Java编程中,应该尽量针对Interface编程,而不是实现类。这样,当需河北仁程大学硕十学位论文
要更换子类的时候就不会影响到调用它方法的代码。要让各个类尽量可能少的跟
别人联系,“少和陌生人说话”。这样,城门失火,才不至于殃及池鱼。也只有这
样,软件的扩展性和维护性才能提高。
2.2.6常用的设计模式
根据本人的开发经验,大多数JZEE开发中经常用到四种模式,它们分别是:
MVC,Command,Observer, Faeto仃。针对不同类型的应用系统和场合,JZEE可以选
择不同的模式。
2.2.6.1MVC模式
如果应用系统只需要一种客户端,那么一切都非常容易解决。但现实情况是,
我们必须面对运行在各种设备上的客户端,如PDA,WAP浏览器以及运行在桌面上
的浏览器。如果我们开发不同的应用程序来处理来自不同种类客户端的请求,可
能会出现重复的数据访问,导致整个开发周期没有必要的延长。
MvC[26,27]设计模式可以有效地解决上述问题。它是目前最常见的JZEE应用所
基于的体系结构,主要适用于交互式的W亡b应用,尤其是存在大量页面及多次客户
访问及数据显示。它包括模型、视图、控制器三部分。
(1)模型(Model)
主要通过封装 JavaBean和EJB来处理业务逻辑和数据访问。也就是业务流程/
状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,
模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC
最主要的核心。另外,还有一个很重要的模型就是数据模型。数据模型主要指实
体对象的数据保存。比如将一条审批申请保存到数据库,从数据库获取该申请信
息。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。
(2)视图(View)
视图代表用户交互界面,对于W亡b应用来说,可能是HTML页面,也可能是
xHTML、xML和ApPlet。一个应用可能有很多不同的视图,MVC设计模式对于视
图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括视图上的
业务流程的处理。业务流程的处理交给模型处理。比如一个审批申请的视图只接
受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制
和模型。
(3)控制器(Controller)
控制器作为视图与模型的中介对象存在。主要负责接受用户请求并传递给处
理业务的模型以及选择视图显示处理结果。控制器可以理解为从用户接收请求,第2章相关技术
将模型与视图匹配在一起,共同完成用户的请求。控制器并不

做任何的数据处理。
例如,用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户
的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,
一个模型可能对应多个视图,一个视图可能对应多个模型。
MVC设计模式被证明是最有效的处理方法之一。它可以分离数据访问和数据
表现。我们可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。MVC
模式可以被映射到JZEE应用上。在MVC设计模式中,有以下值得注意的地方:
(1)所有的业务逻辑都可以作为模型;
(2)视图可以通过模型访问数据,并根据客户端的要求来显示数据。视图必须
保证当模型改变的时候,数据显示也必须随之改变;
(3)控制器用来结合模型和视图,把客户端的请求转换成模型能够理解并执行
的请求,并且根据请求以及执行结果来决定下一次显示哪一个视图。
针对以上的要点,我们在开发实际应用系统的时候,可以这样考虑:
(l)应用的业务逻辑由MVC中的模型来表现。模型必须处理由控制器传递过来
的对数据的访问请求;
(2)多个页面组成了MVC中的视图,这些视图必须随模型一起更新;
(3)控制器是一系列接收用户动作的对象,他们把用户的请求转换成模型可理
解的请求,决定当模型处理完请求后显示哪一个页面。
由此可知,在该研究中采用MVC设计模式能有效满足电子政务审批系统使用
用户数量大,需求变化快的需求。
在整个系统采用MVC设计模式的同时,在系统的各个层次,由于具体的需要,
也可以选用一些特定的设计模式来解决实际问题,如 :FrontControfler前台控制设
计模式、 SessionFacade设计模式、DAO设计模式等。
相关模式:
(1)FroniContr0ller设计模式[28l
在一些应用中,用户看到的视图和其所做的操作密切相关。这是一些具有高
度交互性的页面,而这些页面之间存在高度的依赖性。在没有应用任何模式的情
况下,这个应用只是一个许多独立页面的集合,维护和扩展变得异常困难。可能
会产生以下问题:
①当一个页面移动后,其它含有这个页面链接的文件,都必须修改;
②当页面需要口令保护时,许多配置文件需要修改,或者页面需要包含新的
标记;
③当一个页面需要一个新的表示层时,页面中的标记要被重新安排。
在这种情况下,前台控制模式是一种比较合适的处理方式。前台控制模式适河化_」_程大学硕十学位论文
合于前台视图之间具有高度的依赖性,需要进行复杂导航的情况,在前台控制模
式中,所有的请求都被传送到一个对象中。这个主要的对象将处理所有的请求,
决定显示哪一个视图,以及

实现必要的安全需求。前台控制模式给出了一个基于
MVC、能有效管理用户与JZEE应用之间进行的复杂交互。该模式可以使处理页面
的现实顺序和用户的并发请求变得简单,并且使增加和改变页面现实变得更加容
易。
前台控制模式的特点如下:
①对于需要在多个含有动态数据的页面之间进行复杂导航的系统来说,是很
有效的;
②对于要在所有页面中都包含模板、转换等的应用来说,是很有效的;
③由于视图的选择集中在前端控制器上,因此,视图的导航变得更加容易理
解和便于配置;
④视图重用和变更会更加容易;
⑤实现安全性检验变得很简单;
⑥不适合小型的、只需要显示静态内容的应用。
在实际的应用系统中,前台控制模式的实现方式如图2一3所示。
W七 bContainerEJBContainer
刃刃刃刃刃刃刃 刃 JJJJJSP或 或 或或或或或或或或或或或或 SSSSServletttttttSCSSiollllllEntityyyyyyyyy BBBBBBBBBBBBBBBBBBBCallllllBe田 1111111 XXXXXMLLLLLLLLLLLLLLLLLLL文 文文件件件件件件件件件件件件件件
图2一 3FrontConiroller的应用
Fig.2一 3ApplieationofFrontController
FrontController为一个Servlet控制器,它在最初创建对象时从XML文件中获取
有关的页面之间导航关系。在处理请求的过程中,首先获得前台页面或者Servlet
请求,并根据己有的导航信息判断下一个显示页面,然后调用相关模块处理请求,
完成后将用户视图导航至下一个页面,并显示返回结果。
采用该设计模式,不需要再考虑在整个系统中多个页面间复杂的导航体系,
这一切都将由Servlet控制器根据XML文件信息进行自动导航。这样就可以将开发
设计人员的精力解放出来,而且页面设计也将变得更加简洁。另外,在页面导航第2章相关技术
需要更新或者增加新的功能的时候,只需要修改相应的页面以及XML文件,而不
会产生太多关联页面需要修改的情况。
(2)SessionFaeade设计模式
在应用系统中,有这样一种情况,当业务逻辑发生变化的时候,应用客户端
也必须随之改变。
解决这个问题的方法是,把客户端和他们使用的EJB分割开。 sessinnFacade[29J
模式恰好适合于这种情况。这个模式通过一个 SessionBean,为一系列的EJB提供
统一的接口来实现流程。事实上,客户端只是使用这个接口来触发流程。这样,
所有EJB实现流程所需要的改变,都和客户端无关。
采用 sessionFacade模式之后,客户端的逻辑变得非常简单。流程中的任何改
变只要修改模式中的一处就可以了。客户端可以仍旧使用原来的接口,而不必做
任何修改。同样,这个模式可以用

来响应其它处理器的流程处理。开发者能用同
样的模式来处理不同客户端的不同流程。同时,该模式也提供了很好的伸缩性和
可维护性。
SessionFacade模式不涉及到数据访问,所以可以用 SessionBean来实现。对于
用简单接口来实现复杂EJB的子系统来说,它是一个理想的选择。它可以减少客户
端与E用之间的通信和依赖,所有和EJB有关的交互,都由同一个 SessinnBean来控
制,可以减少客户端对EJB的误用。该模式可以使支持多类型客户端变得更容易,
也可以减少网络数据传递。
(3)DAO设计模式
当应用系统的数据库有改动时,如果访问数据源的代码和业务逻辑混合在一
起,将使代码的维护变得异常困难。DAol30]设计模式可以将数据访问逻辑与业务
逻辑分离。
业务逻辑可以通过DAO对象间接访问数据库。这样,当数据库修改之后,只
需要更改DAO就可以达到维护代码的目的。另外,当应用系统应用于多个不同的
数据源时,可以同时为每一个数据源开发一个DAO,并在发布环境中指定这些数
据源的类型。通常,采用Factory模式来创建DAo。
其中,通过 DAoFactory获取DAO对象的部分源代码如下:
PublicelassDAOFaetory{
PubliestatieGSSCDAOgetDAO(StringelassName){
GSSCDAOgsseDAO=NULL;
gsseDAO=(GSSCDAO)Class.forName(elassName).newlnstanee():
retumgsseDAO:
}河北工程大学硕士学位论文
}
数据库访问层可以采用基于Factory的DAO访问模式。 sessionBean封装了Java
Bean,这样就可以由EJB来保证事务的安全性。然后由 JavaBean通过访问DAO
Factory,创建相应的DAO对象。当然, DAOFactory只是起到一个DAO对象创建器
的作用,如果可以肯定应用系统今后不需要更换新的数据库,可以忽略这一步,
而直接访问DAO对象。如果数据库有所变化,我们只需要修改一下 DAOFactory便
可以完成系统更新。因此,采用了DAO数据访问模式之后,我们就将数据访问与
事务处理分离开了,对于系统而言,降低了祸合性,利于系统的升级以及更新。
在实际系统中,DAO模式的应用在JZEE架构中如图2一4所示。
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOraeleDAOOOOOOO
图图王习 习 习 习习习习 SSSSSessionnnnnJaVaaaaaaaDAOOOOOOOOOOOOOOOOO BBBBBCallllllBeallllllllFaetoryyyyyDBZDAOOOOOOOOO
图2一 4DAO设计模式的应用
Fig.2一 4APPlieationofDAOdesignmodel
DBZ
DAO设计模式是在数据访问层的独有应用,相对于其它设计模式而言,有以
下一些特征:
①分离了业务逻辑和数据访问逻辑;
②可以在发布的时候选择数据源类型;
③增强了应用的可伸缩性;
④对数据访问没有任何限制,甚至可以访问xML数据。
2.2.6.2Co~and设计模式
co~and模式131]是将

相关主题
文本预览
相关文档 最新文档