李春英,湯志康,常戈群
(1.肇慶學院 計算機學院,廣東 肇慶 526061;2.廣東技術師范學院 計算機學院,廣東 廣州 510665;3.北京宇思時代信息技術有限公司,北京 100086)
電子政務異構系統(tǒng)數(shù)據(jù)交換平臺的實現(xiàn)研究
李春英1,湯志康2,常戈群3
(1.肇慶學院 計算機學院,廣東 肇慶 526061;2.廣東技術師范學院 計算機學院,廣東 廣州 510665;3.北京宇思時代信息技術有限公司,北京 100086)
以電子政務資源整合需求為背景,依托政府專網(wǎng),基于XML,Web Services和IBM WebSphere MQSeries中間件等作為數(shù)據(jù)交換的技術基礎,針對電子政務異構系統(tǒng)數(shù)據(jù)交換平臺的內部結構、交換標準、安裝配置、傳輸方式和接口以及信息發(fā)送和接收等問題,提出了簡單可行、代價最小的實現(xiàn)方法.
XML;Web Services;MQSeries;異構系統(tǒng);數(shù)據(jù)交換
在政府信息化過程中,對于少數(shù)部門的應用系統(tǒng)和數(shù)據(jù)與其他應用系統(tǒng)或數(shù)據(jù)異構,這里的異構是指不同系統(tǒng)或平臺的部署實例在系統(tǒng)結構和實現(xiàn)上的差異,應采用基于異構的數(shù)據(jù)交換,可以在較短時間通過較少的投入,實現(xiàn)這部分系統(tǒng)與其他主流系統(tǒng)間的數(shù)據(jù)信息共享.異構數(shù)據(jù)交換具有平臺配置和平臺運行2類功能.平臺配置包括設定發(fā)送和接收主體、設定發(fā)送與接收方式、設定傳送時間、監(jiān)控傳輸狀態(tài).平臺運行包括組織待傳輸?shù)臄?shù)據(jù)、發(fā)送與接收,日志記錄與管理等.其中組織待傳輸?shù)臄?shù)據(jù)包括異構數(shù)據(jù)源中的各字段信息與XML格式文件映射配置的實現(xiàn)、從各數(shù)據(jù)源中導出數(shù)據(jù)到XML文件的實現(xiàn)以及由XML格式的數(shù)據(jù)向關系型數(shù)據(jù)庫導入數(shù)據(jù)的實現(xiàn)[1-2].通過數(shù)據(jù)的導入、導出操作實現(xiàn)了異構系統(tǒng)間的信息互動,使異構系統(tǒng)數(shù)據(jù)能無縫地遷移和交換,實現(xiàn)了信息的高效流轉和利用.該異構系統(tǒng)采用XML,Web Services,IBM WebSphere MQSeries中間件,數(shù)字字典以及預定義功能,通過配置異構數(shù)據(jù)源的數(shù)據(jù)字段信息與XML標準格式文件的映射,打通了其與外部數(shù)據(jù)進行交換的出入口,實現(xiàn)了異構系統(tǒng)間異步的數(shù)據(jù)交換.
XML(eXtensible Markup Language)是針對包含結構化信息的文檔而設計的一種標記語言.XML是元語言中的一種,所謂“元語言”,就是能夠幫助不同個人和組織定制自己的標記語言的語言,定制后的標記語言可以用于特定的應用領域中實現(xiàn)信息數(shù)據(jù)的交換.XML已經(jīng)成為數(shù)據(jù)組織和交換的實施標準.通過制訂和執(zhí)行基于XML的信息交換標準,可以很好地解決信息化領域中異構系統(tǒng)之間信息共享和數(shù)據(jù)交換問題[3].異構系統(tǒng)之間約定數(shù)據(jù)交換的XML格式,通過傳送、接收和解析XML格式數(shù)據(jù),實現(xiàn)異構系統(tǒng)間數(shù)據(jù)內容的傳輸和共享.
基于XML和Web服務的分布式電子政務數(shù)據(jù)交換需要建立多級數(shù)據(jù)交換中心[4],統(tǒng)一服務和管理,以保證服務的質量和安全性.數(shù)據(jù)交換中心采用Web服務技術進行服務組件和應用系統(tǒng)的包裝,將系統(tǒng)的數(shù)據(jù)展示和需求都看作一種服務,通過服務的請求和調用實現(xiàn)系統(tǒng)間的數(shù)據(jù)交換和共享[5].
MQSeries是IBM的商用通訊中間件,它提供一個具有工業(yè)標準、安全、可靠的信息傳輸系統(tǒng)和應用程序接口API.其中信息傳輸系統(tǒng)是用于確保隊列之間的信息提供以及網(wǎng)絡故障或關閉后的恢復.應用程序和信息系統(tǒng)之間通過MQSeries API實現(xiàn)的接口進行連接,MQSeries API在所有MQSeries平臺上是一致的[6],這為平臺的實施提供了便利.利用MQ Series提供的codesetid,實現(xiàn)了平臺間透明的數(shù)據(jù)轉換;利用MQ Series提供的userid,保證了每條消息的安全.因此,使用IBM WebSphere MQSeries作為解決方案的技術基礎,利用直接、簡單的手段實現(xiàn)上下級電子政務異構系統(tǒng)間穩(wěn)定可靠的消息傳遞、交換重要的數(shù)據(jù)信息、異步事務處理和并行處理應用等.基于MQ消息中間件技術實現(xiàn)的數(shù)據(jù)交換平臺內部結構如圖1所示.它由3部分構成:數(shù)據(jù)封裝與拆卸、MQSeries和消息傳輸交換管理.數(shù)據(jù)封裝與拆卸負責審批管理系統(tǒng)的業(yè)務件文檔數(shù)據(jù)與MQSeries處理的XML文本數(shù)據(jù)按照審批系統(tǒng)接口規(guī)范進行相互轉換.在MQSeries中建立總服務器與其他數(shù)據(jù)庫服務器的發(fā)送、接收通道以及本地隊列、遠程隊列、傳輸隊列,MQSeries負責查看其發(fā)送隊列中的內容,并按照規(guī)定的設置發(fā)送其內的XML數(shù)據(jù);同時,MQSeries不斷監(jiān)視并接收傳入的XML數(shù)據(jù).消息傳輸交換管理提供對消息傳輸交換系統(tǒng)配置、監(jiān)視的功能.
數(shù)據(jù)交換平臺與政務運行平臺或專門的軟件系統(tǒng)是通過交換支撐數(shù)據(jù)庫(主要由業(yè)務系統(tǒng)的關系表組成)關聯(lián)起來的.政務運行平臺或專門的軟件系統(tǒng)對需要上報的數(shù)據(jù)資料(包括表格數(shù)據(jù)、文字材料、圖文掃描件和各種圖件)進行組卷,采用Web Services技術把要發(fā)送的組卷數(shù)據(jù)寫到交換支撐數(shù)據(jù)庫中,附件存放到指定的目錄下,附件的一些描述信息也寫到交換支撐數(shù)據(jù)庫中(主要包含存放的路徑和附件文件名等信息).政務運行平臺調用交換平臺的發(fā)送接口,把待發(fā)送信息的唯一標識符傳給發(fā)送接口,發(fā)送接口根據(jù)唯一標識符整理要發(fā)送的信息,生成XML文件,根據(jù)XML文件中的內容找到發(fā)送的指定隊列進行發(fā)送.發(fā)送完畢后把發(fā)送的結果寫到交換支撐數(shù)據(jù)庫中.交換平臺根據(jù)接收到的信息類型進行分類處理,把接收到的XML文件及其他附件存放到指定的目錄下,再把XML文件數(shù)據(jù)采用Web Service技術存放到交換支撐數(shù)據(jù)庫中.政務運行平臺從交換支撐數(shù)據(jù)庫中讀取接收到的信息進行簽收確認,根據(jù)交換支撐數(shù)據(jù)庫對附件信息的描述定位附件.統(tǒng)一的政務數(shù)據(jù)交換平臺是一個具有工業(yè)標準的、安全可靠的異步數(shù)據(jù)傳輸系統(tǒng),通過該數(shù)據(jù)傳輸系統(tǒng)能夠實現(xiàn)各級電子政務系統(tǒng)之間業(yè)務件數(shù)據(jù)的交換和簽收、辦結等數(shù)據(jù)的傳遞.

