【精品毕设推荐】基于JAVA_JSP的电子政务网系统的设计与实现

56 篇文章 1 订阅

点击下载原文及代码、PPT

摘  要

当前阶段,伴随着社会信息技术的快速发展,使得电子政务能够成为我国政府职能部门进行办公管理的一个重要内容,其中就包括了提升办公效率完善服务质量以及实现信息共享等。但是,虽然当前我国政府的信息化事业已经取得了初步的成效,能够依据不同的客观业务需求来实现信息系统的开发设计。但是,目前所存在的问题也是较为明显的,那就是这些信息系统彼此之间都是孤立的,难以做到协同工作,这就造成了比较严重的“信息孤岛”的现象,成为我国电子政务应用的一个巨大的障碍。想要解决这个问题,就需要实现电子政务“一站式”服务平台。    

本系统的目的是建立一个高效的平台,采用简洁高效的JSP技术与SQL server数据库等技术,设计和开发了这一库尔勒经济开发区电子政务网站。该网站前台包含领导信箱,表格下载,政务公开,便民电话以及留言板等功能模块;这些信箱都可以进入网站的管理后台进行维护。

本系统可以根据实际应用的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定

关键词:电子政务;Web;JSP

Abstract

The current stage, along with the rapid development of information technology society, making e-government to government departments to become an important element of office management, including the improved office efficiency and improve the quality of service information sharing and so on. However, although the current government's information technology industry in China has achieved initial results, can be based on different business needs to achieve the objective of information systems development and design. However, the current problems are also more obvious that between these information systems are isolated, difficult to work together, which resulted in a more serious "information island" phenomenon, and has become e-government Application of a huge obstacle. Want to solve this problem, we need to implement e-government "one stop" service platform.
    The system aims to establish an efficient platform for simple and efficient use of JSP technology and SQL server database technology, design and development of the Korla Economic Development Zone e-government website. The site contains lead-mail front, Forms, government affairs, as well as message boards and other convenience features phone module; these mailboxes can access the site for maintenance management background.
The system according to the practical application of the specific circumstances, be properly modified to better use. The system is simple, good flexibility, the system safe and stable operation.
Keywords: e-government; Web; JSP

1 绪 论

1.1 研究背景

推进信息化是我国加快实现工业化和现代化的必然选择,是关系到现代化建设全局的战略举措,是实现社会生产力跨越式发展的重大措施,是提高国际竞争力和综合国力的迫切要求,已被放在优先发展的战略地位。在国家信息化体系建设中,政府信息化是整个信息化中的关键,是优先发展的领域。而电子政务是政府信息化建设的重要内容,几乎覆盖了信息技术信息内容信息服务等产业的所有领域,又与改革开放发展等当代中国的重大问题密切相关,这就要求政府必须以战略眼光,从全局出发,来充分认识电子政务建设的战略地位理论价值和实践意义。

