黃風(fēng)華,歐陽林艷 (福州大學(xué)陽光學(xué)院,福建 福州 350015)
一種基于SOA的稅收征管WebGIS的構(gòu)建與集成研究
黃風(fēng)華,歐陽林艷 (福州大學(xué)陽光學(xué)院,福建 福州 350015)
在Web2.0環(huán)境下,提出一種基于SOA(面向服務(wù)架構(gòu))的稅收征管WebGIS的構(gòu)建與集成方案。通過GIS企業(yè)級(jí)中間件(EJB3.0)與基于OGC(開放地理信息聯(lián)盟)規(guī)范的GIServices(GIS Web服務(wù))的相互集成,增強(qiáng)現(xiàn)有分散管理的異構(gòu)稅收征管GIS平臺(tái)在分布式環(huán)境下的運(yùn)算能力和互操作性,促進(jìn)了稅收空間數(shù)據(jù)的共享和標(biāo)準(zhǔn)化,提高了稅收征管空間分析的整體效率。
SOA;稅收征管;異構(gòu)GIS;空間互操作
隨著海峽西岸經(jīng)濟(jì)區(qū)建設(shè)進(jìn)程的不斷推進(jìn),加快建設(shè)城市級(jí)空間地理基礎(chǔ)數(shù)據(jù)庫,建設(shè)基于統(tǒng)一的地理坐標(biāo)和空間地理信息服務(wù)平臺(tái)已被列為“數(shù)字福建”工程十二五規(guī)劃的重要任務(wù)之一。稅收征管GIS可以直觀、形象和動(dòng)態(tài)地反映區(qū)域稅收和經(jīng)濟(jì)發(fā)展的空間分布、變化趨勢(shì)及其兩者間的內(nèi)在聯(lián)系,滿足稅收區(qū)域化管理需求,稅收征管GIS的空間分析與專題分析的成果可以被管理者和決策者直接使用。近年來我國(guó)稅收信息化取得了巨大進(jìn)展,稅收數(shù)據(jù)的積累日益豐富,區(qū)域性稅務(wù)GIS建設(shè)初見成效,福建省內(nèi)稅收征管GIS系統(tǒng)建設(shè)也取得了明顯進(jìn)展,但其應(yīng)用范圍一般僅限于部門內(nèi)部局域網(wǎng)或部分主機(jī),且各系統(tǒng)所采用的GIS平臺(tái)差異較大,空間數(shù)據(jù)缺乏統(tǒng)一標(biāo)準(zhǔn),數(shù)據(jù)共享能力差,稅務(wù)部門間各自為政,重復(fù)投資現(xiàn)象嚴(yán)重,缺乏統(tǒng)一規(guī)劃,覆蓋全省的稅收WebGIS平臺(tái)還未形成。針對(duì)上述問題,筆者嘗試在SOA架構(gòu)下采用GIS企業(yè)級(jí)中間件(EJB3.0)與GIServices來集成與構(gòu)建稅收征管WebGIS,增強(qiáng)現(xiàn)有分散管理的異構(gòu)稅收征管GIS平臺(tái)在分布式環(huán)境下的運(yùn)算能力和互操作性,促進(jìn)稅收空間數(shù)據(jù)的共享和標(biāo)準(zhǔn)化,提高稅收征管空間分析與決策的整體效率。
1.1SOA概述
SOA是一個(gè)基于特定標(biāo)準(zhǔn)的組織和設(shè)計(jì)方法,SOA在傳統(tǒng)的業(yè)務(wù)層和技術(shù)層之間增加了一個(gè)服務(wù)層,通過連接能完成特定服務(wù)的獨(dú)立功能實(shí)體來實(shí)現(xiàn)軟件系統(tǒng)架構(gòu)[1]。它是一種粗粒度、松耦合的軟件架構(gòu),其服務(wù)之間通過簡(jiǎn)單、精確定義的接口進(jìn)行通訊,不涉及底層編程接口和通訊模型[2]。SOA以標(biāo)準(zhǔn)化的業(yè)務(wù)服務(wù)的方式來提高研發(fā)效率,能較好地解決不同服務(wù)之間的對(duì)象封送、跨異構(gòu)調(diào)用等問題,使得基于SOA的管理軟件更易于與其他應(yīng)用軟件相集成[3]。SOA的實(shí)現(xiàn)方式可以是Web服務(wù),也可以是標(biāo)準(zhǔn)化的中間件技術(shù)(如Corba、EJB等)。在基于J2EE的SOA架構(gòu)中,EJB可以與WebService或Struts框架等集成,形成更加穩(wěn)定和強(qiáng)大的SOA應(yīng)用模型。EJB可以與稅收GIS中相關(guān)API結(jié)合,生成企業(yè)級(jí)的稅收征管專用中間件,并在SOA架構(gòu)內(nèi)進(jìn)行發(fā)布,達(dá)到與Web服務(wù)類似的效果。Webservice和EJB都是應(yīng)用程序遠(yuǎn)程調(diào)用方案的一種,但兩者本質(zhì)是不同的:Webservice是業(yè)界的一個(gè)規(guī)范,主要用于解決異構(gòu)的問題,是基于不同平臺(tái)或編程語言的異構(gòu)系統(tǒng)間進(jìn)行通信的標(biāo)準(zhǔn),而EJB屬于J2EE規(guī)范中的一部分,只能用于JAVA平臺(tái);EJB底層用RMI-IIOP協(xié)議進(jìn)行通信,易被防火墻阻止。
1.2GIServices與GML
Web服務(wù)是SOA的重要實(shí)現(xiàn)手段之一,GIServices即地理信息服務(wù),是Web服務(wù)在GIS中的應(yīng)用。GIServices一般部署在服務(wù)供應(yīng)商所提供的GIS網(wǎng)絡(luò)公共平臺(tái)上,服務(wù)提供者必須首先向UDDI注冊(cè)該服務(wù),并通過由服務(wù)描述語言(WSDL)定義的GIServices接口與外界實(shí)現(xiàn)交互。應(yīng)用程序開發(fā)者可以通過WSDL查詢可用的GIS服務(wù)接口信息,并通過相關(guān)接口調(diào)用GIS服務(wù),把GIS功能集成進(jìn)自已的Web應(yīng)用程序而不需要構(gòu)建本地的功能模塊。GIServices各組成部分之間通常采用SOAP或REST協(xié)議進(jìn)行有效通信。GIServices可以有效地促進(jìn)空問數(shù)據(jù)共享,增強(qiáng)不同GIS平臺(tái)之間以及GIS系統(tǒng)與其他系統(tǒng)之間的互操作能力,實(shí)現(xiàn)跨GIS技術(shù)、跨系統(tǒng)平臺(tái)的空間數(shù)據(jù)和系統(tǒng)方法的共享和集成[4]。
地理標(biāo)識(shí)語言(Geography Markup Language,GML)是由OGC于1999年提出的一種包括地理要素的空間與非空間特性信息的建模、傳輸和存儲(chǔ)的XML規(guī)范[5]。GML是一個(gè)開放、非強(qiáng)制性的標(biāo)準(zhǔn),它提供了一套基本的幾何對(duì)象標(biāo)識(shí)和公共的數(shù)據(jù)模型,并采用自建和共享應(yīng)用Schema的機(jī)制。所有兼容GML的系統(tǒng),可使用GML提供的幾何地物標(biāo)識(shí)來表示地物的幾何特征,并通過限制、擴(kuò)展等機(jī)制來創(chuàng)建自己的應(yīng)用Schema[6]。
WebGIS采用當(dāng)前較為成熟的J2EE 4層架構(gòu),即數(shù)據(jù)層、應(yīng)用服務(wù)層、Web服務(wù)層和客戶層,各層間的相互聯(lián)系如圖1所示。
圖1 系統(tǒng)框架結(jié)構(gòu)圖
2.1數(shù)據(jù)層
為了充分利用現(xiàn)有的各種數(shù)據(jù)資源,數(shù)據(jù)層的數(shù)據(jù)來源主包括4部分,即現(xiàn)有的Oracle空間數(shù)據(jù)庫、稅收業(yè)務(wù)關(guān)系數(shù)據(jù)庫、Mid/Mif或shapefile格式電子地圖以及通過WMS、GML或WFS等方式引進(jìn)的外部共享空間數(shù)據(jù),各種數(shù)據(jù)相互結(jié)合,共同構(gòu)成WebGIS的數(shù)據(jù)源。
2.2應(yīng)用服務(wù)層
應(yīng)用服務(wù)層主要包括3大部分:企業(yè)級(jí)GIS空間操作中間件(EJB3.0)、稅收行業(yè)業(yè)務(wù)處理模塊(javabeans)和空間數(shù)據(jù)轉(zhuǎn)換服務(wù)中間件(EJB3.0)。
1)企業(yè)級(jí)GIS空間操作中間件 主要包括2部分,即GIS邏輯處理組件(會(huì)話beans)和空間數(shù)據(jù)訪問組件(實(shí)體beans),前者主要功能是提供地圖編輯(圖元增刪改查)、專題分析和空間分析功能和遠(yuǎn)程訪問接口,后者則主要通過OCI接口訪問Oracle 空間數(shù)據(jù)庫并與相關(guān)的空間表綁定,以便于向前者提供數(shù)據(jù)支持。
2)稅收業(yè)務(wù)處理模塊 稅收業(yè)務(wù)處理模塊是一個(gè)javabeans,主要用于提供稅收業(yè)務(wù)相關(guān)的專業(yè)統(tǒng)計(jì)與分析函數(shù)與接口。
3)空間數(shù)據(jù)轉(zhuǎn)換服務(wù)中間件 空間數(shù)據(jù)轉(zhuǎn)換服務(wù)中間件也是一個(gè)EJB中間件,主要負(fù)責(zé)GML格式與非GML格式空間數(shù)據(jù)的相互轉(zhuǎn)換。EJB容器采用WebLogic9.0,應(yīng)用服務(wù)層3大部分之間可以通過Home接口相互調(diào)用,并通過符合J2EE1.5標(biāo)準(zhǔn)的JNDI規(guī)范為客戶層提供統(tǒng)一地址標(biāo)識(shí)服務(wù)。應(yīng)用服務(wù)層除了具有提供業(yè)務(wù)與邏輯接口的功能外,還具有負(fù)載平衡、數(shù)據(jù)緩沖等功能,以保證系統(tǒng)更加安全高效地運(yùn)行。
2.3Web服務(wù)層
Web服務(wù)層的主要包括Web服務(wù)器與地圖服務(wù)器,Web服務(wù)器主要負(fù)責(zé)與客戶端交互,接收客戶端的請(qǐng)求。當(dāng)請(qǐng)求類型為非空間請(qǐng)求時(shí),直接將請(qǐng)求發(fā)送給應(yīng)用服務(wù)器處理,同時(shí)將應(yīng)用服務(wù)器處理的結(jié)果反饋給用戶;如果接收到的請(qǐng)求是空間請(qǐng)求,則須先將空間請(qǐng)求轉(zhuǎn)發(fā)由地圖服務(wù)器解析,然后再提交給應(yīng)用服務(wù)器處理,并將處理結(jié)果反饋給客戶端。地圖服務(wù)器(包括GIServices服務(wù)器)采用ArcServer9.2,它既可以解析普通的空間數(shù)據(jù),也可以識(shí)別GML格式的空間數(shù)據(jù),并支持基于GML的GIServices,ArcServer9.2可以直接以GML2.0的格式發(fā)布地圖數(shù)據(jù)。
2.4客戶層
客戶層主要用來與用戶進(jìn)行交互,通過瀏覽器顯示GIF/JPEG、VML或SVG格式的柵格或矢量地圖。當(dāng)GML作為客戶端和服務(wù)器端之間的數(shù)據(jù)傳輸格式時(shí),如果用戶請(qǐng)求GML數(shù)據(jù),則服務(wù)器直接把GML數(shù)據(jù)傳送給客戶;如果用戶需要顯示地圖,則服務(wù)器先將GML轉(zhuǎn)換成SVG或VML矢量格式后再發(fā)往客戶端顯示。采用GML作為傳輸格式可以在一定程度上降低網(wǎng)絡(luò)數(shù)據(jù)流量,并為與其它系統(tǒng)間的數(shù)據(jù)共享與互操作提供條件[6]。采用SVG作為客戶端地圖格式可以有效地支持幾何圖形對(duì)象的繪制、地圖圖形的顯示、矢量圖形的基本操作,不過SVG文件的顯示需要在瀏覽器中安裝相應(yīng)的插件(如SVGViewer3.0等)。STAXGIS提供了2種不同類型的客戶端,即供稅務(wù)部門內(nèi)部管理員使用的胖客戶端和供普通用戶使用的瘦客戶端。采用普通或移動(dòng)Web瀏覽器作為客戶端,并通過SVG格式顯示結(jié)果,此類型屬于瘦客戶端模式,使用方便、實(shí)用性強(qiáng)。胖客戶端采用Applet插件的形式實(shí)現(xiàn),客戶端運(yùn)行時(shí)Applet必須從服務(wù)器端下載到客戶端,在客戶端進(jìn)行地圖的操作與渲染,Applet主要處理非GML格式的空間數(shù)據(jù)。普通地圖查詢和編輯操作可由Applet直接在客戶端完成,而對(duì)于稅收征管高級(jí)專題分析功能,Applet可以由EJB遠(yuǎn)程接口從應(yīng)用層調(diào)用空間數(shù)據(jù)處理服務(wù)來完成。管理客戶端需要頻繁進(jìn)行空間元素的編輯操作,同時(shí)對(duì)數(shù)據(jù)的安全性要求較高。Applet雖具有數(shù)據(jù)下載較慢的缺點(diǎn),但是其性能較穩(wěn)定、技術(shù)成熟,適用于復(fù)雜的空間數(shù)據(jù)編輯與分析操作。
3.1WebGIS主要功能
WebGIS的主要功能有以下3部分:①普通功能,包括網(wǎng)上報(bào)稅、納稅信息查詢、欠稅與信用查詢、稅源空間定位、稅收地圖瀏覽等。②高級(jí)功能,包括稅源空間管理、征收信息導(dǎo)入與導(dǎo)出、稅率與稅種設(shè)置、稅收專題分析與決策支持等。③維護(hù)功能,包括用戶信息管理、空間數(shù)據(jù)庫更新、系統(tǒng)間互操作接口設(shè)置以及系統(tǒng)維護(hù)等日常事務(wù)。WebGIS的用戶主要有普通用戶、稅務(wù)管理員和系統(tǒng)管理員。普通用戶主要適用于個(gè)體納稅人和企業(yè)納稅人,其通過瘦客戶端模式獲得服務(wù),具有使用普通功能的權(quán)限;稅務(wù)管理員用戶主用適用于稅收征管員以及相關(guān)分管領(lǐng)導(dǎo),其通過胖客戶端模式獲得服務(wù),具有使用普通功能和高級(jí)功能的權(quán)限;系統(tǒng)管理員只適用于內(nèi)部少數(shù)技術(shù)維護(hù)人員,其具有使用維護(hù)功能的權(quán)限。
3.2WebGIS的實(shí)現(xiàn)
1)WebGIS中GIServices的實(shí)現(xiàn) GIServices服務(wù)器采用ArcServer9.2,為了減少防火墻對(duì)ArcServer所提供的遠(yuǎn)程服務(wù)的攔截,并向廣大外網(wǎng)用戶提供統(tǒng)一的查詢定位、專題分析、數(shù)據(jù)轉(zhuǎn)換等相關(guān)服務(wù),GIServices服務(wù)器必須在公共UDDI進(jìn)行注冊(cè),公共UDDI將采用WSDL對(duì)外發(fā)布GIServices接口參數(shù)與規(guī)范信息。客戶端的web瀏覽器和移動(dòng)Wap瀏覽器通過UDDI查找以WSDL描述的的各種相關(guān)服務(wù),并根據(jù)相關(guān)服務(wù)接口規(guī)范和SOAP協(xié)議來發(fā)送請(qǐng)求。Web服務(wù)器接收來自客戶端的SOAP請(qǐng)求,并把這些請(qǐng)求轉(zhuǎn)發(fā)給GIServices服務(wù)器來解析,GIServices服務(wù)器根據(jù)SOAP請(qǐng)求調(diào)用相關(guān)GIS功能模塊執(zhí)行相應(yīng)的操作,并生成和返回相應(yīng)的SOAP應(yīng)答,Web服務(wù)器接收SOAP應(yīng)答并將其返回至客戶端??臻g數(shù)據(jù)源是由數(shù)據(jù)層直接調(diào)用或經(jīng)過應(yīng)用層轉(zhuǎn)換過的空間數(shù)據(jù),它是以GML格式傳輸與存儲(chǔ)的,可以由應(yīng)用層或數(shù)據(jù)層的數(shù)據(jù)庫進(jìn)行管理。
2)EJB中間件的實(shí)現(xiàn) GIS應(yīng)用服務(wù)器的是一個(gè)典型的EJB中間件,采用WebLogic9.0作為容器,其主要包括GIS邏輯處理組件(會(huì)話beans)和空間數(shù)據(jù)訪問組件(實(shí)體beans)2個(gè)部分。以下僅以圖元查詢定位為例說明GIS應(yīng)用服務(wù)器中間件的實(shí)現(xiàn)。GIS應(yīng)用服務(wù)器采用Remote接口對(duì)外提供服務(wù),Remote接口的定義的主要代碼如下:
public interface SearchMap extends javax.ejb.EJBObject{
public FeatureSet SearchMap (FeatureLayer lyr, double zoomvalue, int x0, int y0, Columns cls, String fieldname, Attribute attr,int searchtype) throws RemoteException;
……//其他方法
}
GIS應(yīng)用服務(wù)器中間件可以通過Home接口調(diào)用會(huì)話SearchMapBean類和TaxinfoBean類(實(shí)體bean)來實(shí)現(xiàn)相關(guān)功能,Home接口定義的主要代碼如下:
public interface SearchMapHome extends javax.ejb.EJBHome{
public SearchMap create() throws CreateException, RemoteException;
}
TaxinfoBean是一個(gè)基于持久化類的實(shí)體bean,其主要作用是與空間數(shù)據(jù)庫的相關(guān)信息進(jìn)行綁定,為其他類提供數(shù)據(jù)支持。
圖元查詢定位功能可以通過專門的SearchMapBean類(會(huì)話bean)的來具體實(shí)現(xiàn),在實(shí)現(xiàn)過程中,可以在SearchMapBean類中調(diào)用實(shí)體bean。
針對(duì)當(dāng)前異構(gòu)稅收征管GIS在空間數(shù)據(jù)共享與互操作中存在的難題,提出了一種基于SOA的稅收征管GIS構(gòu)建與集成方案。在Web2.0環(huán)境下,采用J2EE架構(gòu)實(shí)現(xiàn)和部署WebGIS,通過GIS企業(yè)級(jí)中間件、GIServices相互集成以及不種格式空間數(shù)據(jù)的相互轉(zhuǎn)換,增強(qiáng)現(xiàn)有分散管理的異構(gòu)稅收征管GIS平臺(tái)在分布式環(huán)境下的運(yùn)算能力和互操作性,促進(jìn)稅收空間數(shù)據(jù)的共享和標(biāo)準(zhǔn)化,提高稅收征管空間分析的整體效率。采用該方案對(duì)現(xiàn)有各異構(gòu)GIS進(jìn)行改造與統(tǒng)合,可使其具備兼容性好、跨平臺(tái)、成本低、可適用于不同用戶群體、業(yè)務(wù)處理和空間分析決策能力強(qiáng)等優(yōu)點(diǎn),可以較好地滿足日益繁重的稅收征管工作的需要,具有良好的應(yīng)用前景。
[1]葉鈺,應(yīng)時(shí),李偉齋,等.面向服務(wù)體系結(jié)構(gòu)及其系統(tǒng)構(gòu)建研究[J].計(jì)算機(jī)應(yīng)用研究,2005,22(2):32-34.
[2]Kwon O B.Meta web service:building web-based open decision support system based on webservices[J].Expert Systems with Applications,2003,24(4):375-389.
[3]嚴(yán)海穎,朱征宇.XML在WebGIS系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2003,23(3):136-138.
[4]常小慧,李宏偉,黃海文,等. 基于GML/SVG的WebGIS體系結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].地球信息科學(xué), 2006,18(4):35-41.
[5]游旭初,楊國(guó)強(qiáng).基于GML的異構(gòu)WebGIS空間信息共享研究[J].計(jì)算機(jī)與現(xiàn)代化,2007(9):37-39.
[6]楊昆,許泉立.SvG在WebGIS中的應(yīng)用研究[J].測(cè)繪與空間地理信息,2005,28(3):1-3.
[編輯] 李啟棟
10.3969/j.issn.1673-1409.2012.01.034
TP319
A
1673-1409(2012)01-N106-04