首页 理论教育 电子政务系统的技术实现分析

电子政务系统的技术实现分析

时间:2022-09-09 理论教育 版权反馈
【摘要】:本节主要向读者介绍电子政务系统开发过程中涉及的一些技术手段。图3-11电子政务系统B/S结构图3.4.2.2Oracle ServerOracle Server是一个“对象-关系”数据库管理系统。

3.4 电子政务系统的技术实现

完成系统设计之后,余下的工作就是系统开发人员依照系统设计说明书,设计出电子政务系统了。这一阶段的主要任务包括:程序的编译、模块的集成、平台的搭建、网络的架设、系统的测试等。由于本阶段涉及大量的程序编制、系统调试,而且工作繁琐、可能涉及多次开发,所以在此不加赘述,读者可以参考相关书籍和资料。本节主要向读者介绍电子政务系统开发过程中涉及的一些技术手段。任何一个系统设计方案只有选择最佳的技术开发手段,才能使开发出来的系统给日常工作带来效率。

3.4.1 电子政务系统架构

3.4.1.1 系统架构概念

系统架构,简单地说就是提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。它是一个软件系统从整体到部分的最高层次的划分。一般分析一个系统的架构需要分解出以下三种成分:

(1)架构元件(Architecture Component),可以理解成电子政务系统中的各“模块”。

(2)联结器(Connector),这其实就是个模块之间的接口,它们通信的路径、机制以及预期的结果。

(3)任务流(Task-Flow),描述系统如何使用以上的这些元件完成某一项工作,也可以理解为对某一道工序的描述。

3.4.1.2 系统架构的种类

首先,“逻辑架构”,这是从比较低的层次来说的,这种架构划分了系统元件,定义了联结器、数据库表等,这是系统进入开发阶段的基础;从稍微高点的层次来说,选用“物理架构”,即定义系统各组成元件是如何分布到系统硬件上的,这种架构一般是针对大、中型项目而言的,对定义系统各个元件之间接口起到部分决策作用;架构的最高层次——“系统架构”,这道工序是最重要的。它主要决定了系统的非功能性特征,比如系统的可扩展性、可靠性、强壮性等。因为设计者要站在宏观的角度上对系统做出一个尽可能最优的设计决定,这里是最需要设计者丰富的系统架构经验的地方。

本书关于电子政务系统的架构,列举以下两种架构方法:

(1)B/S(Browser/Server)架构

目前最常用的是基于Internet/Intranet技术的B/S结构,如图3-11所示,这种模式采用了当今比较先进的三层(浏览器、应用服务器、数据库服务器)体系结构,利用WWW浏览器技术,结合浏览器多种Script语言和ActiveX技术,后台可以连接各种大型的关系数据库系统Oracle/MS SQL Server,因此它具有安全、强壮、易维护、可移植性和拥有巨大的存储能力等优点。

(2)C/S(Client/Server)架构

这种结构的组成和B/S结构差不多,区别在于,C/S架构需要在客户机上安装电子政务系统客户端,这会增加客户机的资源占用,而B/S结构只要求客户机能上网就可以了,不会增加任何的资源占用,安全系数要高一些。

3.4.2 数据库技术

目前常用的数据库技术有以下两种:

3.4.2.1 SQL Server 2000

SQL(结构化查询语言,Structured Query Language)语言的主要功能就是同各种数据库建立联系,进行沟通。SQL Server 2000是Microsoft公司最新推出的SQL Server数据库管理系统。具有使用方便、可伸缩性好、与相关软件集成程度高等优点;可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台。无论是用于应用程序开发,还是用于事务处理,它都具有快速、灵活的特点。

img17

图3-11 电子政务系统B/S结构图

3.4.2.2 Oracle Server

Oracle Server是一个“对象-关系”数据库管理系统。它提供开放的、全面的和集成的信息管理方法。每个Server由一个Oracle DB和一个Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。Oracle具有优异的性能以及抗压能力。

3.4.3 开发语言

3.4.3.1 Java

