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