无论是发达国家还是发展中国家,都在顺应时代发展的潮流,把推进信息化建设作为增强综合国力和国际竞争力的重要举措,并将其提升至国家战略的高度。我国政府也确立了“大力推进信息化,以信息化带动工业化,以工业化促进信息化,走新型工业化道路”的国家战略。党的十六大明确提出,要“进一步转变政府职能,改进管理方式,推行电子政务”。国家信息化领导小组从我国的实际情况出发,明确提出电子政务要先行,以电子政务建设带动国民经济和社会信息化。由此,电子政务建设成为推动国家信息化的龙头工程,成为政府深化行政管理体制改革的主要动力和重要内容,也成为政府实现管理现代化的必由之路。信息化建设要从电子政务入手,以政府信息化带动信息化发展,“以信息化带动工业化”,这些都显示着电子政务建设的战略地位和意义。随着国民经济的发展和信息技术的进步,特别是电子政务建设的深入推进,我国各级政府网站内容日益丰富,功能逐渐增强。截至2007年12月,使用“.gov.cn”域名的政府网站总数发展到近3.5万个,25.4%的人访问过政府网站,即半年内有5334万人访问过中央政府或者地方政府网站? 。近年来,中国中央政府和各级地方政府对于电子政务建设的关注程度投资水平和推进力度都在不断加强,电子政务正成为促进政府职能从管理型政府向服务型政府转变的重要因素,政府网站也逐步成为政务公开的重要窗口和承建服务型政府的主要平台。然而我国政府信息化建设起步较晚以及信息化的地方差异,电子政务建设在飞速发展的同时也难免存在一定的不足与缺陷。政务部门在各自的信息系统建设中,多从自身业务出发来构建信息系统,业务数据固化于软件实现中,信息资源单独管理,造成了业务与数据的相对自我封闭,以致跨部门跨地区间大量事实性信息孤岛出现。可以看出,传统的电子政务模式存在方法欠灵活可扩展性弱,且部署与实施复杂程度高,不利于各取所需要求下的业务开展。同时在电子政务实际应用过程中,不同的应用系统受政务部门职能分割影响,重复管理重复维护,不仅使工作量大大增加,而且极易产生不一致现象,这些弊端都已经成为影响电子政务进一步发展的障碍。因此,跨地区跨部门的业务协同亟需开辟新的途径。

在传统的电子政务建设的过程当中,因为往往会受到各方面的技术条件的制约,再加上不具备完整统一的规划管理机制,使得各个部门所建设的办公系统一般都是互相独立的,未能实现和其他相关部门的信息交换,造成了政府部门办公效率低下,难以让广大服务对象满意。而在本课题中,则是重点构建了一个电子政务“一站式”的服务平台载体,而且这个平台载体还是相对灵活的,有着较强的可拓展性。能够有效的解决不同部门之间的信心集成应用问题,而且还能够实数据交换。这对于电子政府的系统整合来说,有着至关重要的关键意义。

1.2 研究意义

对于电子政务系统来说,其内在的要求是比较高的,比如由于受到自身数据量大系统复杂的影响,就在安全稳定数据交互分析计算等方面提出了较高的要求。在目前大部分的电子政务所应用的技术一般都是J2EE与Microsoft.Net Framework这两个主要的构建方式,属于企业级的应用平台,能够构建起来MVC三层架构的WEB应用系统。可以最大程度低减少信息应用集成以及系统开发的成本,从而给目前电子政务系统的构建提供了一个能够面向服务的体系结构。应用SSH,可以借助抽象以及具体的组合把,自身的电子政务进行组件化,这样就能够真正的实现跨平台即时业务流程对接。具体来说,在电子政务系统的构建方面,应用SSH当做架构基础能够有效的消除信息孤岛的现象,达成信息共享的目的;支持业务协同,促进职能的转变;并且能够对信息投资进行优化,从而减少用户所遇到的风险。这就能够有效的提升软件的可重用性,在具体的硬件软件的配置方面也有着较好的灵活性,从而能够在有效的满足当前政务需要的同时,还方便了日后的维修升级。

1.3 国内外研究现状综述

根据相关的调查结果显示,我国的省市级两级政府门户网站的建设率已达99%之高[2],而且伴随着信息技术的发展,我国的县级政府网站在最近几年也有着上升的趋势。这就能够有效的证明,我国电子政务信息基础设施已经得到了初步的建立,在一定程度上实现了政府部门的办公自动化。然而,由于在基层政府以及较低层次的政府下属机构里面,大多会受到资金不足以及领导忽视的原因制约,系统的软硬件设备难以及时的更新换代,网络办公的条件也比较落后,相关的管理人员能力水平不够,这就使得这些部门的办公自动化的实际效率大打折扣,难以做到让服务对象满意。