Java是Sun Microsystems公司推出的一种面向对象、分布式、解释、健壮、安全、可移植、性能优异和多线程的语言,同时它也是一种跨平台的程序设计语言,其核心是JVM(Java虚拟机,Java Virtual Machine)技术。Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。可以运行于任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。

3.4.3.2 C#

C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序。使用简单的C#语言结构,这些组件可以方便地转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。最重要的是,C#使得C++程序员可以高效地开发程序,而绝不损失C/C++原有的强大功能。因为这种继承关系,C#与C/C++具有极大的相似性

3.4.3.3 Javascript

Javascript是在浏览器客户端执行的、为适应动态网页制作的需要而诞生的一种新的编程语言。由Netscape公司开发,是一种脚本语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript短小精悍,又是在客户机上执行的,从而大大提高了网页的浏览速度和交互能力。

3.4.3.4 HTML

HTML(Hypertext Markup Language)即超文本标记语言,是WWW的描述语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML是网络的通用语言,是一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论他使用的是什么类型的电脑或浏览器。

3.4.3.5 XML

XML是eXtensible Markup Language的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据占用的空间更多,但XML极其简单且易于掌握和使用。

XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,而XML仅仅是展示数据,且其数据表现形式简单。

3.4.4 操作系统

操作系统是电子政务技术平台最为关键、最为核心的部分,其安全和性能直接影响着电子政务的实施。本书在此将向读者介绍四种比较常见的操作系统。

3.4.4.1 Windows

Windows作为现行主流的单机版操作系统,深受广大用户的喜爱,其操作界面简单易用,Windows XP Professional专业版除了包含家庭版的一切功能,还添加了新的、面向商业用户设计的网络认证、双处理器支持等特性。主要用于工作站、高端个人电脑以及笔记本电脑。从一般用户的角度去考虑,目前有九成的终端用户使用的都是Windows操作系统,因此选用Windows系统是适合大众的,很多用户没办法使用其他的操作系统终端。

3.4.4.2 Unix

Unix是一个强大的多用户、多任务操作系统,支持多种处理器架构。由于Unix具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特点,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。

3.4.4.3 Linux

Linux是一套免费使用和自由传播的类似Unix的操作系统,它主要用于基于Intel x86系列CPU的计算机上。绝大多数基于Linux内核的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序。Linux以其高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX可移植的操作系统接口(Portable Operating System Interface of Unix)标准的操作系统。另外,由于其源代码完全公开,很多国家已经采用它作为开发电子政务的平台。

3.4.4.4 RFSOS

红旗安全操作系统(RFSOS)是中科红旗公司和中科院软件所共同开发的,它基于国际CC标准并遵循我国相关标准,通过了公安部计算机信息系统安全产品质量检验中心的检验,达到TCSEC(美国可信计算机安全评价标准,Trusted Computer System Evaluation Criteria)B1级的安全操作系统等级。RFSOS具备了与国外同类软件产品竞争的实力,采用它来构建电子政务系统,是一项切实可行的措施。

3.4.5 Web服务器

3.4.5.1 Web服务器的选择

Web服务器是根据客户端浏览器的服务请求向其发送相关信息的设施。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。在电子政务系统开发中可以用到的Web服务器有很多,下面介绍两个比较实用的Web服务器:

(1)Apache

Apache是基于UMX体系的Web服务器。它将Unix的高性能在应用过程中很好地结合在一起。在多用户环境下Apache能十分自如地响应多个用户的并发请求。另外,Apache的虚拟服务器功能也能将多个Web服务器应用很好地通过一台主机实现,而不互相干扰。Apache服务器具有以下特性:

①支持最新的HTTP/1.1通信协议。

②拥有简单而强有力的基于文件的配置过程。

③支持通用网关接口。

④支持基于IP和基于域名的虚拟主机。

⑤支持多种方式的HTTP认证。

⑥集成Perl处理模块。

⑦集成代理服务器模块。

⑧支持实时监视服务器状态和定制服务器日志。

⑨支持服务器端包含指令。

⑩支持安全Socket层。

⑪提供用户会话过程的跟踪。

⑫支持FastCGI。