圖1 數(shù)據(jù)交換平臺內部結構
為了便于實現(xiàn)異構系統(tǒng)間的數(shù)據(jù)交換,應根據(jù)系統(tǒng)需求分析制定數(shù)據(jù)的交換標準.如:統(tǒng)一業(yè)務件ID設置標準;統(tǒng)一的各種數(shù)據(jù)表的名稱;統(tǒng)一規(guī)定材料和附加材料的名稱;統(tǒng)一規(guī)定各種業(yè)務類型需要上報到上級的數(shù)據(jù)表、規(guī)定附加材料和補充附加材料;統(tǒng)一需要上報和下傳的數(shù)據(jù)表的表結構定義;制定異構系統(tǒng)間數(shù)據(jù)的XML數(shù)據(jù)交換標準.采用標準的數(shù)據(jù)描述語言XML作為數(shù)據(jù)傳輸?shù)臉藴剩蟼飨逻f主要通過傳遞XML文件及掃描附件完成對業(yè)務件數(shù)據(jù)的傳輸.適合政務系統(tǒng)數(shù)據(jù)交換XML文件定義如下.

信息交換的安裝配置相對復雜,需要配置的主要參數(shù)有:發(fā)送信息路徑、接收信息路徑、安裝交換系統(tǒng)的機器IP地址、安裝交換系統(tǒng)的機器名、創(chuàng)建隊列的腳本文件、數(shù)據(jù)庫連接字符串、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫用戶口令、XML配置文件路徑.數(shù)據(jù)交換平臺生成一個包含這些參數(shù)的XML文件Tran-con.xml,供平臺每次啟動時使用.這個XML文件的結構定義如下.