而在2006年我国将顶层规划思想引入之后,很快就应用到了“网站群建设”建设工程当中,再加上在政府主导之下每年都举办一次官方评价的排序活动,可以督促地方政府建立起来自己的网站系统,从而加快了我国政府部门网站建设的总体进程[3]。当前阶段,我国政府网站的总体建设水平已经取得了初步的成就,在很多方面都有了比较大的改观,相关的信息构建的概念以及“以用户为中心”的理念也能够被充分的应用到政府网站的实际建设过程当中。而伴随着我国政府网站信息公开得到加强,以及网上在线服务功能的逐步完善,使得广大人民群众对于电子政务也由开始的陌生,到现在的熟悉,同时也逐渐的认可起来。通过对哈尔滨天津北京等地区政府部门的电子政府系统服务的民众满意程度的相关调查能够发现,人民群众对于政府网站的满意度所受到的影响是多个方面的,其中不仅包括技术功能安全水平,还涉及到了普通公民自身的因素制约,比如学历职业年龄等。当前阶段,我国已经在义务教育阶段就开始设立了信息技术课程,某些地区还能够在广大的农村地区给农民设立各种信息技术培训班,这就能够在最大的程度上推广电子政务的应用。与其他的计算机信息系统相同的是,电子政务系统对于软件技术以及系统建设理念也逐渐的提高了标准。开始时候,电子政务系统主要是应用大型机集中运算,之后发展到了C/S(Client/Server)模式分布式计算,中间又经历了B/S模式的Web计算技术,从而实现了电子政务系统的层级提高。

1.4 电子政务的体系架构

  1. 电子政务公众服务是信息化进程的产物,它是政府机构在内部高度信息化的基础上,以政府门户网站作为平台和入口向公众提供的具有电子化特征的公共服务产品。经过多年的探索实践,政务公开网上办事和互动参与已成为当前政府门户网站的主要职能,进而成为电子政务公众服务的主要内容,其体系架构图如图1-1所示。电子政务公众服务的交互与信息系统的应用密不可分,政府门户网站是提供服务的主要载体和渠道,三大功能的实现程度直接决定了电子政务公众服务水平的高低,体现了政府职能转变与管理创新的意识和效果。

电子政务是一种政府的运作模式,一般而言,电子政务包括了两个方面的内容:利用信息技术,政府部门内部实现了办公的信息化管理;政府各部门之间以及政府部门与社会之间利用信息技术进行信息的充分共享,利用网络来进行政府服务。目前,对电子政务含义的解释一半存在以下几种:

(1)电子政务就是政府机关利用先进的通信技术以及信息技术,将政府部门内部或者部门与社会之间通过网络进行集成,利用网络将政府内部各部门的功能以及工作的流程进行重新整合以及优化,使得政府部门的工作能够不受时间空间以及部门功能的限制,为社会提供全方位优质透明的政府管理功能。简而言之,电子政务就是利用现代信息技术,以网络为核心,将传统的政府政务活动进行优化,从而达到提高政府管理效率与质量的目的。

(2)电子政务是现代政府部门在信息飞速发展的背景下,为了能够提高办公效率;提高工作质量;以及降低办公成本,而将政府的一部分功能(比如信息的发布信息的管理以及政府内部各部门政府内部和社会之间的沟通等功能)通过互联网技术来实现,电子政务就是政府利用先进的信息技术,通过计算机网络来进行行政等内部管理功能,建立起政府内部以及政府内部和公众之间的有机服务体系。

从上面国内外对电子政务的定义我们可以看出:现代信息与通信技术是目前电子政务的核心;电子政务的主要目的在于提高传统行政管理的效率行政管理的质量以及降低传统行政管理的成本。

因此,我们可以将电子政务的定义概括为:电子政务就是政府部门为了提高传统行政管理的效率行政管理的质量以及降低传统行政管理的成本,为了消除政府行政在时间空间以及部门分割等限制,利用先进的现代信息网络技术,社会提供优质透明规范的管理和服务而建立的电子信息系统。

1.5 目前我国政务所面临的问题

我国在经历了电子政务的基础建设以及应用系统的建设热潮之后,目前我国电子政务面临最大的问题是进行信息资源的整合。只有利用先进的信息技术,来进行各部门信息的沟通,实现业务中各部门信息的共享,才能不断完善我国电子政务建设,达到电子政务提高政务透明度降低办公成本的目的。