(2)Tomcat

Tomcat服务器是一个免费的开放源代码的Web应用服务器,具有以下优点:

①使用免费。

②开放源代码。

③支持最新标准。

④版本更新更快。

⑤可实现跨平台操作。

3.4.5.2 Web技术架构的选择

(1)Spring框架

Spring是一个开源框架。它的主要优势之一就是分层架构,分层架构允许选择使用哪一个组件,同时为J2EE(Java 2平台企业版,Java 2 Platform Enterprise Edition)应用程序开发提供集成的框架。Spring框架由七个定义良好的模块组成:Spring Core,Spring AOP,Spring ORM,Spring DAO,Spring Web,Spring Context,Spring Web MVC。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring框架的核心要点是:

①支持不绑定到特定。

②J2EE服务的可重用业务和数据访问对象。

(2)WebWork2

这种技术架构具有如下优点:

①灵活的Validation框架:允许在XML文件中定义验证内容,在运行时通过Interceptor自动应用,因此完全脱离Action类。新版支持客户端验证。

②Conversion:允许在类之间转换对象。

③OGNL(Object Graphical Navigation Language)表达式语言:允许动态对象图表遍历和方法执行,使用ValueStack透明访问多Beans的属性,同时它也具有使用JSTL(JSP标准标签库,JSP Standard Tag Library)的能力。

④IOC(Inversion of Control)容器:管理组件的生命周期,使客户获得组件实例不需要创建注册类。

⑤Velocity Templates:使UI(用户界面,User Interface)组件可重用。

⑥Interceptors:在事件处理的前后动态拦截,以简化事件代码,增加减少代码的机会。支持I18N。

⑦容易和第三方软件集成,包括Hibernate,Spring,Pico,Sitemesh等。

⑧支持多种视图技术,如JSP,Velocity,FreeMarker,JasperReports,XML等。

⑨支持Packages和Namespaces来管理事件。

(3)Struts框架

Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JavaServer Pages技术的一种Model-View-Controller(MVC)实现的。它具有以下优点:

①实现MVC模式,结构清晰,使开发者只需关注业务逻辑的实现。

②有丰富的Tag可以用Struts的标记库(Taglib),可大大提高开发效率。

③页面导航。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

④提供Exception处理机制。

⑤数据库链接池管理。

⑥支持I18N。

3.4.6 网络构建技术与网络安全及信任域技术

3.4.6.1 网络构建技术

采用星型网络拓扑结构,这种结构是目前在局域网中应用得最为普遍的一种,在企业网络中几乎都是采用这一方式。星型网络几乎是Ethernet(以太网)网络专用的,它因网络中的各工作站节点设备通过一个网络集中设备(如集线器或者交换机)连接在一起,各节点呈星状分布而得名。这类网络目前用得最多的传输介质是双绞线,如常见的五类线、超五类双绞线等。如图3-12所示。

这种网络拓扑图有如下优点:

(1)容易实现:它所采用的传输介质一般都是通用的双绞线,这种传输介质相对来说比较便宜,如目前正品五类双绞线每米也仅1.5元左右,而同轴电缆最便宜的也要2.00元左右一米,光缆那更不用说了。这种拓扑结构主要应用于IEEE 802.2、IEEE 802.3标准的以太局域网中。

img18

图3-12 星型网络拓扑图

(2)节点扩展、移动方便:节点扩展时只需要从集线器或交换机等集中设备中拉一条线即可,而要移动一个节点只需要把相应节点设备移到新节点即可,而不会像环型网络那样“牵其一而动全局”。

(3)维护容易:一个节点出现故障不会影响其他节点的连接,可任意拆走故障节点。

(4)采用广播信息传送方式:任何一个节点发送信息在整个网络中的节点都可以收到,这在网络方面存在一定的隐患,但这在局域网中使用则影响不大。

(5)网络传输数据快:这一点可以从目前最新的1 000Mbps到10G以太网接入速度可以看出。

3.4.6.2 网络安全技术

保障网络安全的技术有很多,如VPN虚拟专网技术、防火墙技术、入侵检测技术等。

