电子政务系统设计模板.doc
《电子政务系统设计模板.doc》由会员分享,可在线阅读,更多相关《电子政务系统设计模板.doc(124页珍藏版)》请在咨信网上搜索。
电子政务系统设计 124 资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。 基于MVC实现的电子政务系统 摘要 随着计算机和信息技术的迅速发展, 网络己经成为我们日常生活、 学习和工 作的基础设施。各种基于网络的分布式办公系统层出不穷, 电子政务系统就是其中 之一。电子政务系统利用网络能够将各种资源进行有效的组合, 迅速提高政务活动 的效率, 是政府部门进行信息化建设的重要途径。迅速发展, 不断变化的经济、 社 会内容决定了电子政务系统必须能够满足政务活动的多变性。因此如何使电子政务 系统能够具有最大的可扩展性和重用性就成为电子政务系统开发中必须重视和解决 的问题。 MVC设计模式的核心思想就是分层设计, 将显示逻辑、 业务逻辑以及流程控制 相互分离, 分离不同的层次, 分为模型层(Model)、 视图层(Yiew)、 控制器 (Controller)。各层次之间相互独立, 接口清晰, 祸合度低, 模块间具有较大的独 立性, 从而增强了系统的可维护性和可扩展性。经过分层设计, 各个层次的模块可 由不同的开发人员开发, 独立层次的模块扩展也将对其它层次模块的影响降为最 低。这种特性恰恰满足了电子政务系统开发的需要。特别是J2EE平台出现之后, 提供了各种成熟且功能强大的组件和容器技术。程序开发人员能够利用这些成熟的 组件和容器技术, 使之担任MVC各层次中的各个角色, 降低了系统开发的难度, 提 高了系统开发的效率。Struts架构作为一种基于J2EE平台的框架, 具体实现了 MVC模式。Struts提供不同的组件工作于不同的层次, 担任不同的角色, 并提供了 丰富的标签库, 大大增强了对视图层的支持, 从而使电子政务系统的开发更加便 捷。 论文从理论上论述了MVC模式应用于电子政务系统设计开发的意义, 对MYC 模式的原理和组成结构进行了深入的分析, 介绍了实现MVC模式的Struts框架的 各个组成部分及控制流程.最后以作者实习期间参与的上海市人民政府外事办公室 电子政务系统的子系统—上海市因公护照签证管理信息系统作为开发实例, 具体 介绍了如何将MVC模式应用于电子政务系统设计开发中, 以及在设计各个层次时应 该遵循的具体规则和注意事项。并针对于上海市外事办公室特殊的网络环境, 成功 解决了数据同步的难题。 关键字:电子政务, 设计模式, MVC, Struts } J2EE Abstract With the development of the Computer Science and the Information Technology, the network has become a kind of basic infrastructures in our daily life. Kinds of systems based on network appeared and the E-GOV System is one of them. The E-GOV System can organize all the information effectively, share them among all the departments, and improve the work efficiency greatly, so it is a kind of most important way to build the E- G4V. The content of economy and society which is developing quickly has decided that the E-GOV System should also satisfy the change of the active government. So it has been a pressing pmblem how to make the E-GOV System much more extensive and, reusable. The MVC pattern is a kind of layers pattern. It separates the whole structure into several Layers: Mod呱View and Controller. All the layers exists separately,阮interface among them is clear and make the coupling lowest. So this characteristic satisfies the need of the E-GOV System. Especially it bases on the 12EE platform which provides kinds of components and containers which the developers caa use to be the roles in MVC. And it makes the development much easier and improves the efficiency greatly. Struts is a kind of framework based on the J2EE platform and realizes the MVC pattern. Besides these Struts give us large tag Jibs and improves the support about View. This paper introduces the advantages to apply the MVC to the development of E- G4V System development firstly. Then analyze the structure, the details of the MVC pattern and the main parts of Struts framework which realizes the MVC pattern. At last based on the Shanghai Visa and Passport Management Information System, a subsystem of the Shan沙ai E-Gov System, the paper introduced details how to use the MVC }ttern during the develapment of the systems. Key words: liGov, Design Pattern, MVC, Struts, J2EE 第一章引言 1.1电子政务系统开发发展现状 20世纪90年代以来, 伴随信息技术的发展, 信息化已经成为各国普遍关注的 焦点问题。在国家信息化建设进程中, 政府信息化又成为信息化建设的重点。电子 政务是政府信息化的主要形式, 它是指国家机关在政务活动中, 全面应用现代信息 技术、 网络技术, 以及办公自动化技术等, 进行办公、 管理和为社会提供公共服务 的一种全新的管理方式。 美国的电子政务起源于20世纪90年代初。1993年, 克林顿政府成立了”国家 绩效评估委员会”, 递交了《创立经济高效的政府》和《运用信息技术改造政府》 两份报告, 提出应当用先进的信息网络技术克服美国政府在管理和提供服务方面所 存在的弊端, 这使得构建”电子政府”成为美国政府改革的一个重要方向, 也揭开了 美国电子政务建设的序幕。为保障政府信息化发展, 美国还制定了一系列法律法 规, 对政府信息化发展起着重要的保障和规范的作用。 中国电子政务建设起步较晚, 2Q 下半年国家也公布了其纲领性文件《中 共中央办公厅、 国务院办公厅关于转发(国家信息化领导小组关于中国电子政务建 设指导意见)的通知》.经过几年的发展, 中国的电子政务系统发展也取得了长足 的进步, 已经不再只是政务管理信息化形式的一种简单意义上的补充[1], 不少rr 企业也将电子政务系统的设计开发作为自己的商业范畴。例如神州数码、 方正集 团、 浪潮集团、 沈阳东软软件股份等企业已经有成熟的电子政务系统平台产品投入 实际应用。 电子政务应用系统, 对在机关政务活动中产生的信息资源进行采集、 整合、 管 理等操作, 以分布式的结构结合数据库技术, 对整个信息资源进行检索、 共享。随 着Web开发技术发展日趋成熟, 越来越多的电子政务应用系统转向基于浏览器的 BIS系统架构, 逐渐舍弃复杂的CIS结构, 从而节省了软件的开发成本及开发周 期。经过构建基于Web的分布式电子政务应用系统, 实现了各类异构系统的互通 互联、 各类信息的全面共享, 最终消除”信息孤岛”, 达到政务机关信息共享化 与智能化的目的[2]。 1.2 MVC模式在电子政务系统开发应用中的意义 电子政务是由网络技术和电子技术的进步与创新发展起来的, 因此电子政务系 统的开发涉及到多项技术的融合, 例如:网络开发技术、 数据库技术、 信息安全技 术、 中间件技术、 工作流技术等等, 是一个庞大的系统工程。加之现在电子政务系 统软件的开发没有标准的规范遵循, 现在很多电子政务系统结构混乱, 模块体积庞 大、 效率低、 藕合度高, 代码重用率低, 从而导致很多电子政务系统重复开发, 成 本费用居高不下, 系统功能可扩展性差, 稳定性和可靠性低等弊端。 近年来, 随着网络技术迅速发展, J2EE平台的日趋完善及广泛应用, 基于 BIS多层体系结构的Web应用程序已经成为分布式软件的首选模式, 强烈的冲击 着传统的C/S体系结构。在此大环境下, 电子政务系统的开发也逐渐向BIS模式靠 拢。随着面向对象编程技术的深入发展, 出现了多种框架模型, 简化了应用程序的 开发。框架式是可重用的, 能够在她的基础之上开发特定的应用程序[3], 基于 J2EE平台的MvC模式同样具有可重用的特性, 为基于B/S的电子政务系统的开发 提供完善的框架, 成功的解决了在电子政务系统开发中所出现绝大多数的问题。 MVC设计模式是80年代Smallta1k}80出现的一种软件设计模式, 现在已经被 广泛的使用。MVC的出现不但实现了功能模块和显示模块的分离, 同时还提高了 应用系统的可维护性、 可扩展性、 可移植性和组件的可复用性。尽管MVC设计模 式很早就已经被提出, 但在早期的Web项目开发中, 程序语言和HTML的分离一 直难以实现, 而且脚本语言的功能相对较弱, 缺乏支持MVC设计模式的一些必要 的技术基础, 因此在Web项目的开发中引入MVC却是步履维艰。直到基于12EE 的3SP Model 2问世时才得以改观。它用JSP技术实现视图的功能, 用Servlet技术 实现控制器的功能, 用JavaBeanIEJB技术实现模型的功能。 MVC设计模式成功解决了应用系统开发过程中所遇到的主要弊端, 也为电子 政务系统的开发提供了较为完善的解决方案, 得到TT业内的支持。MVC设计模式 的发展, 具体实现MVC模式的各种架构也随之出现, 其中不乏很多开源框架。 Struts框架就是最为优秀的一种, 得到市场的认可, Struts于 7月正式发 布, 当前的版本是}.2o Struts提供了构建基于MVC的应用程序的基础或框架, 提 供了核心的MVC功能, 并附带了多个JSP标签库, 因此能够更快、 更轻松的开发 基于MVC的Web应用程序。 1.3本论文的研究目标和技术路线 本论文的研究目标是对Mvc模式进行深入研究, 论述MvC模式各个组成部 分(模型、 视图、 控制器)在软件开发中所担当的角色及功能, 将MVC模式与其 她软件框架模式进行比较, 深入研究具体实现MVC框架模型的Struts框架技术, 并将其应用于电子政务应用系统的开发中, 结合J2EE平台技术, 为电子政务应用 系统的开发提供标准的MVC框架开发模式。本文中使用的开发实例是上海市外事 办公室电子政务系统的子系统—上海市因公护照签证管理信息系统, 此系统已经 成功部署运行。 1.4本论文的组织 本文的组织结构如下: 第一章引言。主要讲述电子政务系统开发的现状, 以及Mvc设计模式应用于 电子政务系统开发的现实意义。 第二章应用系统的体系结构。主要介绍应用系统的一般体系结构, 如传统 cps的两层体系结构、 Bas系统的三层体系结构以及基于】2EE平台的多层体系结 构。并根据对比给出了电子政务系统应该采用多层体系结构的理由。 第三章应用Struts具体实现MVC模式。本章将对设计模式的概念、 MVC设 计模式的核心思想和组成部分以及具体实现MVC设计模式的Struts框架进行论 述, 并详细论述Struts框架的核心组件及流程控制等。 第四章Mvc模式在电子政务系统开发中的实例。本章将以上海市因公护照签 证管理信息系统为例, 具体研究如何在电子政务系统设计开发中具体应用Mvc设 计模式及其具体实现架构s}r}框架。并介绍了系统本身的功能结构以及具体开发 中所解决的难题。 第五章总结与展望。本章总结全文, 指出本系统设计的不足及下一步工作的 研究重点。第二章应用系统体系结构 2.}传统CIS两层体系结构 在应用程序发展的早期, 由于受到硬件水平以及网络发展水平等外界因素的限 制, 以及对分布式系统没有过高的要求, 传统的应用系统开发普遍采用crs < Clientf Server客户端/服务器端)两层体系结构。其结构图如图2-1所示。图2-1 C/S两层体系结构 其中客户端负责向用户提供操作界面, 接受用户输入数据信息, 经过请求 ( Request )向服务器端发送数据, 接受服务器端的响应(Response), 并将响应 结果向用户显示。服务器端主要负责被动接受客户端的请求, 接受数据并进行响应 的逻辑处理, 以及数据持久化工作, 并发送响应, 将处理结果返回给客户端。 CIS(客户端/服务器)两层体系结构是一种通用的、 基于消息的模块化结构, 能够提高系统的灵活性、 可操作性和可扩展性[4]。客户端能够进行部分简单的逻辑 处理工作, 降低服务器端的工作负荷, 这在早期服务器端硬件水平不高的情况下, 确实具有较高的合理性。 但在实际应用中CIS已经暴露出一些弊端和缺点。由于CIS只有两层结构, 结 构比较简单, 只能适用于专用的或者小范围的局域网内部, 面向特定的用户群。但 随着网络的扩展, 对应用系统分布式性能的要求也随之提高, 因此CIS体系结构不 能够适应更广的网络应用环境。CIS体系机构不可避免的整体性考虑, 构件的重用 性要求不高, 可扩展性低。由于CIS体系结构决定了必须在用户机器上安装客户端 应用程序, 因此增加了系统开发和维护的难度, 从而增加了系统开发的成本费用。2.2 BIS三层体系结构 随着网络技术的迅速发展, 网络覆盖范围得到快速的扩展, 因此用户对应用系 统分布式的要求也随之提高, 另外, 应用程序的开发开始更加关注模块和构件的可 重用性, 以及逻辑结构的层次性.由于GS体系结构的应用系统一般适用于特定的 小型局域网, 构件重用性、 可扩展性低下, 以及开发和维护成本居高不下等在实际 应用中所暴露出来的种种问题, 己经明确说明GS体系结构己经不能够满足分布式 应用系统的开发要求。取而代之的是BIS (BrowserlServer浏览器用及务器)体系结 构。 Web技术经过了十几年的发展, 己经成为Internet和局域网的重要组成部分, 也为BIS体系结构的出现和广泛应用提供了前提条件。基于BIS的应用系统在用户 端取消了客户端软件的开发和安装, 取而代之的仅仅是在用户机器上安装浏览器 ( Browser)。但由于浏览器仅仅起到向用户提供交互界面的作用, 并不具有较强 的逻辑处理功能, 因此需要将逻辑处理功能转移到服务器端, 自然增加了服务器端 的工作负荷, 因此需要增强服务器端的设计与开发, 对服务器端再进行分层。服务 器端也逐渐分离成Web服务器和数据库服务器。BlS三层体系结构图如图2-2。图2-2 B/S三层体系结构 客户端浏览器(Browser)只负责为用户提供友好的交互界面, 搜集用户输入 参数, 在用户触发一定事件后, 向Web服务器t Web Server)发出HTTP请求 (HTTP Request ), 并将请求参数传送给Web服务器。 Web服务器主要负责商业逻辑处理, 接受HTTP请求参数, 调用响应的方法 进行逻辑运算, 并能够根据用户需要访问数据库服务器(DataBase Server)。在商业逻辑处理完毕后, Web服务器将处理结果经过H1TP响应(HTTP Response)发 送给浏览器显示给最终用户。 数据库服务器(DataBase Server)主要负责数据信息的存储工作。数据库服务 器从Web服务器中分离出来, 有助于减轻Web服务器的工作负荷, 也有助于系统 数据信息的管理组织。使得服务器端商业逻辑处理和数据信息处理相互独立, 层次 清楚, 有助于系统的扩展性的提高。 相对于GS体系结构, 基于BIS的应用系统更加容易建立在广域网上, 能够面 向不可知的用户。BIS体系结构要求系统构件相对独立, 能够较好的重用, 减少了 重复开发, 另外仅需要在用户端安装浏览器, 大大减少了系统开发维护成本。鉴于 以上优势, Microsoft推出全面支持网络的构件搭建平台, Sun和IBM也推出了 IavaBean构件技术, 使得BIS体系结构成熟完善, 大有取代GS体系结构的趋势。 随着越来越多的企业级分布式的事务处理要求的提高, 三层体系结构中Web 服务器的工作负荷也不断加大。需要继续对Web服务器的层次结构进行细分, 对 于细分的方法根据不同的技术平台而不同。本文的以下章节将着重研究基于}z>} 技术的细分方法。2.3基于J2EE的Web多层体系结构 网络的发展迫切需要有效的企业系统的开发, 构建出高质量、 高度可用的企业 应用, 多层体系结构应运而生。客户机不断被压缩, 逐渐被浏览器所替代, 因此也 促使在进行系统设计开发过程中更加注重服务器的设计与开发, 对服务器进行细 分。在技术方面, 应用服务器技术和容器组件技术的出现为企业级网络的分布式应 用提供了优秀的技术支持, 促使了这种趋势的发展和完善。 现在最流行和实用的分布式系统开发语言就是Javao Java语言从1995年出现 以来, 根据不同的市场需要, 己经发展成三个不同的应用平台:J2ME, IZSE, J2EE.其中J2EE (Java 2 Platform, Enterprise F.c}ition)是Suu公司联合多家I'T业 大型公司, 把所有与企业相关的标准、 API进行整合推出的企业级版本, 是一个开 发分布式企业级应用的规范平台, 为程序开发人员提供了一个多层次的分布式体系 结构和一系列开发技术规范。其中多层次分布式体系结构是指根据功能把应用逻辑 再进行细分, 每个层次支持相应的服务器和组件, 组件在分布式服务器的组件容器 中运行, 容器间经过相关的协议进行通讯, 实现组件间的相互调用。J2EE平台为 服务器端的细分提供了不同的组件、 容器以及规范, 例如JSP, Servlet组件及应用服务器容器, EJB组件及EJB容器等等, 各种不同的组件及容器部署在不同层次 上, 不同的层次能够部署在相同服务器或者不同服务器上。基于J2EE的Web多层 体系结构图如图2-3。图2-3 基于J2EE的Web多层体系结构 客户层能够是桌面应用程序, 也能够是基于Web的应用程序, 主要负贵向最 终用户提供友好的可视化交互界面。本文主要研究基于Web应用系统的体系结 构, 因此担任客户层角色的应该为Web浏览器(Web Browser ), 浏览器并不具备 完善的逻辑处理功能, 只是负责发送请求以及显示响应结果, 能够下载静态的 HTML页面或者由Web层生成的动态HTML页面, 属于一种瘦客户端。 Web层产生表示逻辑。根据用户请求, 接受请求参数, 并调用业务层处理单 元, 在获得处理结果后动态生成表示单元返回给客户层浏览器。J2EE平台为Web 层提供了JSP, Servlet组件及Web容器—应用服务器。JSP和Servlet组件接受 用户请求, 并根据逻辑处理结果产生动态的显示页面。应用服务器则负责对JSP, Servlet等组件的管理工作。 业务层主要负责处理应用的核心业务逻辑, 以满足特定业务领域的业务逻辑处 理需求。12EE平台为业务层提供了EJB组件及E1B容器。E3B组件能够接收请求 数据, 对数据进行复杂的逻辑处理, 如有需要能够将数据发送到企业信息系统层进 行持久化操作, 还能够根据需要检索数据, 返回处理结果。EJB能够分为三种:会 话Bean ( Session Beaa )、 实体Bean ( Entity Bean )、 消息驱动Bean ( Message Driven Bean )。不同的EJB负责不同的功能, 统一由EJB容器管理。一般情况下, 许多企业应用将Web层和业务层一起发布, 称为J2EE服务器。但ETB本身也存在内部结构复杂、 体积庞大的缺点, 因此在一般企业级应用系统中不建议使用 EJB作为业务层的处理组件, 而是建议进行轻量级开发。部分业务逻辑处理能够由 JavaBean组件以及应用服务器容器所代替, 从而降低程序开发难度, 但大型企业 应用依然建议使用EJB组件. 企业信息系统层(EIS Ties)是处理企业数据信息的系统软件, 包括ERP、 数 据库系统等等。主要负责对企业数据信息的管理、 存储等持久化工作。本文所要介 绍的上海市因公护照签证管理信息系统主要采用数据库系统。 基于J2EE的Web多层体系结构对原来的服务器端功能模块进行了合理的细 分, 并提供了完善的组件及容器管理机制, 能够有效地控制因重复开, 增强应用系 统的重用性, 充分发挥了面向对象开发的优势。J2EE经过提供统一的开发平台, 降低了开发多层应用系统的费用和复杂度, 同时提供对现有应用系统集成的有力支 持【5】【6】。2.4电子政务系统采用基于J2EE Web多层体系结构的理由 电子政务系统在实际应用中的易用性、 健壮性、 可重用性、 可扩展性是系统设 计首先考虑的问题【7】。因此既需要考虑更好的实现整个系统的设计开发, 也要考虑 到系统整体框架的特性以及未来的扩展性。基于J2EE的w}多层体系结构所具有 如下优势, 正好满足了电子政务系统以上要求: } . J2EE利用Java平台来简化企业解决方案的设计、 开发、 部署和管理等相 关复杂问题, 也就具备了Java语言”一次编写, 到处运行”的先天性优势, 12EE 平台本身具有平台无关性I【8】。. 2. J2EE平台提供了完善的组件, 提高了系统的重用性。随着经济的迅速发 展, 社会内容的不断丰富, 作为社会的管理者, 政府的管理职能、 地位和管理内容 也再不断的扩充变化。电子政务系统的需求也随之变化, 因此电子政务系统对重用 性和可扩展性的要求不断提高。J2EE平台利用组件技术和容器技术提高了系统模块的重用性, 能够方便的整合原有的电子政务系统, 避免了不必要的重复开发。 3.易于部属, 实用化。由于基于IEEE的Web多层体系结构压缩了客户端的 功能, 属于BIS结构, 在客户端只需要用户安装Web浏览器, 而且现在市场上的 主流操作系统都会绑定安装浏览器。另一方面, 由于业务的不同, 电子政务系统主 要面向于政府工作人员, 应用系统对工作人员的计算机水平不能要求太高, 直接使用浏览器就能够对电子政务系统进行熟练的操作。基于JzEE的Web多层体系结构 恰好满足了用户此种需求。 4.较强的健壮性和稳定性。电子政务系统一旦部署实施就需要全天候运行, 因此需要较强的稳定性和健壮性。多层次结构虽然不能保证其中一层出现问题, 其 她层次不受影响, 但最重要的数据信息作为单独的一层进行设计, 能够保证在系统 出现问题时, 原有的重要数据不会丢失。另外, 多层体系结构将服务器端工作负荷 和业务逻辑分布到不同层次上进行, 不同层次的模块单元能够部署在不同机器上, 避免了个别机器工作负荷太重的现象, 因此降低了系统出现问题的可能性, 提高了 系统的稳定性。 S, 节约系统开发成本.首先基于J2EE的Web多层体系结构使得开发人员不 再过多的关注客户端应用程序的开发, 只是需要设计用户交户界面即可, 节省了系 统开发在时间和人力上的开销。另外)2EE平台为程序开发人员提供了友好的功能 完善的组件及其容器, 开发人员能够从内部细节实现中解脱出来, 更加关注系统整 体逻辑设计。最后此种体系结构提高了系统的重用性和扩展性, 能够较好的整合原有系统, 避免不必要的重复开发, 从而缩短了开发周期, 节约了开发成本。 鉴于以上优势, 基于J2EE的Web多层体系结构已经成为进行电子商务、 电子 政务等基于wpb开发的首选方案。本文中所研究设计的上海市因公护照签证管理 信息系统也采用此种体系结构。解决了系统的体系结构问题, 下面的章节将研究系 统将采用什么样的设计开发模式。 2.5本章小结 本章按照软件体系结构从简单到复杂的顺序, 首先简单介绍了传统的GS两层 体系结构, 针对于GS两层体系结构所暴露出来的缺陷, 对比介绍了更加实用的 sls三层体系结构。12EE平台的迅速发展, 基于J2EE平台的多层体系结构由于具 备成熟的组件及其容器技术, 迅速发展起来, 逐渐成为开发Web应用系统的首选 体系结构。这也是本章重点介绍的部分。本章的最后, 结合基于J2EE的多层体系 结构的优点, 给出了电子政务系统开发采用此种多层体系结构的原因。第三章应用Struts实现MVC模式 3.1软件设计模式概述 确立了系统的体系结构, 了解到系统的关键部分已经集中到服务器端的各个层 次的设计与实现, 就需要一定的规范来帮助系统设计和开发人员对服务器端进行合 理的设计与开发, 这就涉及到采用何种设计模式的问题。设计模式的概念最初来源 于城市建筑模式, 但也同样适用于面向对象的软件开发中。在面向对象的软件开发 中, 设计模式就是特定环境中标准设计问题的重复性解决方案门。设计模式能够帮 助开发人员在特定的环境里整理系统设计与开发过程中所面临的问题以及欲采取的 解决方案, 为系统开发抽象出一种模型, 并能够复用。每一个模式描述了一个不断 重复发生的问题, 以及该问题解决方案的核心, 并能够一次一次的使用该方案而不 需要重复开发。每个模式是由三部分组成的一个原则, 这个原则描述特定环境、 问 题和解决方案之间的关系[8】 设计模式的基本思想就是, 公共的”习惯用法”在软件设计中被不断重复发 现, 因此这些模式应该被有意识的归纳整理, 并用于类似的问题的解决上, 一般而 言, 设计模式具有四个基本要素【9】. 1.模式名称(Pattern Name ) 一个助记名, 用一两个词来描述模式的问题、 解决方案和效果。命名一种新的 模式就会增加一个新的设计词汇。设计模式允许开发人员在较高的抽象层次上进行 设计。基于一个统一的模式词汇表, 开发人员之间就能够在讨论模式并在编写文档 时使用。模式名称能够帮助开发人员思考, 便于交流设计思想和设计结果, 找到恰 当的设计模式名称也是设计模式编写工作的难点之一。 2, 问题(Problem ) 描述应该在何时使用设计模式。它解释设计问题存在的前因后果, 它可能描述 特定的设计问题, 也可能描述导致不灵活设计的类或者对象结构。有时候, 问题部 分会包括使用模式必须满足的一系列先决条件。 3.解决方案(Solurion ) 描述设计的组成成分, 它们之间的相互关系及各自的职责和协作方式。因为模 式就像一个模版, 可应用于多种不同场合, 因此解决方案并不描述一个特定而具体的设计或实现, 而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组 合(类或对象组合)来解决这个问题。 4.效果(Consequences) 描述模式应用的效果及使用模式应权衡的问题。尽管描述设计决策时, 并不总 提到模式效果, 但它们对于评价设计选择和理解使用模式的代价及好处具有重要的 意义。软件效果大多关注对时间和空间的衡量, 它们也表示了语言和实现问题。因 为复用是面向对象设计的要素之一, 因此模式效果包括它对系统的灵活性、 扩充性 或可移植性的影响, 显式的列出这些效果对理解和评价这些模式很有帮助。 设计模式都是从实践经验中抽象而来, 是被”发现”, 而不是”写作分出来 E1el。设计模式不单描述对象, 而且描述对象之间的通信方式, 并能够重用, 使得 更加简单方便的复用成功的体系结构, 也使新系统的开发者更加容易理解设计思 路, 这也是设计模式得到市场和开发人员认可的重要原因。3.2 J2EE Web设计模式 如上所述, J2EE平台为B/S系统开发提供了各种成熟的组件及其容器技术, 逐渐成为开发Web应用程序的主流。在应用J2EE平台开发Web应用程序时经常 提到设计模式Model 1和Model 2, 下文将对这两种具体的设计模式进行简单的介 绍。 3.2.1 Web设计模式Model 1 J2EE平台向程序开发人员提供了JSP组件。在ISP发展早期, 由于其便于掌 握而且能够便捷的进行Web应用程序的开发, 很快成为基于】2EE的Web应用程 序的主要技术。在JSP页面中能够很容易的同时实现内容的显示, 业务逻辑的处理 以及流程控制, 从而快速的完成应用开发。因此在早期的BIS应用程序服务器端模 块几乎全部由JSP文件组成”i1, 这种以JSP文件为中心的设计模式就叫Model 1. 设计模式Model 1的结构图如图3-1所示。 图3-1 Model 1结构图 Model I的基础是JSP文件.首先JSP文件接收到浏览器的Request请求, 从 I-ITTP的请求中提取参数, 调用相应的业务逻辑处理HTTP会话, 其中相应的业务 逻辑处理单元或者数据库访问操作等也是JSP文件, 也可能会借助一定的 JavaBean类来处理一部分比较复杂的业务逻辑, 可是大量的业务逻辑依然在JSP文 件中处理。另外, JSP文件或者JavaBean类都能够直接对数据库进行操作。最后生 成HTTP文档。一系列这样的JSP文件形成一个完整的Model 1应用。 在Model I中, JSP页面也能够独自响应请求并将处理结果返回客户。这个模 型简单易用, 能够能够很好的满足小型应用的需要。可是从工程化的角度考虑, 它 也有一些不足之处: (1)应用的实现一般是基于过程的, 一组JSP页面实现一个业务流程, 如果 要进行改动, 必须在多个地方进行修改。这样非常不利于应用扩展和更新。 CZ)由于应用不是建立在模块上的, 业务逻辑和表示逻辑混合在JSP页面中 没有进行抽象和分离。因此非常不利于应用扩展和改动。大量使用Model 1, 常常 会导致页面被嵌入大量的Java代码。特别是当需要处理的业务逻辑比较复杂时, 情况会变得非常严重。对于Java程序员来说, 这不算大的问题, 但如果开发者是 前端界面设计人员, 则代码的开发和维护将出现困难。在任何项目中, 这样的模式 总会导致定义不清的响应和项目管理的困难, 因此不能满足大型应用的要求。 为了解决Model 1紧祸合、 复用性差和维护成本高的问题yz}, 在开发大型系统 中必须采用另外一种设计模式, 这就是Model 2v3.2.2 Web设计模式Model 2 Model 2表示的是基于MVC模式的框架(如图3-2所示[13b。"Model”代表应 用的业务逻辑。" View”代表应用的表示面(由JSP页面产生)."Controller”是提供应用的处理过程控制, 负责接受客户端web浏览器发送来的所有请求, 并依据 处理意见的不同结果, 转发到对应的JSP页面实现在浏览器客户端的显示。经过这 种设计模型把应用逻辑、 处理过程和显示逻辑分成不同的组件实现, 这些组件能够 进行交互和重用, 从而弥补了Mode11的不足。Model 2具有组件化的优点从而更 易于实现对大规模系统的开发和管理, 可是开发这样的系统要比简单的JSP开发复 杂的多, 它需要更多的时间学习和掌握。这就要求开发人员必须以基于组件的方式 思考和设计应用系统的结构。原来经过建立一组JSP页面就能实现的应用现在需要 对功能模块重新划分, 需要变成多个步骤地设计和实现过程。其次的页面和组件必 须在这种框架下实现, 因此相应的增加了附加开发的工作。 图3-2 Model 2结构图 由结构图能够看出, 该设计模式的优势是很明显的。首先, 它将计算和显示清 楚地分开了, 在JSP页面上没有出现处理过程, 在业务逻辑或商业逻辑中没有数 据格式。这种分离的另一个好处是程序员能够专注于后台逻辑单元代码的开发, HTML编写者能够专注于用户界面JSP的开发。其次控制器负责控制转向。在页 面和逻辑中不会出现任何决策, 这就提高了一个应用程序的性能和可扩展性, 因为 请求能够被导向架构的不同的组件, 甚至是不同的服务器。 Model 2具体实现了MVC设计模式的大致思想。MVC模式在交互式系统开发 中具有强大的优势, 因此被开发人员逐步引入J2EE体系之中, 成为J2EE进行交 互式应用开发时, 特别是Web应用开发时的一个非常重要的设计模式。下面就对 MVC设计模式进行详细介绍。}r}n基本设计模式 MVC (Model-View-Controller)设计模式, 即模型一试图一控制器模式, 源· 传统的面向对象语言smallTalk-80, 早期它主要用于设计用户界面, 是一个经典泊 设计模式114]。由于使用该模式设计的界面具有多窗口、 交互式等特点, 在20世燕 80年代初期被许多系统采纳, 如Macintosh和Windows。随着软件设计模式的出 现和完善, 以及面向对象技术的成熟, MVC设计模式逐渐成为一种较完善的面卜 对象设计模式, 它所应用的范围也不再局限于界面设计。MVC设计模式是设计弓 互式应用时广泛采用的一种设计模式, 也是J2EE平台推荐在开发Web应用时使 的设计模式。Sun公司推出的J2EE平台是- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子政务 系统 设计 模板
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文