目前,通过我国电子政务的现状分析,我国电子政务在信息共享以及信息的及时沟通方面还有很大的缺陷。随着信息技术的不断发展,政府也在不断的利用先进的技术来努力消除各部门之间的信息壁垒。但是这种努力并没有一个统一的规范,对于不同平台不同规范的电子政务系统而言,并没有从根本上来解决异构系统之间信息交互的问题。总的来说,目前我国电子政务系统正面临了信息孤岛以及一体化问题。

政府各部门之间不仅运行的平台不统一,而且其采用的数据格式也各自不同,因此,很难将各部门之间的孤立信息进行快速的出传递。很难建设一个各部门统一的的政府电子政务系统,不能提供一站式的服务,不能从根本上提高政府机关的办事效率。因此,目前,我国电子政务系统迫切的需要建立一个统一规范的电子政务平台接口,采用统一的标准化语言来描述电子政务系统,从而提高政府部门的办事效率,降低政府部门的办公成本。

另一方面,我国电子政务系统对自身数据的安全性重视不够,由于电子政务本身的特点就是开放性的,因此,系统内部的数据很容易被未授权的第三方窃听以及篡改。由于有的电子政务系统对安全性的中实行不够,导致了许多政府部门内部敏感的信息没有按照国家安全管理的规定来严格执行,存在了非常大的安全隐患。还是采用防火墙,网络隔离等传统的安全措施,并没有从系统设计的角度来对电子政务系统进行规范。

1.6 主要研究工作

本论文的主要研究工作包括了以下几个方面的内容:

1.对电子政务的相关理论基础以及具体的实现技术进行阐释,在充分认识到传统电子政务实际应用情况之后,指出传统的常用架构的优势以及缺陷,并最终提出具体的解决策略。

2.重点进行了开发技术方面的理论研究,对J2EE的相关概念重要特征及其明显优势等方面都作出了详细的介绍,并且对在实际应用过程当中所涉及到的相关技术也作出了阐释。

3.在具体的参照了电子政务网站的实际应用的基础之上,采用了SSH架构的主体思想,设计并实现了一个能够被实际应用的电子政务网站。

4.借助对具体业务流程的相关描述,将具体的面向服务架构作为基础的中心,从而能够开发出来一个对外服务接口。

2 本系统采用的架构和主要技术

2.1 主要技术分析

2.1.1 J2EE技术的发展现状

J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境[7]

目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro EditionJ2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard EditionJ2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise EditionJ2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构J2EE技术的基础就是核心Java平台Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库JDBC APICORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对Java Servlets APIJSPJava Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能[8]

J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:

1. 保留现存的IT资产:

由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA TuxedoIBM CICS, IBM Encina,Inprise VisiBroker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 

2. 高效的开发:

J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。 持续性服务让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。 分布式共享数据对象CACHE服务-让开发人员编制高性能的系统,极大提高整体部署的伸缩性。 

3. 支持异构环境:

J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。 

4. 可伸缩性:

企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。 

5.稳定的可用性:

一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun SolarisIBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择

2.1.2 J2EE综述

J2EE是一个非常广泛而通用的标准,很大程度上简化了应用开发和移植过程,节省了系统开发的时间;计算平台支持Java语言,使得基于J2EE标准开发的应用系统可以跨平台地移植;J2EE提供了企业计算需要的几乎所有服务,且更加方便实用。由于J2EE具有的这些优点,用户可以根据需要方便地更新和定制符合企业项目特点的功能模块,从而使小区物业管理系统的通用性和实用性都能得到保证。

