维普资讯 http://www.cqvip.com 第24卷第5期 计算机应用研究 Vo1.24.No.5 2007年5月 Application Research of Computers May 2007 一个面向电子政务的信息交换 与共享平台的 设计与实现术 莫赓 ,钟华 ,魏峻 (1.中国科学院软件研究所软件工程技术中心,北京100080;2.中国科学院研究生院,北京100049) 摘要:基于J2EE、XML等技术,设计并实现了一个面向电子政务的信息交换与共享平台。对平台的总体结 构、元数据定义与管理、数据交换模式等关键问题进行了论述,最后给出了平台的模块实现。该平台已经应用于 北京市信息资源管理中心,实现了遥感信息、D-g-图层、企业基础信息等资源的交换与共享。 关键词:信息交换;元数据;可扩展标记语言;轻量级目录访问协议 中图分类号:TP393 文献标志码:A 文章编号:1001-3695(2007)05—0156—04 Design and Implementation of Information Exchanging and Sharing Platformfor E—Government MO Geng ,ZHONG Hua ,WEI Jun (1.Technology Center ofSoftware Engineering,Institute ofSotfware,Chinese Academy ofSconce,BeOing 100080,China;2.School foGradu。 ate,Chiense Academy of Sciences,Beiifng 100049,China) Abstract:This paper provided a design and implement of information exchange and share service platform for e-government based on J2EE,XML.It discussed key problems;the system structure of the platform,definition and management of meta—da— ta,data exchange mode;and provided the implementation of platform function module.This platform had been applied in Bei— jing Ifnormation Resource Manage Center successfully,it realized data exchange and share of the following resources;remote sensing information,countries’map,enterprise basic information. Key words:ifnomration exchange;meta—data;XML(extensibl markup language);LDAP 异等。 0引言 为了使政府各部门之间方便地进行信息共享,本文提出了 一随着计算机技术发展和网络的普及,电子政务近几年得到 个基于J2EE的信息交换与共享平台。该平台作为政府部 了深入广泛的发展,各级政府和政府各部门建立了相应的业务 门之间信息共享的基础,提供标准的接口,可以使不同部门的 系统,收集了大量的信息资源。为了更好地为人民群众服务, 应用系统之间能够相互交换信息。同时,由于整合了各种信息 政府不断地追求更高更好的办事效率与质量。由于很多工作 资源,还能够在此平台上开发新的业务系统,如应急指挥、领导 涉及到多个职能部门问的协同配合,加强部门问的信息交流与 决策等,以更好地发挥政府职能。 共享是进一步提高政府办公效率的一个重要举措,也是政府信 1 平台的体系结构设计 息化建设面临的一个关键问题。 例如,跨部门协同的并联审批业务和会计核算系统涉及到 政府各职能部门通过信息交换共享平台进行业务数据资 工商、税务、质监等多个部门。如果实现了信息共享,就可建立 源的交换与共享。一方面各部门可向信息交换平台发布交换 合理的信息化流程,形成信息化条件下的互连工作机制,及时 资源,其他部门通过查询后获取已发布的资源;另一方面,部门 交换企业基础信息,使相关政府管理部门全面、准确、及时地掌 之间通过信息交换平台直接交换资源。所有资源的发布、交换 握企业基础信息,提高政府部门的监管能力和执法水平。 均由平台统一管理。在交换过程中,某些信息可以落地,即进 不同应用系统之间的信息交换与共享的难度很大,这主要 入平台的中央数据库中。在平台的中央数据库的基础上可以 是由于应用系统和信息资源的异构性造成的,包括硬件平台、 进行信息的整合,比如遥感信息、区县图层、企业基础信息等。 操作系统、数据库的异构性,也包括信息资源在语法、语义方面 这些落地的信息可以根据实际情况从无到有,不断积累,不断 的异构性,还包括各职能部门在业务特点、工作方式上的差 更新。这些资源对政务中新业务的开展是非常有用的。平台 收稿日期:2006.03.10;修返日期:2006.05.27 基金项目:国家“863”计划资助项目(2004AA112010);国家“973”计划资助项目 (2002CB3l2005) 作者简介:莫赓(1980-),硕士研究生,主要研究方向为网络分布式计算和软件工程(mogeng@otcaix.iscas.ae.ca);钟华(1971一),硕导,主要研 究方向为网络分布式计算和软件工程;魏峻(1970一),硕导,主要研究方向为中间件技术与基于中间件的软件开发方法. 维普资讯 http://www.cqvip.com 第5期 的业务流程如图1所示。 莫赓等:一个面向电子政务的信息交换与共享平台的设计与实现 <element nalTle=”abstract”tpe=”syting”/>r ・157・ 信息交换共享平台主要由元数据管理、交换服务、目录服 <element name=”descKeys”type=”me:resKeys”maxOccurs=”un— bounded”/> <element name:”spatDom”type=”string”minOccurs:”0”/> <element name=”Period”type=”me:resPeriod”minOceurs= ”0”/) 务、安全服务和平台管理等模块组成。平台的组成结构如图2 所示。下面对元数据管理、交换服务、目录与安全服务进行更 细致的描述,而平台管理模块负责各模块的配置,协调模块之 间的交互,管理平台日志,监控整个平台运行等。基于平台的 这些支撑模块,就可以整合已有的业务系统和开发新的业务系 统,满足政务信息交换与共享的需要。 Jl圜I垡皇二l 囵l垡皇三lI l图1信息交换与共享的业务流程 图2平台模块结构图 1.1 元数据定义与管理 元数据是对信息资源的结构化描述,其作用为描述信息资 源或数据本身的特征和属性,就像图书馆里的书和书卡一样。 书是具体的数据,书卡是元数据,每本书均有一张书卡与它对 应,上面描述了书的名称、作者、出版社、分类等相关信息。 平台基于元数据来存储各个职能部门的信息资源和相关 其他信息。一般来说,不同的职能部门有自己管理资源的系统 和方式,多是基于关系型数据库,使用大量的表来存储数据。 表之间的关系错综复杂,难以管理,可扩展性不强。在不同的 职能部门之间交换数据时,格式的统一也是一个问题。本文采 用元数据来描述平台中涉及到的所有数据。元数据管理就成 为平台管理的基础,也是实现平台其他核心模块的基础。 平台中元数据的Schema分为两部分:①核心元数据,采用 的是都柏林的元数据的Schema。这部分描述的是一些资源的 普通信息,由平台管理者维护。②行业元数据。这部分在不同 的行业就会有不同的Schema,在该系统中这部分能进行动态 改变,即允许用户注册新的行业元数据Schema,也可以修改已 注册的行业元数据Schema。这部分信息根据行业的不同而差 异很大,由资源提供者自行维护。元数据管理模块通过该 Schema对整个系统的元数据进行分级管理。 一个电子政务元数据的Schema如下: <schema targetNamespace=”http://localhost/share.xsd” xmlns-me=”http.//localhost/share.xsd” xmlns=”http://www.w3.org/2001/XMLSchema” elementFormDefauh=”qualiifed” <complexType name=”MetaType”> <sequence> <element name=”resTitle”type=”stirng”/> <element name=”PubDate”type=”date”/> <element name=”dataLang”type:”stirng”maxOccurs= ”unbounded”/) <element name=”reseat”type=”me:resCategory”maxOccurs= ”unbounded”/) </sequence> </complexType> <complexType name=”resKeys”) <sequence> <element name=”keyword”type:”string”maxOccurs=”unboun— ded”/> <element nalTle=”thesaName”type=”stirng”minOccurs=”0”/> </sequence> </complexType> <complexType name=”resPeriod”) <sequence> <element name=”begDate”type:”date”/> <element name:”endDate”type=”date”/> 、 </sequence> </complexType> <complexType name=”resCategory”) <sequence> <element name=”catecode”type=”stirng”/> <element name=”catestd”type=”stirng”/> </sequence> </complexType> <element nalTle=”Meta”type=”me:MetaType”/> </schema> 除了元数据的定义之外,元数据管理的具体功能包括元数 据的采集、检索、发布,以及元数据的增、删、改等。元数据的采 集有两种方式:一种是根据用户指定的网站进行信息采集,搜 索指定栏目,依据预定的标准生成相应的元数据并入库;另一 种是根据关系数据库中的字段生成相应的元数据。元数据的 检索主要包括关键字检索和组合检索。元数据发布可以让用 户按照某标准发布元数据,平台根据分类将该元数据入库。 1.2数据交换 整个系统的数据流在数据交换模块内实现。通过对政务 业务的分析,平台上的数据交换模式主要有三大类,即点到点、 点到多点和共享。这里的共享指的是各职能部门把自己的数 据上传到中央数据库中,其他职能部门可以从中央数据库中获 取需要的信息。为了实现这三类交换,笔者提供了三种主要的 交换模式: (1)基于消息/事件驱动的交换模式 基于消息/事件驱动的方式进行数据交换时可以按照如下 描述进行:运行于职能部门A节点上的数据库接口适配器 DBOutAdapter传感出所监控的数据表格发生了数据增量(插 入新的数据),增量数据被抽取出来并转换成XML格式文件, 经内容路由组件分发到不同职能部门,由数据转换组件(XSLT Transformer)转换成不同格式的XML文件,并插入位于职能部 维普资讯 http://www.cqvip.com -158・ 计算机应用研究 2007车 门B或c中的异构数据库中。发生数据更改或删除时,数据 同步原理一样。其交换模式示意图如图3所示。 — 联。但是如果Schema发生改变后,有可能原来的表就不能沿 用,可扩展性不是很好。而XML本身是一种完备的结构化数 据。XML Schema是用来描述一类XML文件的XML文件。 XML Schema定义了XML的文档结构,与DTD类似。但是由 部门A l 数据转换组件 于XML Schema支持数据结构和命名空间等多种功能,故比 DTD功能更强大,可扩展性更强。 在数据库方面笔者采用了Oracle 9i数据库的XDB。首 图3基于消息,事件驱动的交换模式不意图 先,根据元数据的Schema生成相应的XML Schema,并注册到 XML数据库中,就能依据这个XML Schema来组织元数据。每 (2)基于请求/,PJ应的交换模式 基于请求/响应的方式进行数据交换时可以按照如下描述 进行:各职能部门之间要进行数据访问时,发送部门的应用程 序(如目录服务)通过使用API接口函数将数据打包后发送到 个元数据均作为一个XML文件进行处理。在插人数据库时用 XML schema进行验证其合法性。由于每一条元数据均是一个 XML文档,元数据的查询不能像查询一般的关系表那样做。 在进行元数据查询时,笔者采用了XPath语言。XPath是用于 数据交换平台,通过平台路由和数据格式转换,转换为下一个 部门可以识别和接收的形式,运行于接收部门节点服务器上的 在XML文档中导航元素和属性的语言。XPath用路径表达式 在XML文档中导航。这种语言本身包含一个标准的内建函数 库。XQuery和XPointer均是基于XPath表达式基础之上的。 平台中的业务逻辑部分包括ControlCentre、RequestHandler、 MBean、AddHandler、SearchHandler、EditHandler、ShowHandler七 接El服务组件(Adapter)从数据库中获得数据并返回。 (3)发布/订阅的交换模式 发布/订阅的交换模式的流程是:职能部门可以把自己的 数据信息以发布的方式发布到平台,其他职能部门再通过订阅 的方式获取平台上发布的信息。其交换模式如图4所示。 一个类。 订 /,1 囹 囤画豆 (1)ControlCentre是一个HttpServlet的子类,用于接收用 户请求并转发到相应的业务逻辑处理类; 平台 订阅、1 主:三亟j I 图4发布,订阅交换模式示意图 (2)RequestHandter是一个接El,它申明了每个业务逻辑 处理的通用方法; 1.3目录与安全服务 (3)MBean类记录元数据的信息,与存储元数据的XML 形成一个对应关系; 目录服务主要包括管理数据信息、安全信息、Web服务信 息等主要内容。其中数据信息主要指通过元数据描述的数据 信息。笔者将元数据通过树状形式表现出来,使得浏览、查找 更有组织,层次清晰。每个节点均有自己的属性。这里的属性 是结构化的数据,能够存储用户、操作权限等相关信息。用户 (4)AddHandter类实现了RequestHandter接口,用于完成 元数据的添加功能; (5)SearchHandter实现了RequestHandler接口,用于完成 元数据的查询功能; (6)EditHandter类实现了RequestHandter接口,用于完成 元数据的编辑功能; (7)ShowHandter类实现了RequestHandter接口,用于完成 元数据的显示功能。 扩展性方面,当元数据的Schema发生改变时,只需改变相 可以通过节点的属性进行查找,效率极高。而安全信息是用 户、权限等信息,安全服务基于RBAC,通过安全信息的设置给 角色分配权限,给用户分配角色。 安全服务中的权限具有多样性,不仅包括平台上的具体操 作,还包括资源的可见性、元数据指标的可见性和数据有关的 权限信息。通过用户、角色、权限三者形成三级管理方式,使得 安全部分伸缩性很大 易于扩展和管理。Web服务的管理使 平台用户可以注册自己的Web服务,也可以在平台上查找已 注册的Web服务。 应的XML Schema即可。政府职能部门在批量向平台导人元 数据时,采用XML格式显然非常不方便。本文实现了XML与 Excel的互相转换模块。一般的职能部门大多喜欢使用Excel 整理数据。在用户导人数据前根据其Schema生成相应的Ex- cel模板供用户使用。这样用户提供给平台的实际上是一个 目录服务中不同用户的资源目录树是可以定制、修改的, 具有很好的个性化。每个目录分支的信息内容、状态是动态更 新的。用户可以定制自己关心的信息,而不是大而全地包括系 统所有可用信息的目录树。用户面对自己的资源目录树时能 一Excel文件。平台在检测数据的合法性之后再将其转换成相应 的xML文档。 交换服务结构比较复杂,包括消息服务器、业务流程管理 器、部署管理器、服务组合器、服务和安全管理器,以及种类繁 多的适配器等,并实现了上面提到的三种交换模式。交换服务 提供了数据描述、传输、安全DrJ/解密、转换、汇总、分发、转发、 目了然地知道哪些分支有更新,就能快速地掌握新的数据。 2平台实现 在平台的实现中,元数据部分采用XML格式进行存储,而 不是一般的关系数据库中的关系表。元数据本身有一些复杂 的数据结构,如结构体等。如果用关系表实现的话,结构复杂 一对等交换、同步、上传/下载、组装等功能服务,实现数据的高效 传输,并可防止数据的丢失、重传,简化应用系统的开发。交换 服务为相关的应用提供统一的数据共享途径,为每一个参与数 点的Schema就会要求使用多个表来表示,表之间用外键关 据共享的应用提供访问其所需数据的接口。由于交换体系隔 维普资讯 http://www.cqvip.com 第5期 莫赓等:一个面向电子政务的信息交换与共享平台的设计与实现 ・159・ 离了数据传输与数据访问和数据处理,提高了开放平台信息资 源的安全性。 用户管理实现系统用户的添加、删除、修改、查询等功能。 用户信息包括用户名(登录账号)、密码、用户单位和用户角 色。系统根据用户所属的单位和用户的角色来综合评定用户 使用系统资源的权限。其中,用户角色分为系统管理员、局管 理员、领导、发布者、使用者,.以及公务员。系统管理员具有最 在整个交换服务中,与应用紧密相关的功能实现类主要集 中在文件交换资源子模块。此模块主要是实现文件资源描述 信息的获取,文件到本地发送目录的拷贝,发送完毕后反馈信 息的获取和显示。最主要的类有FilelnfoGet、FileCopy、Feed. BackProcess PropertySetting、MessageSender InteractionSetting、 FileReceiving、RequestSender、RequestVerificalion、RequestTrans— 高权限,能够对整个系统平台的用户和资源进行管理;局管理 员只能够对本局的用户和资源进行管理,从而实现系统的二级 权限管理。该模块主要涉及的类有AddUser、QueryU、DeleteU、 ModifyU、PowerTestImp、GetSyslnfo等。 mitting、RequestRuleSetting等。 (1)FiMnfoGet负责获取并存储用户在发布文件时所填写 的有效参数信息。 (2)PropertySetting负责获取用户配置组件服务参数的接 口,通过此接口完成对FioranoESB所提供服务的配置。 (3)FileCopy负责实现将源文件传送至发送目录,由Fiora. noESB提供的文件传输组件来完成到达目的位置的传送。 (4)Interaclionsetting完成自动传输方式时,对服务所提供 的时间规则的设置。 (5)FileReceiving完成文件到达时向接收方显示提示信 息,内容包括整个资源的描述信息,用户可以通过选择接收和 拒绝来完成文件的保存和丢弃。 (6)MessageSender完成向服务器提交信息的功能,信息包 括服务配置信息和业务流程相关信息。 (7)FeedBackProcess负责将传输完毕后的信息提取出来, 根据信息类型加以区分,然后以一定的格式显示给用户。 (8)RequestSender实现请求/响应方式中请求信息的生成 和发送。 (9)RequestVeriifcation用于资源拥有方的请求格式与获 取的请求信息对照,判定是否给予传送。 (10)RequestTransmitting对不符合请求验证的请求信息发 送至服务器存储。 (11)RequestRuleSetting实现用户对自动响应请求的服务 设置响应规则。 交换服务支持的数据类型包括关系型、结构化、XML、消 息、文本数据、Web数据、矢量地图、影像、视频、音频等。传输 过程中均将其按照相应规则转换成XML格式的数据,提高了 异构平台系统间的数据兼容性。对关系数据库而言,能够通过 简单设置来完成不同数据库、不同表、不同字段之间的映射转 换,而且能够实现在映射过程中对映射结果进行多种运算操作 的功能,从而解决了异类数据库之间的数据转换、整合的问题。 目录服务基于LDAP标准实现,为系统管理员及各级用户 提供了标准的目录服务,便于实现系统的升级改造,降低了系 统集成的成本,具有良好的可伸缩性和可扩展性。该目录服务 支持四类10种操作:查询类操作,包括搜索、比较;更新类操 作,包括添加条目、删除条目、修改条目;认证类操作,包括绑 定、解绑定;其他操作,如放弃和扩展操作。用户管理子模块完 成用户信息的管理(主要是针对用户权限的管理),实现用户 安全认证、访问控制等功能。身份认证支持三种认证机制,即 匿名、基本认证和SASL(Simple Authentication and Secure La. yer)认证。 3结束语 2005年5月开始,该平台在北京市信息资源中心进行了 初步应用,实现了北京市电子政务信息交换共享平台,主要涉 及到遥感信息、区县图层、企业基础信息等资源。这些信息分 布在不同的服务器上,存储的数据库类型也不尽相同。信息交 换与共享平台较好地将这些资源整合起来。2005年1 1月,平 台成功地在北京市石景山区进行了部署,使用情况反馈良好。 基于信息交换共享平台还可以开发出一些新的政务应用, 如领导决策系统、应急指挥系统等,并作为政府门户的支撑系 统。例如,应急指挥即在出现重大疫情、灾情时需要各个部门 紧密配合与支持,齐心协力才能处理好突发事件。这样必然要 求各个部门之间信息共享 根据各部门的情况,把握全局,迅捷 作出反应。 本文设计并实现了一个面向电子政务的信息交换与共享 平台,探讨了平台的总体结构、元数据定义与管理、数据交换模 式等关键问题,并给出了平台的模块实现。平台中的一些关键 技术问题还需要进一步的研究、探讨,如数据冲突处理与一致 性检查、海量数据的存储与检索、多部门间的数据流转等。 参考文献: [1]HALEVY A,IVES Z,SUCIU D,et a1.Schema mediation in peer data management systems:proc.of the 19th International Conference on Data Engineering(ICDE 2003)[C].[S.1.]:[S.n.],2003:505— 516. [2]HAAS L M,LIN E T,ROTH M A.Data integration through database federation[J].mM Systems Journal,2002,41(4):578—596. [3]FAGIN R,KOLAITIS P G,POPA L.Data exchange:getting to the core:proc.of the 22nd ACM SIGACT SIGMOD SIGART Symp.on Principles of Datbaase Systems[C].[S.I.].[S.n.],2003:90—101. [4]史周军,叶晓俊.基于元数据的对象关系映射研究[J].计算机科 学,2005(5):95—97. [5]李志义.谈电子政务中基于XML的元数据[J].电子政务,2005 (7):34・38. [6]李少春,蒋泽军.J2EE环境下基于LDAP的访问控制的设计与集 成[J].微电子学与计算机,2005(3):118—120,124. [7]李澜.LDAP目录服务安全及研究现状[J].微电子学与计算机, 2005(6):48—52,56. . [8]陈祖龙.ESB奠定整合基础[J].软件世界,2oo5(7):48—48. [9]张繁,蔡家楣.电子政务系统中的数据交换和共享服务平台设计 [J].计算机工程与应用,2003(7):226—229.