(1)VPN虚拟专网技术

VPN(Virtual Private Network),即虚拟专网,指的是依靠ISP(Internet服务供应商)和其他NSP(网络服务提供商)在公用网上为一组用户或和一些点实现的一种专用通信网络。VPN的核心就是利用公共网络建立虚拟私有网。它可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。

(2)防火墙技术

防火墙技术是控制网络及其资源允许他人访问,防止未授权的访问。这种安全部件处于被保护网络和其他网络的边界,对进出的数据流按照其自身的访问控制规则进行过滤或其他操作。简单地说,即“符合规则的允许进出,不符规则的禁止进出”。防火墙技术不仅能保护网络资源不受外部入侵,而且还能拦截到从被保护网络向外界传输的不符合“规则”允许的信息。目前常用的防火墙技术有:包过滤技术、应用网关技术和代理服务器技术。

(3)入侵检测技术

由于网络环境的复杂性,单纯的防火墙技术无法满足系统对网络安全的要求,暴露出一些缺陷和不足,如无法解决安全后门问题、不能提供实时入侵检测、无法组织内部攻击等。因此,应采用入侵检测技术。入侵检测技术可以被定义为对计算机和网络资源的恶意使用行为进行识别和采取相应防护手段的系统,包括系统外部的入侵和内部用户的非授权行为。

3.4.6.3 网络信任域技术

目前,在对电子政务系统网络信任域的建设中,常用到以下几种技术:

(1)基于PKI的身份认证

在身份认证这一领域,目前世界上采用的主流技术就是基于PKI(公开密钥基础设施,Public Key Infrastructure)的身份认证机制。它为网络信任域中的所有用户和设备颁发PKC(公钥证书,Public Key Certificate),以此证明该用户和设备是合法的。对于网络信任域的构建,可采用基于PKI的加密密钥对和签名密钥对机制,采用符合ITU-T X.509 V4规范的证书格式。网络信任域系统可以将证书使用的范围从人扩展到网络设备,实现“一人一证、一机一证”的证书管理机制。可以说,基于PKI的身份认证机制解决了网络中“你是谁?”的问题。

(2)基于PMI的授权服务

基于PMI(授权管理基础设施,Privilege Management Infrastructure)的授权服务指向用户和应用程序提供授权管理服务以及提供用户身份到应用授权的映射功能。它可以采用基于PMI的属性证书机制,对用户和设备的身份及其授权和许可信息进行绑定,使应用系统与授权管理能够灵活方便地结合。可以说,基于PMI的授权机制解决了“你能做什么?”的问题。

(3)基于硬件形式的证书存储

网络信任域可以采用具有自主知识产权的硬件证书存储方式,将用户、设备的数字证书存储在客户端的实体鉴别密码器中。这种硬件证书具有传统的证书存储方式所无法比拟的安全性,是组建网络信任域时对用户终端PKI证书进行认证的专用支持设备。

(4)基于PKI和IEEE 802.1X标准的可信接入

网络信任域在网络的接入层可采用基于PKI身份证书验证的接入控制,实现可信接入。该可信接入完全遵循IEEE 802.1X标准,可实现基于端口的网络接入控制。IEEE 802.1X定义了利用IEEE 802局域网的物理特性,对以端对端方式连接到网络端口的设备进行认证和核准,阻止非法用户接入该端口。同时,它采用完全自主知识产权的嵌入式操作系统Diver EOS,在交换机操作系统层面实现了对PKI证书认证支持的无缝集成,创造性地将PKI与IEEE 802.1X标准进行有机结合,实现了以PKI证书认证为基础的基于端口的网络接入控制。

另外,在网络信任域的建设中,经常会用到基于PKI的可信传输和基于PKI的信任域综合管理系统等技术。

电子政务系统是一个大型的、复杂的系统,在其实现过程中涉及的技术也是非常多的,比如中间件技术、工作流技术、当前比较热门的基于J2EE的分布式计算技术、基于J2EE多层分布式应用开发环境等。在实际开发时,应根据各机构电子政务系统的切实需要来选择相关技术。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