李春英,汤志康,常戈群
(1.肇庆学院 计算机学院,广东 肇庆 526061;2.广东技术师范学院 计算机学院,广东 广州 510665;3.北京宇思时代信息技术有限公司,北京 100086)
电子政务异构系统数据交换平台的实现研究
李春英1,汤志康2,常戈群3
(1.肇庆学院 计算机学院,广东 肇庆 526061;2.广东技术师范学院 计算机学院,广东 广州 510665;3.北京宇思时代信息技术有限公司,北京 100086)
以电子政务资源整合需求为背景,依托政府专网,基于XML,Web Services和IBM WebSphere MQSeries中间件等作为数据交换的技术基础,针对电子政务异构系统数据交换平台的内部结构、交换标准、安装配置、传输方式和接口以及信息发送和接收等问题,提出了简单可行、代价最小的实现方法.
XML;Web Services;MQSeries;异构系统;数据交换
在政府信息化过程中,对于少数部门的应用系统和数据与其他应用系统或数据异构,这里的异构是指不同系统或平台的部署实例在系统结构和实现上的差异,应采用基于异构的数据交换,可以在较短时间通过较少的投入,实现这部分系统与其他主流系统间的数据信息共享.异构数据交换具有平台配置和平台运行2类功能.平台配置包括设定发送和接收主体、设定发送与接收方式、设定传送时间、监控传输状态.平台运行包括组织待传输的数据、发送与接收,日志记录与管理等.其中组织待传输的数据包括异构数据源中的各字段信息与XML格式文件映射配置的实现、从各数据源中导出数据到XML文件的实现以及由XML格式的数据向关系型数据库导入数据的实现[1-2].通过数据的导入、导出操作实现了异构系统间的信息互动,使异构系统数据能无缝地迁移和交换,实现了信息的高效流转和利用.该异构系统采用XML,Web Services,IBM WebSphere MQSeries中间件,数字字典以及预定义功能,通过配置异构数据源的数据字段信息与XML标准格式文件的映射,打通了其与外部数据进行交换的出入口,实现了异构系统间异步的数据交换.
XML(eXtensible Markup Language)是针对包含结构化信息的文档而设计的一种标记语言.XML是元语言中的一种,所谓“元语言”,就是能够帮助不同个人和组织定制自己的标记语言的语言,定制后的标记语言可以用于特定的应用领域中实现信息数据的交换.XML已经成为数据组织和交换的实施标准.通过制订和执行基于XML的信息交换标准,可以很好地解决信息化领域中异构系统之间信息共享和数据交换问题[3].异构系统之间约定数据交换的XML格式,通过传送、接收和解析XML格式数据,实现异构系统间数据内容的传输和共享.
基于XML和Web服务的分布式电子政务数据交换需要建立多级数据交换中心[4],统一服务和管理,以保证服务的质量和安全性.数据交换中心采用Web服务技术进行服务组件和应用系统的包装,将系统的数据展示和需求都看作一种服务,通过服务的请求和调用实现系统间的数据交换和共享[5].
MQSeries是IBM的商用通讯中间件,它提供一个具有工业标准、安全、可靠的信息传输系统和应用程序接口API.其中信息传输系统是用于确保队列之间的信息提供以及网络故障或关闭后的恢复.应用程序和信息系统之间通过MQSeries API实现的接口进行连接,MQSeries API在所有MQSeries平台上是一致的[6],这为平台的实施提供了便利.利用MQ Series提供的codesetid,实现了平台间透明的数据转换;利用MQ Series提供的userid,保证了每条消息的安全.因此,使用IBM WebSphere MQSeries作为解决方案的技术基础,利用直接、简单的手段实现上下级电子政务异构系统间稳定可靠的消息传递、交换重要的数据信息、异步事务处理和并行处理应用等.基于MQ消息中间件技术实现的数据交换平台内部结构如图1所示.它由3部分构成:数据封装与拆卸、MQSeries和消息传输交换管理.数据封装与拆卸负责审批管理系统的业务件文档数据与MQSeries处理的XML文本数据按照审批系统接口规范进行相互转换.在MQSeries中建立总服务器与其他数据库服务器的发送、接收通道以及本地队列、远程队列、传输队列,MQSeries负责查看其发送队列中的内容,并按照规定的设置发送其内的XML数据;同时,MQSeries不断监视并接收传入的XML数据.消息传输交换管理提供对消息传输交换系统配置、监视的功能.
数据交换平台与政务运行平台或专门的软件系统是通过交换支撑数据库(主要由业务系统的关系表组成)关联起来的.政务运行平台或专门的软件系统对需要上报的数据资料(包括表格数据、文字材料、图文扫描件和各种图件)进行组卷,采用Web Services技术把要发送的组卷数据写到交换支撑数据库中,附件存放到指定的目录下,附件的一些描述信息也写到交换支撑数据库中(主要包含存放的路径和附件文件名等信息).政务运行平台调用交换平台的发送接口,把待发送信息的唯一标识符传给发送接口,发送接口根据唯一标识符整理要发送的信息,生成XML文件,根据XML文件中的内容找到发送的指定队列进行发送.发送完毕后把发送的结果写到交换支撑数据库中.交换平台根据接收到的信息类型进行分类处理,把接收到的XML文件及其他附件存放到指定的目录下,再把XML文件数据采用Web Service技术存放到交换支撑数据库中.政务运行平台从交换支撑数据库中读取接收到的信息进行签收确认,根据交换支撑数据库对附件信息的描述定位附件.统一的政务数据交换平台是一个具有工业标准的、安全可靠的异步数据传输系统,通过该数据传输系统能够实现各级电子政务系统之间业务件数据的交换和签收、办结等数据的传递.
图1 数据交换平台内部结构
为了便于实现异构系统间的数据交换,应根据系统需求分析制定数据的交换标准.如:统一业务件ID设置标准;统一的各种数据表的名称;统一规定材料和附加材料的名称;统一规定各种业务类型需要上报到上级的数据表、规定附加材料和补充附加材料;统一需要上报和下传的数据表的表结构定义;制定异构系统间数据的XML数据交换标准.采用标准的数据描述语言XML作为数据传输的标准,上传下递主要通过传递XML文件及扫描附件完成对业务件数据的传输.适合政务系统数据交换XML文件定义如下.
信息交换的安装配置相对复杂,需要配置的主要参数有:发送信息路径、接收信息路径、安装交换系统的机器IP地址、安装交换系统的机器名、创建队列的脚本文件、数据库连接字符串、数据库用户名、数据库用户口令、XML配置文件路径.数据交换平台生成一个包含这些参数的XML文件Tran-con.xml,供平台每次启动时使用.这个XML文件的结构定义如下.
在异构系统中考虑到编程语言独立性且需要与各自审批系统紧密联结,采用Web Service技术开发接口.接口服务程序基于Apache Axis开发,以Soap协议作为数据交换双方请求与响应的底层协议,以Soap信封作为交换具体内容的载体.下级接口开发方需要根据文本描述的内容,正确的生成/解释Soap请求/响应,因为接口服务本身提供WSDL,所以下级接口开发方可以在自身开发系统上生成该服务的客户端存根代码,并嵌入到各自审批系统当中.下级系统生成符合标准的XML上报件组装成Soap请求,发送到上级系统接收Web Service上,每次发送一个上报件,该服务将进行对上报件进行标准符合验证并保存至数据库中,根据验证结果返回成功信息或错误提示响应.Soap请求与响应提交请求,将上报件XML正文以二进制编码,作为receive Item操作的参数提交,同时提供用户密码作为验证信息.下级接收系统通过上级发送Web Service,获取的Soap响应内容编码为一个XML文件,当下级系统成功读取获取Soap响应后,上级发送服务即认为下级系统已正常获取XML内容,并从服务器端删除该XML文件.
交换平台提供一个描述要发送的基本信息与附件描述信息的JAVABEAN类,这个JAVABEAN类从交换数据库中读取要发送的信息;该JAVABEAN类根据读到的信息生成一个XML文件,把生成的XML文件存放到指定的目录下;JAVABEAN类传给交换系统后,交换系统依据JAVABEAN类中提供的附件描述信息与XML描述信息进行发送;交换系统发送完毕后,更新交换数据库中的记录,使原来的“等待发送”状态变为“已发送”状态.信息发送流程如图2所示.系统记录的发送信息的属性有:传输ID、标题、信息接收的目的地、发送时间、状态(已发送或发送失败)及备注(如出现错误,提示错误类型),根据发送状态及接收目的地对发送的信息进行分类.系统把发送信息日志首先记录到一个文本文件中,这个文本文件存放在交换系统的安装目录下.
交换平台接收到远端交换系统传输的信息后,依据传输的信息类型作相应处理:如果是消息回馈或错误消息回馈,则直接处理把传输的结果写到交换数据库中;如果是业务上报、业务签收、业务批复、退卷类型的消息,系统先把接收到的数据流转换为XML文件,并与附件文件一起存放到指定的目录下(目录的名字、文件的名字都从接收到的信息中得到),然后再从XML文件中读取信息写入交换数据库中.数据接收流程如图3所示.系统记录的接收信息属性有:传输ID、标题、发送地、接收时间、传输信息类型、备注(如出现错误,提示错误类型)等.系统把接收信息日志记录到一个文本文件中,这个文本文件存放在交换系统的安装目录下.
以电子政务系统数据交换为背景,利用XML平台无关性的特点,对基于Web Services,IBM Web-Sphere MQSeries中间件的数据交换平台进行分析,给出了数据交换平台的结构及主要功能的实现方法.该数据交换平台在某省布署实施,它以实现方法简单、快捷,代价最小等特点解决了电子政务异构系统间稳定可靠的消息传递、交换数据信息和异步事务处理等问题.它具有良好的可扩展性,可以适应各级电子政务系统不断发展的信息化需要,但目前也存在一些问题,如:标准滞后,使交换系统运行不平滑;部分功能还不能适应电子政务信息化工作的现状,通过报盘等方式进行弥补.本文作者的创新点是采用JAVA API调用Base64类的编码/解码方式以较小的代价实现了Web Service附件的传输.
[1] ANDREW W R A.XML Schema Essentials[M/OL].[2010-05-01].http://www.amazon.com/XML-Schema-Essentials-Allen-Wyke/dp/0471412597#reader_0471412597.
[2] REILLY O.Java and XML Data Binding[M/OL].[2010-05-01].http://std.kku.ac.th/4830401462/Ebooks/XML/O'Reilly%20-%20Java%20and%20XML%20Binding.pdf.
[3] 李冬睿,李梅.一种电子政务数据交换模型的设计[J].微计算机信息,2010,26(2-3):154-155.
[4] 刘艳辉,董碧丹,张峰.数据交换平台的分布式应用研究[J].计算机工程与设计,2009,30(16):3 780-3 782.
[5] 邵秀丽,韩建彬,阎促蹼.基于XML的异构数据源间数据交换的实现研究[J].南开大学学报:自然科学版,2007,40(3):9-12.
[6] 方义,朱颖,赵竞全,等.基于MQSeries的3层架构[J].计算机工程与设计,2006,27(20):3 751-3 753.
Research of Realizing Data Switch Platform for E-government Heterogeneous Systems
LI Chunying1, TANG Zhikang2, CHANG Gequn3
(1.School of Computer Science,Zhaoqing University,Zhaoqing,Guangdong 526061,China;2.School of Computer Science,Guangdong Polytechnic Normal University,Guangzhou,Guangdong 510665,China;3.Beijing Youth Information Technology CO.LTD,Beijing 100086,China)
Based on E-government resource integration requirement,relying on government special network,the technical basis for data switch based on XML,Web Services and IBM WebSphere MQSeries,etc.is put forward.Focused on several issues of data switch platform of E-government heterogeneous systems,such as Internal structure,switch standards,installation configuration,transmission mode and interface,information sending process and information receiving process,a simple and feasible and least costly way to achieve is proposed.
XML;web services;MQSeries;heterogeneous systems;data switch
图3 异构数据接收流程图
TP392
A
1009-8445(2011)02-0018-05
(责任编辑:徐生然)
2010-09-29
广东省自然科学基金资助项目(5300563,7010327)
李 湘(1973-),男,湖南浏阳人,化学化工学院副教授,博士.