在異構系統(tǒng)中考慮到編程語言獨立性且需要與各自審批系統(tǒng)緊密聯(lián)結,采用Web Service技術開發(fā)接口.接口服務程序基于Apache Axis開發(fā),以Soap協(xié)議作為數(shù)據(jù)交換雙方請求與響應的底層協(xié)議,以Soap信封作為交換具體內容的載體.下級接口開發(fā)方需要根據(jù)文本描述的內容,正確的生成/解釋Soap請求/響應,因為接口服務本身提供WSDL,所以下級接口開發(fā)方可以在自身開發(fā)系統(tǒng)上生成該服務的客戶端存根代碼,并嵌入到各自審批系統(tǒng)當中.下級系統(tǒng)生成符合標準的XML上報件組裝成Soap請求,發(fā)送到上級系統(tǒng)接收Web Service上,每次發(fā)送一個上報件,該服務將進行對上報件進行標準符合驗證并保存至數(shù)據(jù)庫中,根據(jù)驗證結果返回成功信息或錯誤提示響應.Soap請求與響應提交請求,將上報件XML正文以二進制編碼,作為receive Item操作的參數(shù)提交,同時提供用戶密碼作為驗證信息.下級接收系統(tǒng)通過上級發(fā)送Web Service,獲取的Soap響應內容編碼為一個XML文件,當下級系統(tǒng)成功讀取獲取Soap響應后,上級發(fā)送服務即認為下級系統(tǒng)已正常獲取XML內容,并從服務器端刪除該XML文件.
交換平臺提供一個描述要發(fā)送的基本信息與附件描述信息的JAVABEAN類,這個JAVABEAN類從交換數(shù)據(jù)庫中讀取要發(fā)送的信息;該JAVABEAN類根據(jù)讀到的信息生成一個XML文件,把生成的XML文件存放到指定的目錄下;JAVABEAN類傳給交換系統(tǒng)后,交換系統(tǒng)依據(jù)JAVABEAN類中提供的附件描述信息與XML描述信息進行發(fā)送;交換系統(tǒng)發(fā)送完畢后,更新交換數(shù)據(jù)庫中的記錄,使原來的“等待發(fā)送”狀態(tài)變?yōu)椤耙寻l(fā)送”狀態(tài).信息發(fā)送流程如圖2所示.系統(tǒng)記錄的發(fā)送信息的屬性有:傳輸ID、標題、信息接收的目的地、發(fā)送時間、狀態(tài)(已發(fā)送或發(fā)送失敗)及備注(如出現(xiàn)錯誤,提示錯誤類型),根據(jù)發(fā)送狀態(tài)及接收目的地對發(fā)送的信息進行分類.系統(tǒng)把發(fā)送信息日志首先記錄到一個文本文件中,這個文本文件存放在交換系統(tǒng)的安裝目錄下.
交換平臺接收到遠端交換系統(tǒng)傳輸?shù)男畔⒑螅罁?jù)傳輸?shù)男畔㈩愋妥飨鄳幚恚喝绻窍⒒仞伝蝈e誤消息回饋,則直接處理把傳輸?shù)慕Y果寫到交換數(shù)據(jù)庫中;如果是業(yè)務上報、業(yè)務簽收、業(yè)務批復、退卷類型的消息,系統(tǒng)先把接收到的數(shù)據(jù)流轉換為XML文件,并與附件文件一起存放到指定的目錄下(目錄的名字、文件的名字都從接收到的信息中得到),然后再從XML文件中讀取信息寫入交換數(shù)據(jù)庫中.數(shù)據(jù)接收流程如圖3所示.系統(tǒng)記錄的接收信息屬性有:傳輸ID、標題、發(fā)送地、接收時間、傳輸信息類型、備注(如出現(xiàn)錯誤,提示錯誤類型)等.系統(tǒng)把接收信息日志記錄到一個文本文件中,這個文本文件存放在交換系統(tǒng)的安裝目錄下.
以電子政務系統(tǒng)數(shù)據(jù)交換為背景,利用XML平臺無關性的特點,對基于Web Services,IBM Web-Sphere MQSeries中間件的數(shù)據(jù)交換平臺進行分析,給出了數(shù)據(jù)交換平臺的結構及主要功能的實現(xiàn)方法.該數(shù)據(jù)交換平臺在某省布署實施,它以實現(xiàn)方法簡單、快捷,代價最小等特點解決了電子政務異構系統(tǒng)間穩(wěn)定可靠的消息傳遞、交換數(shù)據(jù)信息和異步事務處理等問題.它具有良好的可擴展性,可以適應各級電子政務系統(tǒng)不斷發(fā)展的信息化需要,但目前也存在一些問題,如:標準滯后,使交換系統(tǒng)運行不平滑;部分功能還不能適應電子政務信息化工作的現(xiàn)狀,通過報盤等方式進行彌補.本文作者的創(chuàng)新點是采用JAVA API調用Base64類的編碼/解碼方式以較小的代價實現(xiàn)了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] 李冬睿,李梅.一種電子政務數(shù)據(jù)交換模型的設計[J].微計算機信息,2010,26(2-3):154-155.
[4] 劉艷輝,董碧丹,張峰.數(shù)據(jù)交換平臺的分布式應用研究[J].計算機工程與設計,2009,30(16):3 780-3 782.
[5] 邵秀麗,韓建彬,閻促蹼.基于XML的異構數(shù)據(jù)源間數(shù)據(jù)交換的實現(xiàn)研究[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 異構數(shù)據(jù)接收流程圖
TP392
A
1009-8445(2011)02-0018-05
(責任編輯:徐生然)
2010-09-29
廣東省自然科學基金資助項目(5300563,7010327)
李 湘(1973-),男,湖南瀏陽人,化學化工學院副教授,博士.