J2EE(Java 2 PlatformEnterprise Edition)是美国Sun公司推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着无法比拟的优势。Java 2企业版(J2EE)规范指出,J2EE是一个开发JSP(Java ServerPage)Servletweb应用的平台。另外,J2EE还描述了这些技术是如何协作来提供一套完整解决方案的。整个J2EE体系是构建在J2SE(Java2 Platform Standard Edition)的基础之上的,这表明J2EE的实现技术依靠的是J2SE所提供的标准API和运行时环境,这一点也保证了J2EE技术具有跨平台的可移植性和良好的兼容性。其次,彼此独立的模块代表了J2EE体系中的各种类型的容器。所谓容器,就是指为组件提供各种必要的底层服务支持的一个运行时环境。这些底层服务包括了支持数据库访问、消息服务、邮件服务、事务管理、安全性、远程访问支持等各个方面运行于容器中的组件,如AppletServletJSP等,依靠容器提供的这些底层服务来完成具体的业务逻辑。不难看出,在J2EE体系为开发人员提供了多种灵活的组件访问方式和数据访问方式。从组件间的访问关系来看,客户端既可以通过标准的HTTP协议访问Web容器组件进而访问ETB组件:从组件和数据的访问关系来看,客户端组件、web容器组件都具备了通过标准的JDBC API访问数据库的能力

2.1.3 J2EE 的四层模型

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议??通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:

运行在客户端机器上的客户层组件;

运行在J2EE服务器上的Web层组件; 

运行在J2EE服务器上的业务逻辑层组件; 

运行在EIS服务器上的企业信息系统(Enterprise information system)软件

J2EE应用程序组件

J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE说明书中定义了以下的J2EE组件:

应用客户端程序和applets是客户层组件。

Java ServletJavaServer Pages(JSP)web层组件。

客户层组件

J2EE应用可以是基于Web的,也可以是不基于web的。在一个基子WebJ2EE应用中,用户的浏览器可以在客户层中运行,并且从一个Web服务器上下载Web层中的静态HTML,页面或由JSPServletS生成的动态HTML页面。

web 层组件

J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。 web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。 

业务层组件

