(计算机应用技术专业论文)基于mvc的电子政务系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于mvc的电子政务系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于mvc的电子政务系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于mvc的电子政务系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于mvc的电子政务系统的研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)基于mvc的电子政务系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着计算机和信息技术的迅速发展,网络已经成为我们日常生活、学习和工 作的基础设施。各种基于网络的分布式办公系统层出不穷,电子政务系统就是其中 之一。电子政务系统利用网络可以将各种资源进行有效的组合。迅速提高政务活动 的效率,是政府部门进行信息化建设的重要途径。迅速发展,不断变化的经济、社 会内容决定了电子政务系统必须能够满足政务活动的多变性。因此如何使电子政务 系统能够具有最大的可扩展性和重用性就成为电子政务系统开发中必须重视和解决 的问题 w c 设计模式的核心思想就是分层设计,将显示逻辑、业务逻辑以及流程控制 相互分离,分离不同的层次,分为模型层( m o d e l ) 、视图层( v i e w ) 、控制器 ( c o n t r o l l e r ) 。各层次之间相互独立,接口清晰,耦合度低,模块间具有较大的独 立性,从而增强了系统的可维护性和可扩展性。通过分层设计,各个层次的模块可 由不同的开发人员开发,独立层次的模块扩展也将对其他层次模块的影响降为最 低。这种特性恰恰满足了电子政务系统开发的需要。特别是j 2 e e 平台出现之后, 提供了各种成熟且功能强大的组件和容器技术。程序开发人员可以利用这些成熟的 组件和容器技术,使之担任m v c 各层次中的各个角色,降低了系统开发的难度,提 高了系统开发的效率。s t r u t s 架构作为一种基于j 2 e e 平台的框架,具体实现了 m v c 模式。s t r u t s 提供不同的组件工作于不同的层次,担任不同的角色,并提供了 丰富的标签库,大大增强了对视图层的支持,从而使电子政务系统的开发更加便 捷。 论文从理论上论述了m v c 模式应用于电子政务系统设计开发的意义,对m v c 模式的原理和组成结构进行了深入的分析,介绍了实现m v c 模式的s t r u t s 框架的 各个组成部分及控制流程。最后以作者实习期间参与的上海市人民政府外事办公室 电子政务系统的子系统上海市因公护照签证管理信息系统作为开发实例,具体 介绍了如何将m v c 模式应用于电子政务系统设计开发中,以及在设计各个层次时应 该遵循的具体规则和注意事项。并针对于上海市外事办公室特殊的网络环境,成功 解决了数据同步的难题。 关键字:电子政务,设计模式,m v c ,s t r u m ,j 2 e e a b s t f a c t w i t ht h ed e v e l o p m e n to ft h ec o m p u t e rs c i e n c ea n dt h ei n f o r m a t i o nt e c h n o l o g y , t h e n e t w o r kh a sb e c x h n fak i n do fb a s i ci n f r a s t r u c t u r e si no u r d a i l yl i f e k i n d so fs y s t e m s b a s e do nn e t w o r ka p p e a r e da n dt h ee - g o v s y s t e mi so n eo f t h e m t h ee - g o vs y s t e m c a l lo r g a n i z ea l lt h ei n f o r m a t i o ne f f e c t i v e l y ,s h a r et h e ma m o n ga l lt h ed e p a r t m e n t s ,a n d i m p r o v et h ew o r ke f f i c i e n c yg r e a t l y , s oi ti sa k i n do fm o s ti m p o r t a n tw a yt ob u i l dt h ee - g o v t h ec o n t e n to fe c o n o m ya n ds o c i e t yw h i c hi sd e v e l o p i n gq u i c k l yh a sd e c i d e dt h a t t h ee - g o v s y s t e ms h o u l da l s os a 6 s f yt h ec h a n g eo f t h ea c t i v eg o v e r n m e n t s o i th a s b e e na p r e s s i n gp r o b l e mb o w t om a k et h ee - g o v s y s t e mm u c hm o r ee x t e n s i v ea n d r e u s a b l e t h em v c p a t t e r ni sak i n do fl a y e r sp a t t e r n i ts e p a r a t e st h ew h o l es t r u c t u r ei n t o s e v e r a ll a y e r s :m o d e l , v i e wa n dc o n t r o l l e r a l lt h el a y e r se x i s t ss e p a r a t e l y , t h ei n t e r f a c e a m o n gt h e mi sc l e a ra n dm a k et h ec o u p l i n gl o w e s t s ot h i sc h a r a c t e r i s t i cs a t i s f i e st h e n e e do ft h ee - g o v s y s t e m e s p e d a l l yi tb a s e so i lt h ej 2 e ep l a t f o r mw h i c hp r o v i d e s k i n d so fc o m p o n e n t sa n dc o n t a i n e r sw h i c ht h ed e v e l o p e r s 啪u s et ob et h er o l e si nm v c a n di tm a k e st h ed e v e l o p m e n tm u c he a s i e ra n di m p r o v e st h ee f f i c i e n c yg r e a t l y s t r u t si s ak i n do ff r a m e w o r kb a s e do nt h ej 2 e e p l a t f o r ma n dr e a l i z e st h em v cp a t t e r n b e s i d e s t h e s es t r u t sg i v eu sl a r g et a gl i b sa n di m p r o v e st h es u p p o r ta b o u tv i e w t h i sp a p e ri n t r o d u c e st h ea d v a n t a g e sl oa p p l yt h em v ct ot h ed e v e l o p m e n to f b g o v s y s t e md e v e l o p m e n tf i r s t l y t h e na n a l y z et h es t r u c t u r e ,t h ed e t a i l so f t h em v c p a t t e ma n dt h em a i np a r t so fs t r u t sf r a m e w o r kw h i c hr e a l i 7 _ j 嚣t h em v cp a t t e r n a tl a s t b a s e do nt h es h a n g h a iv i s aa n dp a s s p o r tm a n a g e m e n ti n f o r m a t i o ns y s t e m ,as u b s y s t e m o ft h es h a n g h a ie - g o vs y s t e m , t h ep a p e ri n t r o d u c e dd e t a i l sh o wt ou s et h em v c p a t t e r n d u r i n gt h ed e v e l o p m e n to f t h es y s t e m s k e yw o r d s - e - g o v ,d e s i g np a t t e r n ,m v c , s t r u t s , j 2 e e 此页若属实,请申请人及导师签名。 独创性声明 本人声明,所星交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果据我所知。除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意 研究生签名;登盐日蛔笙2 :! l 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全部内容,可以采用影印、缩印或其他复箭 手段保存论文 ( 保密的论文在解密后应遵守此规定) 研究生签名:五b j 自l l l 导师签名:i 至】j 萼净二罔期蛾 注;请将此声明装订在学位论文的目录前 武汉理工大学硕士学位论文 第一章引言 1 1 电子政务系统开发发展现状 2 0 世纪9 0 年代以来,伴随信息技术的发展,信息化已经成为各国普遍关注的 焦点问题。在国家信息化建设进程中,政府信息化又成为信息化建设的重点。电子 政务是政府信息化的主要形式,它是指国家机关在政务活动中,全面应用现代信息 技术、网络技术,以及办公自动化技术等,进行办公、管理和为社会提供公共服务 的一种全新的管理方式 美国的电子政务起源于2 0 世纪9 0 年代初。1 9 9 3 年,克林顿政府成立了“国家 绩效评估委员会”,递交了创建经济高效的政府和运用信息技术改造政府 两份报告,提出应当用先进的信息网络技术克服美国政府在管理和提供服务方面所 存在的弊端,这使得构建“电子政府”成为美国政府改革的一个重要方向,也揭开了 美国电子政务建设的序幕。为保障政府信息化发展,美国还制定了一系列法律法 规,对政府信息化发展起着重要的保障和规范的作用。 我国电子政务建设起步较晚,2 2 年下半年国家也公布了其纲领性文件中 共中央办公厅、国务院办公厅关于转发( 国家信息化领导小组关于我国电子政务建 设指导意见) 的通知经过几年的发展,我国的电子政务系统发展也取得了长足 的进步,已经不再只是政务管理信息化形式的一种简单意义上的补充【1 1 ,不少l t 企业也将电子政务系统的设计开发作为自己的商业范畴。例如神州数码、方正集 团、浪潮集团、沈阳东软软件股份等企业已经有成熟的电子政务系统平台产品投入 实际应用。 电子政务应用系统,对在机关政务活动中产生的信息资源进行采集、整合、管 理等操作,以分布式的结构结合数据库技术,对整个信息资源进行检索,共享。随 着w e b 开发技术发展日趋成熟,越来越多的电子政务应用系统转向基于浏览器的 b ,s 系统架构,逐渐舍弃复杂的c s 结构,从而节省了软件的开发成本及开发周 期。通过构建基于w e b 的分布式电子政务应用系统,实现了各类异构系统的互通 互联、各类信息的全面共享,最终消除“信息孤岛”,达到政务机关信息共享化 与智能化的目的1 2 j 。 武汉理工大学硕士学位论文 1 2m v c 模式在电子政务系统开发应用中的意义 电子政务是由网络技术和电子技术的进步与创新发展起来的,因此电子政务系 统的开发涉及到多项技术的融合,例如:网络开发技术、数据库技术、信息安全技 术、中间件技术、工作流技术等等,是一个庞大的系统工程。加之现在电子政务系 统软件的开发没有标准的规范遵循,现在很多电子政务系统结构混乱,模块体积庞 大、效率低、耦合度高,代码重用率低,从而导致很多电子政务系统重复开发,成 本费用居高不下,系统功能可扩展性差,稳定性和可靠性低等弊端。 近年来,随着网络技术迅速发展,j 2 e e 平台的日趋完善及广泛应用,基于 b ,s 多层体系结构的w e b 应用程序已经成为分布式软件的首选模式,强烈的冲击 着传统的c s 体系结构。在此大环境下,电子政务系统的开发也逐渐向b s 模式靠 拢。随着面向对象编程技术的深入发展,出现了多种框架模型,简化了应用程序的 开发。框架式是可重用的,可以在他的基础之上开发特定的应用程序【3 】,基于 j 2 e e 平台的m v c 模式同样具有可重用的特性,为基于b s 的电子政务系统的开发 提供完善的框架,成功的解决了在电子政务系统开发中所出现绝大多数的问题。 m v c 设计模式是8 0 年代s m a l l t a l k - 8 0 出现的一种软件设计模式,现在已经被 广泛的使用。m v c 的出现不仅实现了功能模块和显示模块的分离,同时还提高了 应用系统的可维护性、可扩展性、可移植性和组件的可复用性。尽管m v c 设计模 式很早就已经被提出,但在早期的w e b 项目开发中,程序语言和h t m l 的分离一 直难以实现,而且脚本语言的功能相对较弱,缺乏支持m v c 设计模式的一些必要 的技术基础,因此在w e b 项目的开发中引入m v c 却是步履维艰。直到基于j 2 e e 的j s p m o d e l 2 问世时才得以改观。它用j s p 技术实现视图的功能,用s e r v l e t 技术 实现控制器的功能,用j a v a b e a n e j b 技术实现模型的功能。 m v c 设计模式成功解决了应用系统开发过程中所遇到的主要弊端,也为电子 政务系统的开发提供了较为完善的解决方案,得到1 1 r 业内的支持。m v c 设计模式 的发展,具体实现m v c 模式的各种架构也随之出现,其中不乏很多开源框架 s t r u t s 框架就是最为优秀的一种,得到市场的认可,s t r u t s 于2 0 0 1 年7 月正式发 布,当前的版本是1 2 。s t r u t s 提供了构建基于m v c 的应用程序的基础或框架,提 供了核心的m v c 功能,并附带了多个j s p 标签库,因此能够更快、更轻松的开发 基于m v c 的w e b 应用程序。 2 武汉理工大学硕士学位论文 1 3 本论文的研究目标和技术路线 本论文的研究目标是对m v c 模式进行深入研究,论述m v c 模式各个组成部 分( 模型、视图、控制器) 在软件开发中所担当的角色及功能,将m v c 模式与其 他软件框架模式进行比较,深入研究具体实现m v c 框架模型的s t r u t s 框架技术, 并将其应用于电子政务应用系统的开发中,结合j 2 e e 平台技术,为电子政务应用 系统的开发提供标准的m v c 框架开发模式。本文中使用的开发实例是上海市外事 办公室电子政务系统的子系统e 海市因公护照签证管理信息系统,此系统已经 成功部署运行 1 4 本论文的组织 本文的组织结构如下: 第一章引言。主要讲述电子政务系统开发的现状,以及m v c 设计模式应用于 电子政务系统开发的现实意义。 第二章应用系统的体系结构。主要介绍应用系统的一般体系结构,如传统 c s 的两层体系结构、b s 系统的三层体系结构以及基于j 2 e e 平台的多层体系结 构。并根据对比给出了电子政务系统应该采用多层体系结构的理由。 第三章应用s t r u t s 具体实现m v c 模式。本章将对设计模式的概念、m v c 设 计模式的核心思想和组成部分以及具体实现m v c 设计模式的s t r u t s 框架进行论 述,并详细论述s t r u t s 框架的核心组件及流程控制等。 第四章m v c 模式在电子政务系统开发中的实例。本章将以上海市因公护照签 证管理信息系统为例,具体研究如何在电子政务系统设计开发中具体应用m v c 设 计模式及其具体实现架构s t r u t s 框架。并介绍了系统本身的功能结构以及具体开发 中所解决的难题。 第五章总结与展望。本章总结全文,指出本系统设计的不足及下一步工作的 研究重点。 3 武汉理工大学硕士学位论文 第二章应用系统体系结构 2 1 传统c s 两层体系结构 在应用程序发展的早期,由于受到硬件水平以及网络发展水平等外界因素的限 制,以及对分布式系统没有过高的要求,传统的应用系统开发普遍采用c s ( c l i e n t s e r v e r 客户端,服务器端) 两层体系结构。其结构图如图2 - 1 所示 1 r e q u e s t 。 因 f 冒 7 t _ j c l i e n tr e s p o n s e s e r v e r 图2 - 1c s 两层体系结构 其中客户端负责向用户提供操作界面,接受用户输入数据信息,通过请求 ( r e q u e s t ) 向服务器端发送数据,接受服务器端的响应( r e s p o n s e ) ,并将响应 结果向用户显示。服务器端主要负责被动接受客户端的请求,接受数据并进行响应 的逻辑处理,以及数据持久化工作,并发送响应,将处理结果返回给客户端。 c s ( 客户端服务器) 两层体系结构是一种通用的、基于消息的模块化结构, 能够提高系统的灵活性、可操作性和可扩展性【4 】。客户端能够进行部分简单的逻辑 处理工作,降低服务器端的工作负荷,这在早期服务器端硬件水平不高的情况下, 确实具有较高的合理性。 但在实际应用中c 搐已经暴露出一些弊端和缺点。由于c s 只有两层结构,结 构比较简单,只能适用于专用的或者小范围的局域网内部,面向特定的用户群。但 随着网络的扩展,对应用系统分布式性能的要求也随之提高,因此d s 体系结构不 能够适应更广的网络应用环境。c s 体系机构不可避免的整体性考虑,构件的重用 性要求不高,可扩展性低。由于c $ 体系结构决定了必须在用户机器上安装客户端 应用程序,因此增加了系统开发和维护的难度,从而增加了系统开发的成本费用。 4 武汉理工大学硕士学位论文 2 2b s 三层体系结构 随着网络技术的迅速发展,网络覆盖范围得到快速的扩展,因此用户对应用系 统分布式的要求也随之提高,此外,应用程序的开发开始更加关注模块和构件的可 重用性,以及逻辑结构的层次性。由于c 幅体系结构的应用系统一般适用于特定的 小型局域网,构件重用性、可扩展性低下,以及开发和维护成本居高不下等在实际 应用中所暴露出来的种种问题,已经明确说明a ,s 体系结构已经不能够满足分布式 应用系统的开发要求。取而代之的是b 腮( b r o w s e r s e r v e r 浏览器朋艮务器) 体系结 构。 w e b 技术经过了十几年的发展,已经成为i n t e r n e t 和局域网的重要组成部分, 也为b s 体系结构的出现和广泛应用提供了前提条件。基于b s 的应用系统在用户 端取消了客户端软件的开发和安装,取而代之的仅仅是在用户机器上安装浏览器 ( b r o w s e r ) 。但由于浏览器仅仅起到向用户提供交互界面的作用,并不具有较强 的逻辑处理功能,因此需要将逻辑处理功能转移到服务器端,自然增加了服务器端 的工作负荷,因此需要增强服务器端的设计与开发,对服务器端再进行分层。服务 器端也逐渐分离成w e b 服务器和数据库服务器。b s 三层体系结构图如图2 - 2 。 w e bb r o w s e r 第一层 者一。圃一a 第二层第三层 图2 - 2b s _ 三层体系结构 客户端浏览器( b r o w s e r ) 只负责为用户提供友好的交互界面,搜集用户输入 参数,在用户触发一定事件后,向w e b 服务器( w e bs e r v e r ) 发出h t i p 请求 ( t r r t pr e q u e s t ) ,并将请求参数传送给w e b 服务器。 w e b 服务器主要负责商业逻辑处理,接受i f r r p 请求参数,调用响应的方法 进行逻辑运算,并可以根据用户需要访问数据库服务器( d a t a b a s es e r v e r ) 。在商 5 武汉理工大学硕士学位论文 业逻辑处理完毕后,w e b 服务器将处理结果通过i r 兀p 响应( h t r pr e s p o n s e ) 发 送给浏览器显示给最终用户 数据库服务器( d a t a b a s es e r v e r ) 主要负责数据信息的存储工作。数据库服务 器从w c b 服务器中分离出来,有助于减轻w e b 服务器的工作负荷,也有助于系统 数据信息的管理组织。使得服务器端商业逻辑处理和数据信息处理相互独立,层次 清楚,有助于系统的扩展性的提高。 相对于c s 体系结构,基于b s 的应用系统更加容易建立在广域网上,可以面 向不可知的用户。b s 体系结构要求系统构件相对独立,可以较好的重用,减少了 重复开发,此外仅需要在用户端安装浏览器,大大减少了系统开发维护成本。鉴于 以上优势,m i c r o s o f t 推出全面支持网络的构件搭建平台,s u n 和i b m 也推出了 j a v a b c a n 构件技术,使得b s 体系结构成熟完善,大有取代c s 体系结构的趋势。 随着越来越多的企业级分布式的事务处理要求的提高,三层体系结构中w e b 服务器的工作负荷也不断加大。需要继续对w e b 服务器的层次结构进行细分,对 于细分的方法根据不同的技术平台而不同。本文的以下章节将着重研究基于j 2 e e 技术的细分方法。 2 3 基于j 2 e e 的w e b 多层体系结构 网络的发展迫切需要有效的企业系统的开发,构建出高质量、高度可用的企业 应用,多层体系结构应运而生。客户机不断被压缩,逐渐被浏览器所替代,因此也 促使在进行系统设计开发过程中更加注重服务器的设计与开发,对服务器进行细 分。在技术方面,应用服务器技术和容器组件技术的出现为企业级网络的分布式应 用提供了优秀的技术支持,促使了这种趋势的发展和完善。 现在最流行和实用的分布式系统开发语言就是j a v a 。j a v a 语言从1 9 9 5 年出现 以来,根据不同的市场需要,已经发展成三个不同的应用平台:j 2 m e 、j 2 s e 、 j 2 e e 。其中j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 是s u n 公司联合多家r r 业 大型公司,把所有与企业相关的标准、a p i 进行整合推出的企业级版本,是一个开 发分布式企业级应用的规范平台,为程序开发人员提供了一个多层次的分布式体系 结构和一系列开发技术规范。其中多层次分布式体系结构是指根据功能把应用逻辑 再进行细分,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器 中运行,容器间通过相关的协议进行通讯,实现组件间的相互调用。j 2 e e 平台为 服务器端的细分提供了不同的组件、容器以及规范,例如j s p 、s e r v l e t 组件及应 6 武汉理工大学硕士学位论文 用服务器容器,f j b 组件及e j b 容器等等,各种不同的组件及容器部署在不同层次 上,不同的层次可以部署在相同服务器或者不同服务器上。基于j 2 e e 的w e b 多层 体系结构图如图2 - 3 。 图2 - 3 基于j 2 e e 的w e b 多层体系结构 客户层可以是桌面应用程序,也可以是基于w e b 的应用程序,主要负责向最 终用户提供友好的可视化交互界面。本文主要研究基于w e b 应用系统的体系结 构,因此担任客户层角色的应该为w e b 浏览器( w e bb r o w s e r ) ,浏览器并不具备 完善的逻辑处理功能,只是负责发送请求以及显示响应结果,可以下载静态的 h t m l 页面或者由w e b 层生成的动态h t m l 页面,属于一种瘦客户端。 w e b 层产生表示逻辑。根据用户请求,接受请求参数,并调用业务层处理单 元,在获得处理结果后动态生成表示单元返回给客户层浏览器。j 2 e e 平台为w e b 层提供了j s p 、s e r v l e t 组件及w e b 容器一应用服务器。j s p 和s e r v l e t 组件接受 用户请求,并根据逻辑处理结果产生动态的显示页面。应用服务器则负责对j s p 、 s e r v l e t 等组件的管理工作。 业务层主要负责处理应用的核心业务逻辑,以满足特定业务领域的业务逻辑处 理需求。j 2 e e 平台为业务层提供了e j b 组件及e j b 容器。e j b 组件可以接收请求 数据,对数据进行复杂的逻辑处理,如有需要可以将数据发送到企业信息系统层进 行持久化操作,还可以根据需要检索数据,返回处理结果。e j b 可以分为三种:会 话b e a n ( s e s s i o nb e a n ) 、实体b e a n ( e n t i t yb e a n ) 、消息驱动b e a n ( m e s s a g e d r i v e nb e a n ) 。不同的e j b 负责不同的功能,统一由e j b 容器管理。通常情况 下,许多企业应用将w e b 层和业务层一起发布,称为j 2 e e 服务器。但e j b 本身 7 武汉理工大学硕士学位论文 也存在内部结构复杂、体积庞大的缺点,因此在一般企业级应用系统中不建议使用 e j b 作为业务层的处理组件,而是建议进行轻量级开发。部分业务逻辑处理可以由 j a v a b e a n 组件以及应用服务器容器所代替,从而降低程序开发难度,但大型企业 应用仍然建议使用e j b 组件。 企业信息系统层( e i st i 口) 是处理企业数据信息的系统软件,包括e r p 、数 据库系统等等。主要负责对企业数据信息的管理、存储等持久化工作。本文所要介 绍的上海市因公护照签证管理信息系统主要采用数据库系统。 基于j 2 e e 的w e b 多层体系结构对原来的服务器端功能模块进行了合理的细 分,并提供了完善的组件及容器管理机制,可以有效地控制因重复开,增强应用系 统的重用性,充分发挥了面向对象开发的优势。j 2 e e 通过提供统一的开发平台, 降低了开发多层应用系统的费用和复杂度,同时提供对现有应用系统集成的有力支 持 5 1 1 6 1 。 2 4 电子政务系统采用基于j 2 e ew e b 多层体系结构的理由 电子政务系统在实际应用中的易用性、健壮性、可重用性、可扩展性是系统设 计首先考虑的问题 7 1 。因此既需要考虑更好的实现整个系统的设计开发,也要考虑 到系统整体框架的特性以及未来的扩展性。基于j 2 e e 的w e b 多层体系结构所具有 如下优势,正好满足了电子政务系统以上要求: 1 j 2 e e 利用j a v a 平台来简化企业解决方案的设计、开发、部署和管理等相 关复杂问题,也就具备了j a v a 语言“一次编写,到处运行”的先天性优势,j 2 e e 平台本身具有平台无关性哪。 2 j 2 e e 平台提供了完善的组件,提高了系统的重用性。随着经济的迅速发 展,社会内容的不断丰富,作为社会的管理者,政府的管理职能、地位和管理内容 也再不断的扩充变化。电子政务系统的需求也随之变化,因此电子政务系统对重用 性和可扩展性的要求不断提高。j 2 e e 平台利用组件技术和容器技术提高了系统模 块的重用性,可以方便的整合原有的电子政务系统,避免了不必要的重复开发。 3 易于部属,实用化。由于基于j 2 e e 的w e b 多层体系结构压缩了客户端的 功能,属于b s 结构,在客户端只需要用户安装w e b 浏览器,而且现在市场上的 主流操作系统都会绑定安装浏览器。另一方面,由于业务的不同,电子政务系统主 要面向于政府工作人员,应用系统对工作人员的计算机水平不能要求太高,直接使 8 武汉理工大学硕士学位论文 用浏览器就可以对电子政务系统进行熟练的操作。基于j 2 e e 的w e b 多层体系结构 恰好满足了用户此种需求。 4 较强的健壮性和稳定性。电子政务系统一旦部署实施就需要全天候运行, 因此需要较强的稳定性和健壮性。多层次结构虽然不能保证其中一层出现问题,其 他层次不受影响,但最重要的数据信息作为单独的一层进行设计,可以保证在系统 出现问题时,原有的重要数据不会丢失。此外,多层体系结构将服务器端工作负荷 和业务逻辑分布到不同层次上进行,不同层次的模块单元可以部署在不同机器上, 避免了个别机器工作负荷太重的现象,因此降低了系统出现问题的可能性。提高了 系统的稳定性。 5 节约系统开发成本。首先基于j 2 e e 的w e b 多层体系结构使得开发人员不 再过多的关注客户端应用程序的开发,只是需要设计用户交户界面即可,节省了系 统开发在时间和人力上的开销。此外j 2 e e 平台为程序开发人员提供了友好的功能 完善的组件及其容器,开发人员可以从内部细节实现中解脱出来,更加关注系统整 体逻辑设计最后此种体系结构提高了系统的重用性和扩展性,可以较好的整合原 有系统,避免不必要的重复开发,从而缩短了开发周期,节约了开发成本。 鉴于以上优势,基于j 2 e e 的w e b 多层体系结构已经成为进行电子商务、电子 政务等基于w e b 开发的首选方案。本文中所研究设计的上海市因公护照签证管理 信息系统也采用此种体系结构。解决了系统的体系结构问题,下面的章节将研究系 统将采用什么样的设计开发模式。 2 5 本章小结 本章按照软件体系结构从简单到复杂的顺序,首先简单介绍了传统的c s 两层 体系结构,针对于c ,s 两层体系结构所暴露出来的缺陷,对比介绍了更加实用的 b 幅三层体系结构。j 2 e e 平台的迅速发展,基于j 2 e e 平台的多层体系结构由于具 备成熟的组件及其容器技术,迅速发展起来,逐渐成为开发w e b 应用系统的首选 体系结构。这也是本章重点介绍的部分。本章的最后,结合基于j 2 e e 的多层体系 结构的优点,给出了电子政务系统开发采用此种多层体系结构的原因。 9 武汉理工大学硕士学位论文 第三章应用s t r u t s 实现m v c 模式 3 1 软件设计模式概述 确立了系统的体系结构,了解到系统的关键部分已经集中到服务器端的各个层 次的设计与实现,就需要一定的规范来帮助系统设计和开发人员对服务器端进行合 理的设计与开发,这就涉及到采用何种设计模式的问题。设计模式的概念最初来源 于城市建筑模式,但也同样适用于面向对象的软件开发中。在面向对象的软件开发 中,设计模式就是特定环境中标准设计问题的重复性解决方案【刀。设计模式可以帮 助开发人员在特定的环境里整理系统设计与开发过程中所面临的问题以及欲采取的 解决方案,为系统开发抽象出一种模型,并可以复用。每一个模式描述了一个不断 重复发生的问题,以及该问题解决方案的核心,并可以一次一次的使用该方案而不 需要重复开发。每个模式是由三部分组成的一个原则,这个原则描述特定环境、问 题和解决方案之间的关系网。 设计模式的基本思想就是,公共的“习惯用法”在软件设计中被不断重复发 现,因此这些模式应该被有意识的归纳整理,并用于类似的问题的解决上,一般而 言,设计模式具有四个基本要素【9 l : 1 模式名称( p a t t e r nn a m e ) 一个助记名,用一两个词来描述模式的问题、解决方案和效果。命名一种新的 模式就会增加一个新的设计词汇。设计模式允许开发人员在较高的抽象层次上进行 设计。基于一个统一的模式词汇表,开发人员之间就可以在讨论模式并在编写文档 时使用。模式名称可以帮助开发人员思考,便于交流设计思想和设计结果,找到恰 当的设计模式名称也是设计模式编写工作的难点之一。 2 问题( p r o b l e m ) 描述应该在何时使用设计模式。它解释设计问题存在的前因后果,它可能描述 特定的设计问题,也可能描述导致不灵活设计的类或者对象结构。有时候,问题部 分会包括使用模式必须满足的一系列先决条件。 3 解决方案( s o l u t i o n ) 描述设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模 式就像一个模版,可应用于多种不同场合,所以解决方案并不描述一个特定而具体 武汉理工大学硕士学位论文 的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组 合( 类或对象组合) 来解决这个问题。 4 效果( c o n s e q u e n c e s ) 描述模式应用的效果及使用模式应权衡的问题。尽管描述设计决策时,并不总 提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要的 意义。软件效果大多关注对时间和空问的衡量,它们也表达了语言和实现问题。因 为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性 或可移植性的影响,显式的列出这些效果对理解和评价这些模式很有帮助。 设计模式都是从实践经验中抽象而来,是被“发现”,而不是“写作”出来 1 1 0 j 。设计模式不单描述对象,而且描述对象之间的通信方式,并可以重用,使得 更加简单方便的复用成功的体系结构,也使新系统的开发者更加容易理解设计思 路,这也是设计模式得到市场和开发人员认可的重要原因。 3 2j 2 e i :w e b 设计模式 如上所述,j 2 e e 平台为b s 系统开发提供了各种成熟的组件及其容器技术, 逐渐成为开发w e b 应用程序的主流。在应用j 2 e e 平台开发w e b 应用程序时经常 提到设计模式m o d e l1 和m o d e l2 ,下文将对这两种具体的设计模式进行简单的介 绍。 3 2 1w e b 设计模式m o d e l1 j 2 e e 平台向程序开发人员提供了j s p 组件。在j s p 发展早期,由于其便于掌 握而且能够便捷的进行w e b 应用程序的开发,很快成为基于j 2 e e 的w e b 应用程 序的主要技术。在j s p 页面中可以很容易的同时实现内容的显示,业务逻辑的处理 以及流程控制,从而快速的完成应用开发。因此在早期的b s 应用程序服务器端模 块几乎全部由j s p 文件组成1 1 1 1 ,这种以j s p 文件为中心的设计模式就叫m o d e l1 设计模式m o d e l1 的结构图如图3 - 1 所示 武汉理工大学硕士学位论文 禽l 图3 1m o d e l1 结构图 m o d e li 的基础是j s p 文件。首先j s p 文件接收到浏览器的r e q u e s t 请求,从 i 丌t p 的请求中提取参数,调用相应的业务逻辑处理h t f p 会话,其中相应的业务 逻辑处理单元或者数据库访问操作等也是j s p 文件,也可能会借助一定的 j a v a b e a n 类来处理一部分比较复杂的业务逻辑,但是大量的业务逻辑仍然在j s p 文 件中处理。此外,j s p 文件或者j a v a b e a n 类都可以直接对数据库进行操作。最后生 成h t r p 文档。一系列这样的j s p 文件形成一个完整的m o d e ll 应用。 在m o d e ll 中,j s p 页面也可以独自响应请求并将处理结果返回客户。这个模 型简单易用,能够可以很好的满足小型应用的需要。但是从工程化的角度考虑,它 也有一些不足之处; ( 1 ) 应用的实现一般是基于过程的,一组j s p 页面实现一个业务流程,如果 要进行改动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。 ( 2 ) 由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在j s p 页面中 没有进行抽象和分离。所以非常不利于应用扩展和改动。大量使用m o d e ll ,常常 会导致页面被嵌入大量的j a v a 代码。特别是当需要处理的业务逻辑比较复杂时, 情况会变得非常严重。对于j a v a 程序员来说,这不算大的问题,但如果开发者是 前端界面设计人员,则代码的开发和维护将出现困难。在任何项目中,这样的模式 总会导致定义不清的响应和项目管理的困难,因此不能满足大型应用的要求。 为了解决m o d e l1 紧耦合、复用性差和维护成本高的问题【1 2 】,在开发大型系统 中必须采用另外一种设计模式,这就是m o d e l2 。 3 2 2w e b 设计模式m o d e l2 m o d e l2 表示的是基于m v c 模式的框架( 如图3 - 2 所示【1 3 9 。“m o d e l ”代表应 用的业务逻辑。“v i e w ”代表应用的表示面( 由j s p 页面产生) 。“c o n t r o l l e r ”是提 武汉理工大学硕士学位论文 供应用的处理过程控制,负责接受客户端w e b 浏览器发送来的所有请求,并依据 处理意见的不同结果,转发到对应的j s p 页面实现在浏览器客户端的显示。通过这 种设计模型把应用逻辑、处理过程和显示逻辑分成不同的组件实现,这些组件可以 进行交互和重用,从而弥补了m o d e l1 的不足。m o d e l2 具有组件化的优点从而更 易于实现对大规模系统的开发和管理,但是开发这样的系统要比简单的j s p 开发复 杂的多,它需要更多的时间学习和掌握。这就要求开发人员必须以基于组件的方式 思考和设计应用系统的结构。原来通过建立一组j s p 页面就能实现的应用现在需要 对功能模块重新划分,需要变成多个步骤地设计和实现过程。其次的页面和组件必 须在这种框架下实现,所以相应的增加了附加开发的工作。 k 二 口 ;了、m o d 剖 趔莓。 匆,趴h :、! ! ! 1 厂 图3 2m o d e l2 结构图 e n t e 巾r i s es e r v e r d a t as o u r c e 由结构图可以看出,该设计模式的优势是很明显的。首先,它将计算和显示清 楚地分开了,在j s p 页面上没有出现处理过程,在业务逻辑或商业逻辑中没有数 据格式。这种分离的另一个好处是程序员可以专注于后台逻辑单元代码的开发, h t m l 编写者可以专注于用户界面j s p 的开发。其次控制器负责控制转向。在页 面和逻辑中不会出现任何决策,这就提高了一个应用程序的性能和可扩展性,因为 请求可以被导向架构的不同的组件,甚至是不同的服务器。 m o d e l2 具体实现了m v c 设计模式的大体思想。m v c 模式在交互式系统开发 中具有强大的优势,因此被开发人员逐步引入j 2 e e 体系之中,成为j 2 e e 进行交 互式应用开发时,特别是w e b 应用开发时的一个非常重要的设计模式。下面就对 m v c 设计模式进行详细介绍。 武汉理工大学硕士学位论文 3 2 3m v c 基本设计模式 m v c ( m o d e l - v i e w c o n t r o l l e r ) 设计模式,即模型试图控制器模式,源于 传统的面向对象语言s m a l l t a l k - 8 0 ,早期它主要用于设计用户界面,是一个经典的 设计模式1 1 4 1 。由于使用该模式设计的界面具有多窗口、交互式等特点,在2 0 世纪 舳年代初期被许多系统采纳,如m a c i n t o s h 和w m d o w s 。随着软件设计模式的出 现和完善,以及面向对象技术的成熟,m v c 设计模式逐渐成为一种较完善的面向 对象设计模式,它所应用的范围也不再局限于界面设计。m v c 设计模式是设计交 互式应用时广泛采用的一种设计模式,也是j 2 e e 平台推荐在开发w e b 应用时使用 的设计模式。s u n 公司推出的j 2 e e 平台是一个面向对象的、完整的大型应用开发 平台,m v c 模式可以有效的提高分布式应用系统中组件的重用能力和事务控制的 灵活性,分析系统的用户界面、业务逻辑以及业务流程控制。在互联网快速发展的 今天,m v c 模式已被广泛应用在各企、事业e r p 、电子商务和电子政务等应用系 统的开发中m j 。 m v c 模式的基本思想是将应用数据和业务逻辑、数据的表示以及数据的交互 相分离,即分离为不同的实体,主要三个部分:模型( m o d e l ) 、视图( e w ) 和 控制器( c o n t r o l l e r ) 。下面将对这三个组成部分进行详细介绍,图3 - 3 显示了 m v c 模式三个主要组成部分之间的流程结构【1 6 】; 查 询 状 态 錾上 封装应用程序状态l 回应状态查询h 卜_ 一 提供应用功能 i 提示改变v j e wj 发送更新通知 视图( v i e w ) 表现模型 模型更新请求 提交用户 凳霁鑫蔷喜耄毳襄留器j - 。i i i 磊面允许控制器选择试图j _ 控制器( c o n t r o l l e r ) 定义应用程序行为 将用户行为映射为m o d d 更新 选择v i d w 响应 每一个功能对应一个c o m 一时 图3 - 3m v c 设计模式结构图 1 4 武汉理工大学硕士学位论文 m v c 模式的处理过程为:首先控制器接收用户的请求,并决定调用模型进行 处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器 调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户l 切 视图( v i e w ) :表示模型的状态,是应用系统的外观。对应电子政务、电子商 务等w e b 应用中的用户界面层,视图是应用程序中用户界面相关的部分,向用户 提供友好的交互的界面。视图元素通过浏览器展示给用户,这些视图元素可以是 h t m l ,也可以为x m l 或

温馨提示

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

评论

0/150

提交评论