韋杰
摘要
介紹Web Service技術(shù)的組成及體系結(jié)構(gòu),探討基于WebService技術(shù)和SOA架構(gòu)的數(shù)據(jù)共享交換技術(shù),研究設(shè)計跨網(wǎng)絡(luò)、跨區(qū)域、跨部門的政務(wù)數(shù)據(jù)共享交換平臺,實現(xiàn)2個不同網(wǎng)絡(luò)之間的數(shù)據(jù)互聯(lián)互通,實現(xiàn)不同平臺的業(yè)務(wù)系統(tǒng)進行數(shù)據(jù)交換,促進各單位業(yè)務(wù)協(xié)同。
【關(guān)鍵詞】Web Service XML 數(shù)據(jù)交換
1 引言
當前,電子政務(wù)己成為各級行政機關(guān)履行職能,推動社會管理和公共服務(wù)的有力手段,在加快政府職能轉(zhuǎn)變、提高政府辦事效率、增強政府服務(wù)能力、促進政務(wù)公開和廉政建設(shè)等方面發(fā)揮了越來越重要的作用。但由于各地區(qū)各部門在建設(shè)本單位政務(wù)信息系統(tǒng)的過程中,處在不同的時期,采用不同的工具,依托不同的平臺,參照不同的技術(shù)標準,開發(fā)了一個個不同平臺的系統(tǒng),產(chǎn)生了不一致的數(shù)據(jù)格式,導(dǎo)致各部門信息化系統(tǒng)條狀分割、各自為政的管理模式,部門間信息系統(tǒng)建設(shè)相對分散、封閉,各行業(yè)信息系統(tǒng)“縱強橫弱”的現(xiàn)狀。目前單個部門單個系統(tǒng)獨力運行的模式已經(jīng)不能滿足部門業(yè)務(wù)工作的需求,更多的業(yè)務(wù)工作需要多個部門聯(lián)合協(xié)作,需要部門間的政務(wù)信息系統(tǒng)共享交換數(shù)據(jù)、協(xié)同處理,共同完成一項審批工作。
Web Service是一種部署在Web上的對象,建立在以XML為主的、開放的Web技術(shù)規(guī)范基礎(chǔ)上,是分布式的計算技術(shù),可創(chuàng)建交互操作的分布式應(yīng)用程序平臺,滿足政府部門多個物理隔離網(wǎng)絡(luò)的數(shù)據(jù)傳輸,符合網(wǎng)絡(luò)安全的要求,有效提供異構(gòu)數(shù)據(jù)共享交換的解決方案。
2 XML和Web Service概述
2.1 XML
XML(eXtensible Markup Language,可擴展標記語言)是一個精簡的SGML子集,包括XSL(可擴展格式語言)和XLL(ExtensibleLinking Language,可擴展鏈接語言),將SGML的豐富功能與HTML的易用性結(jié)合到W亡b的應(yīng)用中,提供一種描述結(jié)構(gòu)化數(shù)據(jù)的方法,定義數(shù)據(jù)本身的結(jié)構(gòu)和數(shù)據(jù)類型。XML具有以下特點:
2.1.1 良好的可讀性
XML語法規(guī)則簡單、嚴格,所用的標記不是預(yù)定義,用戶可以自定義標記。
2.1.2 數(shù)據(jù)內(nèi)容與顯示形式分離
XML能夠在HTML文件之外將數(shù)據(jù)存儲在文檔中,與樣式表文件分離,方便數(shù)據(jù)的存儲和樣式的修改。
2.1.3 良好的擴展性
XML可實現(xiàn)跨平臺、跨系統(tǒng)的數(shù)據(jù)共享和交換,以純文本格式存儲的數(shù)據(jù),易讀、也便于記錄、調(diào)試,兼容不同應(yīng)用平臺、不同操作系統(tǒng),實現(xiàn)多個系統(tǒng)之間數(shù)據(jù)共享與交換。
2.2 Web Service技術(shù)
Web Service使用XML作為數(shù)據(jù)封裝的基本格式,基于XML的文本協(xié)議,可消除各種不同的組件模型、操作系統(tǒng)和編程語言之間存在的差異,建立可交互操作的分布式應(yīng)用程序的新平臺,實現(xiàn)不同平臺的信息化系統(tǒng)協(xié)同工作。用戶可以用任何語言,在任何平臺上編寫所需要的Web服務(wù)。使用者可以通過編程方式請求得到返回的信息,而無需知道所請求的服務(wù)是如何實現(xiàn)的。Web Service的應(yīng)用程序具有以下特點:
2.2.1 封裝性
Web Service的對象進行了良好的封裝,使用者僅能看到該對象提供的功能列表,不用了解該對象內(nèi)部的結(jié)構(gòu)。
2.2.2 松散耦合
Web Service提供的是調(diào)用接口,內(nèi)部程序的修改對于使用都來說是透明的。
2.2.3 規(guī)范性
Web Service基于XML消息交換,使用開放的標準協(xié)議進行描述、傳輸和交換,界面調(diào)用規(guī)范,易于理解。
Web Service體系結(jié)構(gòu)是基于SOA和Internet協(xié)議,實現(xiàn)與兼容應(yīng)用程序之間的交互操作,基于服務(wù)提供者、服務(wù)注冊中心、服務(wù)請求者三種邏輯角色,實現(xiàn)角色之間的發(fā)布、查找、綁定等交互操作(如圖1所示)。服務(wù)提供者定義Web Service的服務(wù)描述并發(fā)布到服務(wù)請求者或服務(wù)注冊中心,對服務(wù)請求者進行響應(yīng)。服務(wù)請求者利用服務(wù)注冊中心查找所需的服務(wù),并使用服務(wù)描述與服務(wù)提供者進行綁定,然后調(diào)用Web Service接口實現(xiàn)交互。服務(wù)注冊中心為服務(wù)提供者發(fā)布服務(wù)描述,為服務(wù)請求提供服務(wù)檢索,是一種可選的角色。
SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議)是一種基于XML的協(xié)議,是分布式系統(tǒng)之間交換信息的方法。SOAP不定義應(yīng)用語議,基于XML和XSD標準定義一種序列化的編碼規(guī)則,通過HTTP協(xié)議傳輸SOAP消息,通過模塊化的包裝模型和對模塊中特定格式數(shù)據(jù)的重編碼機制來表示應(yīng)用語義,實現(xiàn)遠程過程調(diào)用和應(yīng)答。SOAP消息由SOAP信封、SOAP編碼規(guī)則、SOAP RPC表示、SOAP綁定四部分組成,從發(fā)送端到接收端單向傳輸,不需要綁定到特定的協(xié)議,可運行在HTTP、SMTP,F(xiàn)TP等協(xié)議。
WSDL(Web Service DescriptionLanguage,Web Service描述語言)是一種描述Web Service的接口、語義、綁定地址、傳入和傳出消息類型等功能特征的語言,是使用XML編寫的文檔,描述了Web Service提供者提供的服務(wù)的端口、傳遞的數(shù)據(jù)類型和結(jié)構(gòu)、操作類型等信息,便于Web Service請求者的調(diào)用。WSDL的文檔內(nèi)容主要包括抽象定義和具體描述2部分。
UDDI(Universal Description ,Discoveryand Integration,統(tǒng)一描述、發(fā)現(xiàn)集成)是一種基于Web的分布式的Web Service信息注冊中心的實現(xiàn)規(guī)范,是一種目錄服務(wù),建立注冊與查找的機制。Web Service提供者可通過UDDI進行注冊。Web Service請求者可以通過UDDI進行檢索。
3 基于Web Service的數(shù)據(jù)共享交換平臺
3.1 數(shù)據(jù)共享交換平臺框架結(jié)構(gòu)
數(shù)據(jù)共享交換平臺依托云平臺的基礎(chǔ)設(shè)施,基于SOA架構(gòu),采用Web Service技術(shù)進行組件和應(yīng)用系統(tǒng)的包裝,按部署方式包括交換中心、交換節(jié)點、數(shù)據(jù)前置機,按邏輯功能包括通信層、數(shù)據(jù)層、業(yè)務(wù)層。數(shù)據(jù)共享交換平臺通過Web service的服務(wù)請求和調(diào)用,實現(xiàn)數(shù)據(jù)的交換和共享,資源使用者通過RESTAPI接口獲取相應(yīng)的數(shù)據(jù),不用研究資源提供者的平臺(如圖2所示)。
通信層向下屏蔽復(fù)雜各異的物理網(wǎng)絡(luò),向上提供安全可靠的端到端通信接口,為整個交換平臺的底層通信提供支撐。通信層將一臺通用服務(wù)器或者云上的一臺虛擬主機封裝為交換平臺使用的節(jié)點。節(jié)點與節(jié)點之間采用基于HTTP協(xié)議的REST Web Service進行基本通信,基于REST Web Service實現(xiàn)拓撲管理、橋接中繼、消息轉(zhuǎn)發(fā)等底層功能,并在此基礎(chǔ)上,設(shè)計、實現(xiàn)、封裝出一套基于消息的端到端可靠通信協(xié)議。通信層主要功能包括節(jié)點連接管理、虛擬路由管理、傳輸密鑰管理、通信安全、交換控制。
數(shù)據(jù)層是數(shù)據(jù)共享交換平臺的核心部分,為資源提供者提供Orcal、SQL Service、MySQL、DB2、Sybase、達夢等主流關(guān)系型數(shù)據(jù)的驅(qū)動接口,提供文件夾共享、SFTP的接口,提供Web服務(wù)的調(diào)用接口,對數(shù)據(jù)交換的記錄進行存儲。數(shù)據(jù)層的主要功能包括數(shù)據(jù)接口管理、交換日志管理、數(shù)據(jù)發(fā)布管理、元數(shù)據(jù)管理等。
業(yè)務(wù)層基于統(tǒng)一規(guī)范的服務(wù)接口、服務(wù)調(diào)度,提供數(shù)據(jù)注冊、數(shù)據(jù)調(diào)用、數(shù)據(jù)采集、數(shù)據(jù)申請(授權(quán))等功能,實現(xiàn)數(shù)據(jù)的共享與交換。資源提供者在業(yè)務(wù)層注冊資源的名稱、數(shù)據(jù)項、共享范圍、共享條件、接口類型。資源使用者通過可視化界面搜索資源,采用API的方式調(diào)用數(shù)據(jù),以XML格式的文件,發(fā)送請求,調(diào)用數(shù)據(jù)。
3.2 數(shù)據(jù)共享交換平臺的交換方式
數(shù)據(jù)資源提供者的前置機存儲共享的數(shù)據(jù)或發(fā)布服務(wù)接口,并在自身的交換節(jié)點注冊數(shù)據(jù)資源,交換中心將數(shù)據(jù)資源提供者共享的數(shù)據(jù)發(fā)布到每個交換節(jié)點,數(shù)據(jù)資源使用者通過自身的交換節(jié)點查看探索到共享數(shù)據(jù)的接口,并通過API接口調(diào)用數(shù)據(jù)或發(fā)送Web服務(wù)請求(如圖3所示)。
數(shù)據(jù)共享交換平臺中,一個交換中心可以連接多個交換節(jié)點,一個交換節(jié)點只能連接一個交換中心,不允許與多個交換中心連接。交換節(jié)點與交換中心的連接,首先由交換節(jié)點向交換中心發(fā)送申請,交換中心授權(quán)接入后,將交換節(jié)點信息加入鄰接節(jié)點列表中。每個節(jié)點的信息包括節(jié)點類型、入網(wǎng)編號、IP地址、主端口號,單位名稱、連接狀態(tài)。
3.3 跨網(wǎng)交換
基于Web Service的數(shù)據(jù)共享交換平臺,可以通過光閘實現(xiàn)跨越物理隔離的網(wǎng)絡(luò)的數(shù)據(jù)共享與交換,符合網(wǎng)絡(luò)安全的要求,可確保數(shù)據(jù)的正常、安全傳輸。光閘兩側(cè)分別部署一個交換中心。兩個交換中心通過REST WebService協(xié)議進行通信和消息傳輸(如圖4所示)。
4 數(shù)據(jù)共享交換平臺的應(yīng)用
按照省級電子公文系統(tǒng)建設(shè)的要求,在不影響各單位原有的辦文系統(tǒng)功能結(jié)構(gòu)的條件下,對各單位的辦文系統(tǒng)進行整合,采用基于Web Service的數(shù)據(jù)共享交換平臺實現(xiàn)電子公文的傳輸與交換,實現(xiàn)電子公文統(tǒng)一平臺、統(tǒng)一規(guī)范交換,實現(xiàn)不同辦文系統(tǒng)統(tǒng)一接口接收、發(fā)送本單位的電子公文。在電子公文交換過程中,A單位的辦文系統(tǒng)按照統(tǒng)一的XML標簽,將公文標題、文號、發(fā)送日期、接收單位、接收單位標識等基本信息和公文的正文、附件等內(nèi)容封裝成生成XML文件包,存儲在本單位的前置機。A單位的交換節(jié)點自動監(jiān)測并解析XML文件包,讀取轉(zhuǎn)發(fā)的下一個交換節(jié)點地址,并發(fā)送到交換中心。交換中心負責轉(zhuǎn)發(fā)到下一個交換節(jié)點,B單位的交換節(jié)點收到XML文件包后,將XML包存儲在B單位的前置機,B單位的辦文系統(tǒng)對XML文件包進行解析后,通過本單位的辦文系統(tǒng)進行簽收,并向A單位反饋簽收成功的信息。
省級數(shù)據(jù)共享交換平臺建成啟用以來,以較低成本實現(xiàn)了60多個單位辦文系統(tǒng)的電子公文數(shù)據(jù)傳輸與交換,解決了不同單位的辦文系統(tǒng)不兼容的問題,提高了公文流轉(zhuǎn)的速度,加快了省級無紙化的步伐。
5 結(jié)束語
本文結(jié)合當前使用廣泛的Web Service技術(shù),解決不同平臺、不同網(wǎng)絡(luò)的業(yè)務(wù)系統(tǒng)之間數(shù)據(jù)交換的問題,提出了跨層級、跨部門、跨網(wǎng)絡(luò)、跨平臺的數(shù)據(jù)共享交換平臺的設(shè)計,結(jié)合云平臺提出了數(shù)據(jù)共享交換平臺的部署方式。數(shù)據(jù)共享交換平臺可應(yīng)用于省、市單位部門,促進政務(wù)數(shù)據(jù)的共享與交換、實現(xiàn)業(yè)務(wù)系統(tǒng)大整合,推進單位部門之間的業(yè)務(wù)協(xié)同。
參考文獻
[1]王濤.數(shù)據(jù)共享與數(shù)據(jù)交換系統(tǒng)的設(shè)計與實現(xiàn)[D].大連理工大學,2015.
[2]劉嘉.基于XML和Web Services數(shù)據(jù)交換系統(tǒng)的設(shè)計與實現(xiàn)[D].華南農(nóng)業(yè)大學,2016.
[3]張宗平,張泳,秦慧.基于Web Services的數(shù)據(jù)交換平臺的應(yīng)用研究[J].現(xiàn)代計算機(專業(yè)版),2011(15).
[4]劉媛媛.基于XML和Web Services的電子政務(wù)數(shù)據(jù)交換平臺的實現(xiàn)研究[7],電子技術(shù)與軟件工程,2015(13).
[5]閔潔,劉麗娟.基于XML+Web Service的異構(gòu)數(shù)據(jù)交換技術(shù)研究[J].電子知識與技術(shù),2011(26).