业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理. 下图表明了一个enterprise bean 是如何从客户端程序接收数据,进行处理(如果必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。 

有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 消息驱动(message-driven) beans. 会话bean 表示与客户端程序的临时交互. 当客户端程序执行完后, 会话bean 和相关数据就会消失. 相反, 实体bean 表示数据库的表中一行永久的记录. 当客户端程序中止或服务器关闭时, 就会有潜在的服务保证实体bean 的数据得以保存.消息驱动 bean 结合了会话bean  JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息。

企业信息系统层

企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统. 例如,J2EE 应用组件可能为了数据库连接需要访问企业信息系统

2.1.4 J2EE的分布式应用技术

J2EE平台由一整套服务(Services)、应用程序接口(API)和协议构成,它对于开发基于Web的多层、分布式应用提供了功能支持:

1.组件/容器技术

这种基于组件具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式可为所有的组件类型提供后台服务。

J2EE应用组件可以安装部署到以下几种容器中去:

(1)Web容器管理所有J2EE应用程序中JSP页面和Servlet组件的执行。Web组件和它们的容器运行在J2EE服务器上;

(2)应用程序客户端容器管理所有J2EE应用程序中应用程序客户端组件的执行。应用程序客户端和它们的容器运行在客户端机器上;

(3)Applet容器是运行在客户端机器上的Web浏览器和Java插件的结合。

容器设置定制了J2EE服务器所提供的内在支持,包括安全,事务管理,JNDI(JavaNaming and Directory Interface)寻址,远程连接等服务,以下列出了最重要的几种服务:

(1)J2EE事务管理(Transaction Management)模型让你指定组成一个事务中所有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元。

(2)JNDI寻址(JNDI Lookup)服务向企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以访问名字和目录服务。

(3)数据库连接池(Database Connection Pooling)模型是一个有价值的资源。获取数据库连接是一项很耗时的工作,而且连接数非常有限。容器通过管理连接池来缓和这些问题。

2.ServletJSP

JSP(Java serverpages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XMLtagsScriptlets,来封装产生动态网页的处理逻辑。网页还能通过tagsScriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSPJava Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求n以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java servletJSP的技术基础,而且大型的Web应用程序的开发需要Java ServletJSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

Java Servlet:Servlet是一种小型的Java程序,它扩展了web服务器的功能。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而Servlet全部由Java写成并且生成HTML

(1)JSP技术的强势

一次编写,到处运行。在这一点上JavaPHP更出色,除了系统之外,代码不用做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。它具有强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,其中一些己经可以顺利的运行于多种平台之下。

(2)JSP技术的弱势

ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是最低性能价格比了。另一方面,它还需要硬盘空间来储存一系列的.java文件和.Class文件,以及对应的版本文件。

3.数据库访问

JDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,像ODBC一样,JDBC对开发者屏蔽了一些细节的问题,另外,JDBC对数据库的访问也具有平台无关性

2.2 软件体系结构

软件的设计不但要考虑到软件系统的功能,更重要的是软件的可修改性、可重用性和可靠性等非功能性问题。软件体系结构的好坏直接关系到软件性能的好坏。软件系统的体系结构定义了系统的可计算部件及其相互关系。部件是系统中的一些个体,如客户、服务器、数据库等。在这一层次的部件间的交互可以是简单的,如过程调用及共享变量访问等也可以是复杂的、语义丰富的,如客户服务器协议、数据库访问协议等。体系结构不仅说明了系统的构成和拓扑结构,它还显示了组成系统的元素与系统需求之间的关系,而且体系结构还说明了部件和关联之间的结构和语义的区别[13]。

分层体系结构是大规模系统的多层次结构,分层还提供了一个管理软件复杂度及重用的方法。分层体系结构一般用于大规模系统,一般这些系统都有强烈的管理系统变化和复杂度的要求。由于分层系统登记形式的组织形式,是每一层都给上层提供服务,对下一层则作为一个客户存在。连接件则由协议来定义,决定层与层之间如何交互。分层系统具有多个良好的特性,它支持基于不断增长的抽象层次的设计。

这允许应用者将一个复杂的问题分解成一系列递增的步骤。当一个系统可以分成若干个由清晰的边界定义的区域时,分层系统可以应用在上面。一般情况下,由于复杂度、多软件包和平台的差异,并不希望应用开发人员知道系统中每个软件层次的细节,分层则正好提供了管理每个个人开发者复杂度的体系结构边界。其次,它支持提升。另外,它也支持重用。如抽象数据类型一样,它允许被同一层的不同应用交互使用,而且使它们可以支持相邻层的相同接口,这使得用不同的应用程序建立标准的层间接口成为可能。一个分层体系结构可以产生在应用服务的深度和广度上而得出的信息系统的模型。

2.2.1 Struts2体系结构

Struts2使用了WebWork的设计核心,大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。图2.2是Struts2的体系结构简图。 

Struts2框架的大概处理流程如下: 

1、浏览器发送一个请求。 

2、核心控制器FilterDispatcher根据请求决定调用合适Action。 

3、WebWork的拦截器链自动对请求应用通用功能,如验证等。

4、回调Action的execute方法,该execute方法根据请求的参数来执行一定的操作。

5、Action的execute方法处理结果信息将被输出到浏览器中,支持多种形式的视图。

2.2.2 此框架的优点

通过上面对Struts2体系结构的了解,我们发现Struts2框架适合要设计的系统。主要表现在如下几个方面: 

与Struts1相比,Struts2对Struts1进行了巨大的改进。 在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。Servlet依赖方面:Struts1的Action依赖于Servlet API,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于Servlet API,有利于测试,并且实现TDD。封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(Object Graph Notation Language)。绑定值到视图技术:Struts1使用标准的JSP,Struts2使用“ValueStack”技术。类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。Action执行控制的对比:Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的声明周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的声明周期[15]。

综合考虑,此系统运用Struts2框架结构。

2.3 运行环境与开发模式的选择

由于时间以及技术的关系,本系统前台采用JSP作为WEB开发平台。JSP是一项功能强大的,用于构建动态Web应用程序的技术[12]。JSP可完全利用JAVA架构的强大,安全,高效的平台特性。JSP是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(Early Binding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为JSP带来卓越的性能。

数据库开发系统采用Microsoft SQL Server 2005数据库。SQL Server是由Microsoft开发的一个功能强大的关系型数据库管理系统。它能够处理大量的数据和管理众多的并发用户,保证数据的完整性,并提供许多高级管理和数据分布能力。

2.3.1 SQL Server 2000数据库

SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本。它的特性包括:

1.Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。

2.可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。

3.企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。

4.易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。

数据仓库。 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据[17]。

2.3.2 基于B/S的体系结构

本管理系统采用B/S模式,服务器采用著名的web服务器端软件apache,该http服务器有着良好的跨平台性和安全性,可以运行在包括windows、linux、mac等操作系统上。用户客户端使用各种浏览器都能够进行正常的浏览和操作。需要注意的是在程序的开发过程中,程序和路径相关的要考虑到不同的操作系统的文件目录结构。

B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript等)和ActiveX技术,是一种全新的软件系统构造技术。 

B/S三层体系结构采用三层客户/服务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

3 系统需求分析

电子政务是新时期政府改革的重要手段,也是政府为民服务亲民执政的主要渠道。然而,一浪高过一浪的电子政务建设热潮并没有带来期望的效果,据有关专家分析,电子政务的成功率平均不到30%,低下的电子政务成功率不仅困扰着政府的决策者,也引起了世界范围内有关专家和学者的高度关注,各种相关的理论和方法已经开始用于电子政务系统的研究,如系统工程理论组织符号学理论与方法需求工程方法等。由于电子政务非常复杂,目前专家们还没有一个确定的共识,但普遍认同的是:电子政务属于信息系统,但不是一般的技术信息系统,而是一个复杂的社会-技术系统,并且,系统越大,功能越全,包含的社会成份越多,社会因素在系统中所占的比例就越大。同时,由于电子政务是人参与较多的系统,人的主动性和自学习性将引起电子政务的需求不断发生变化,使电子政务变得更为复杂。因此,电子政务绝不是技术本身能够解决的。Standish集团1996年提供的一份报告认为:在一个信息系统项目失败的各种原因及所占的比重中,与需求相关的原因占63%。这说明,信息系统项目失败的最常见的原因并不是技术原因,而是需求问题。既然电子政务是信息系统,需求问题自然也就成为电子政务的主要问题,并且,由于电子政务的特殊性和复杂性,使得需求问题表现得更加突出。因此,研究解决电子政务的需求问题是实现电子政务系统目标的有效手段,也是提高电子政务成功率的迫切需要。

3.1 电子政务自身特点

与一般信息系统相比,电子政务有许多特殊之处:(1)协调环节多。电子政务项目一般涉及多个不同的部门或一个部门的多个级别层次,以我国电子政务建设为例,分为纵向和横向两大类系统。纵向系统出自同一部门,但涉及中央省市县乡五级,由于各级政府的人力和资金存在级别及地区差量客户价值,然后对客户进行细分,针对不同价值的客户群体采取不同的客户关系管理措施。异,统一协调环节多,难度大;横向系统出自同一地区,但涉及不同的职能部门,由于受部门利益及对电子政务认识的影响,协调难度更加突出,部门之间或地区上下级之间的协调成为开展电子政务的最大瓶颈[20]。(2)影响因素多。影响电子政务建设的因素很多,主要有:①认识因素。认识是基础,人的认识不但受客观现状的影响,还受人的思想观点期望和偏好的影响。认识指导行动,行动影响结果,认识不足最终将影响系统的实际效果。如,对电子政务的重视留在口头上多,实际行动少;硬件投入多,软件投入少;重视“形象工程”多,关心实际效果少等。②体制因素。体制是行动的保障,体制不全或不顺,再好的认识也无法付诸实施,或收不到预期的效果。如,全国从上到下没有一个统一的电子政务领导与管理机构,各地机构设置混乱,领导变更频繁,不同的领导带来不同的思路,不同的机构采取不同的做法等。(3)变化频率快。目前中国正处在政府改革时期,新的政策新的规则随时都可能出现,每一次变革都对电子政务提出新的要求等。这些都是引起电子政务需求不断发生变化的因素。(4)服务范围宽。一般信息系统要达到的目标是为组织内部服务的实现组织自身利益的最大化,而电子政务除了需要为政府内部服务,实现政府自身办公自动化的目标外,还有一个很重要的目标是为社会公众提供服务,不仅要提供单项业务服务,还要提供多项业务的“一站式”服务。这种多业务的“一站式”服务需要政府单独建立一个综合性的平台,联通与此相关的所有政府部门的业务。这种高标准的服务大大增加了电子政务实现的复杂度。(5)安全要求高。电子政务涉及国家安全,对网络和信息的安全要求比一般信息系统高。按照信息的涉密程度,电子政务网络分内网专网外网互联网等,不仅这些网络之间需要安全地互联互通,分布在这些网络上的应用系统信息也要进行安全的交换,有些还涉及保密,这种高安全性和保密性的要求大大增加了电子政务建设的难度。(6)政策依赖性强。政府是依法行政的,电子政务建设也需要法律和政策依据。如,政府要建设阳光政府,首先要做到政务公开,这时就需要《信息公开法》。类似的法律和政策还有《个人隐私法》《电子签名法》《数据共享目录》《信息交换机制》等,但目前在法制建设方面还比较薄弱,这在一定程度上制约了电子政务的顺利开展。(7)决策周期长。电子政务项目通常是集体决策的,有些项目还需要逐级汇报,每一级的制约因素是不同的,因此,电子政务的决策过程比较长,而目前电子政务系统对变化的需求反应不敏感。

3.2 需求分析

解决需求问题的最有效的办法是采用工程化的方法进行电子政务系统开发,即用工程化的办法解决电子政务系统的需求问题。需求分析是工程化方法的核心内容,处在系统开发生命周期的最初阶段,是决定系统成败的关键。

3.2.1 需求分类

所有系统都有需求(Require-ment),需求可以分多个不同的层面,最顶层可分为用户需求信息需求和系统需求三个方面,用户需求包括业务需求和目标需求;信息需求分为角色需求任务需求资源需求和进度需求等;系统需求分为功能需求性能需求用户界面需求等[9]。如图3所示:

(1)业务需求(Business requirement)。

描述组织的业务流程改进所需要开展的活动,与组织的目标相关。在本文的研究中业务需求描述了为实现电子政务项目目标所需要进行的改进业务流程的工作。

(2)目标需求(Objective requirement)。描述了组织为什么要开发一个系统及组织希望系统色需求用于描述参与电子政务项目的利益相关者。

(3)任务需求,也称活动需求(Activity requirement)。描述组织为实现既定目标所需要开展的各项活动。在本文的研究中,任务需求用于描述电子政务项目的任务,即“做什么”。

(4)资源需求(Resource requirement)。描述组织在完成任务过程中所需要的各种资源。在本文的研究中,资源需求用于描述电子政务项目的软硬件环境需求。

(5)进度需求(Planning requirement)。也称计划需求,描述组织开展活动的时间安排。在本文的研究中,计划需求用于描述电子政务项目的进度安排。

(6)功能需求(Functional requirement)。规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,实现系统目标。

(7)性能需求,也称非功能需求(Non-functional requirement)。包括系统的性能指标,质量属性和约束。性能指标包括系统的开放性稳定性可维护性可扩展性安全性等。质量属性包括系统的可用性完整性效率和健壮性等。约束指限制系统实现的外部环境,包括资金人才资源条件政策措施等。(8)用户界面需求。用户界面需求是用户愿意使用软件的关键,友好的用户界面可以使用户方便有效愉快地使用该软件,从而发挥软件的作用。

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值