黃風華,歐陽林艷 (福州大學陽光學院,福建 福州 350015)
一種基于SOA的稅收征管WebGIS的構建與集成研究
黃風華,歐陽林艷 (福州大學陽光學院,福建 福州 350015)
在Web2.0環境下,提出一種基于SOA(面向服務架構)的稅收征管WebGIS的構建與集成方案。通過GIS企業級中間件(EJB3.0)與基于OGC(開放地理信息聯盟)規范的GIServices(GIS Web服務)的相互集成,增強現有分散管理的異構稅收征管GIS平臺在分布式環境下的運算能力和互操作性,促進了稅收空間數據的共享和標準化,提高了稅收征管空間分析的整體效率。
SOA;稅收征管;異構GIS;空間互操作
隨著海峽西岸經濟區建設進程的不斷推進,加快建設城市級空間地理基礎數據庫,建設基于統一的地理坐標和空間地理信息服務平臺已被列為“數字福建”工程十二五規劃的重要任務之一。稅收征管GIS可以直觀、形象和動態地反映區域稅收和經濟發展的空間分布、變化趨勢及其兩者間的內在聯系,滿足稅收區域化管理需求,稅收征管GIS的空間分析與專題分析的成果可以被管理者和決策者直接使用。近年來我國稅收信息化取得了巨大進展,稅收數據的積累日益豐富,區域性稅務GIS建設初見成效,福建省內稅收征管GIS系統建設也取得了明顯進展,但其應用范圍一般僅限于部門內部局域網或部分主機,且各系統所采用的GIS平臺差異較大,空間數據缺乏統一標準,數據共享能力差,稅務部門間各自為政,重復投資現象嚴重,缺乏統一規劃,覆蓋全省的稅收WebGIS平臺還未形成。針對上述問題,筆者嘗試在SOA架構下采用GIS企業級中間件(EJB3.0)與GIServices來集成與構建稅收征管WebGIS,增強現有分散管理的異構稅收征管GIS平臺在分布式環境下的運算能力和互操作性,促進稅收空間數據的共享和標準化,提高稅收征管空間分析與決策的整體效率。
1.1SOA概述
SOA是一個基于特定標準的組織和設計方法,SOA在傳統的業務層和技術層之間增加了一個服務層,通過連接能完成特定服務的獨立功能實體來實現軟件系統架構[1]。它是一種粗粒度、松耦合的軟件架構,其服務之間通過簡單、精確定義的接口進行通訊,不涉及底層編程接口和通訊模型[2]。SOA以標準化的業務服務的方式來提高研發效率,能較好地解決不同服務之間的對象封送、跨異構調用等問題,使得基于SOA的管理軟件更易于與其他應用軟件相集成[3]。SOA的實現方式可以是Web服務,也可以是標準化的中間件技術(如Corba、EJB等)。在基于J2EE的SOA架構中,EJB可以與WebService或Struts框架等集成,形成更加穩定和強大的SOA應用模型。EJB可以與稅收GIS中相關API結合,生成企業級的稅收征管專用中間件,并在SOA架構內進行發布,達到與Web服務類似的效果。Webservice和EJB都是應用程序遠程調用方案的一種,但兩者本質是不同的:Webservice是業界的一個規范,主要用于解決異構的問題,是基于不同平臺或編程語言的異構系統間進行通信的標準,而EJB屬于J2EE規范中的一部分,只能用于JAVA平臺;EJB底層用RMI-IIOP協議進行通信,易被防火墻阻止。
1.2GIServices與GML
Web服務是SOA的重要實現手段之一,GIServices即地理信息服務,是Web服務在GIS中的應用。GIServices一般部署在服務供應商所提供的GIS網絡公共平臺上,服務提供者必須首先向UDDI注冊該服務,并通過由服務描述語言(WSDL)定義的GIServices接口與外界實現交互。應用程序開發者可以通過WSDL查詢可用的GIS服務接口信息,并通過相關接口調用GIS服務,把GIS功能集成進自已的Web應用程序而不需要構建本地的功能模塊。GIServices各組成部分之間通常采用SOAP或REST協議進行有效通信。GIServices可以有效地促進空問數據共享,增強不同GIS平臺之間以及GIS系統與其他系統之間的互操作能力,實現跨GIS技術、跨系統平臺的空間數據和系統方法的共享和集成[4]。
地理標識語言(Geography Markup Language,GML)是由OGC于1999年提出的一種包括地理要素的空間與非空間特性信息的建模、傳輸和存儲的XML規范[5]。GML是一個開放、非強制性的標準,它提供了一套基本的幾何對象標識和公共的數據模型,并采用自建和共享應用Schema的機制。所有兼容GML的系統,可使用GML提供的幾何地物標識來表示地物的幾何特征,并通過限制、擴展等機制來創建自己的應用Schema[6]。
WebGIS采用當前較為成熟的J2EE 4層架構,即數據層、應用服務層、Web服務層和客戶層,各層間的相互聯系如圖1所示。

圖1 系統框架結構圖
2.1數據層
為了充分利用現有的各種數據資源,數據層的數據來源主包括4部分,即現有的Oracle空間數據庫、稅收業務關系數據庫、Mid/Mif或shapefile格式電子地圖以及通過WMS、GML或WFS等方式引進的外部共享空間數據,各種數據相互結合,共同構成WebGIS的數據源。
2.2應用服務層
應用服務層主要包括3大部分:企業級GIS空間操作中間件(EJB3.0)、稅收行業業務處理模塊(javabeans)和空間數據轉換服務中間件(EJB3.0)。
1)企業級GIS空間操作中間件 主要包括2部分,即GIS邏輯處理組件(會話beans)和空間數據訪問組件(實體beans),前者主要功能是提供地圖編輯(圖元增刪改查)、專題分析和空間分析功能和遠程訪問接口,后者則主要通過OCI接口訪問Oracle 空間數據庫并與相關的空間表綁定,以便于向前者提供數據支持。
2)稅收業務處理模塊 稅收業務處理模塊是一個javabeans,主要用于提供稅收業務相關的專業統計與分析函數與接口。
3)空間數據轉換服務中間件 空間數據轉換服務中間件也是一個EJB中間件,主要負責GML格式與非GML格式空間數據的相互轉換。EJB容器采用WebLogic9.0,應用服務層3大部分之間可以通過Home接口相互調用,并通過符合J2EE1.5標準的JNDI規范為客戶層提供統一地址標識服務。應用服務層除了具有提供業務與邏輯接口的功能外,還具有負載平衡、數據緩沖等功能,以保證系統更加安全高效地運行。
2.3Web服務層
Web服務層的主要包括Web服務器與地圖服務器,Web服務器主要負責與客戶端交互,接收客戶端的請求。當請求類型為非空間請求時,直接將請求發送給應用服務器處理,同時將應用服務器處理的結果反饋給用戶;如果接收到的請求是空間請求,則須先將空間請求轉發由地圖服務器解析,然后再提交給應用服務器處理,并將處理結果反饋給客戶端。地圖服務器(包括GIServices服務器)采用ArcServer9.2,它既可以解析普通的空間數據,也可以識別GML格式的空間數據,并支持基于GML的GIServices,ArcServer9.2可以直接以GML2.0的格式發布地圖數據。
2.4客戶層
客戶層主要用來與用戶進行交互,通過瀏覽器顯示GIF/JPEG、VML或SVG格式的柵格或矢量地圖。當GML作為客戶端和服務器端之間的數據傳輸格式時,如果用戶請求GML數據,則服務器直接把GML數據傳送給客戶;如果用戶需要顯示地圖,則服務器先將GML轉換成SVG或VML矢量格式后再發往客戶端顯示。采用GML作為傳輸格式可以在一定程度上降低網絡數據流量,并為與其它系統間的數據共享與互操作提供條件[6]。采用SVG作為客戶端地圖格式可以有效地支持幾何圖形對象的繪制、地圖圖形的顯示、矢量圖形的基本操作,不過SVG文件的顯示需要在瀏覽器中安裝相應的插件(如SVGViewer3.0等)。STAXGIS提供了2種不同類型的客戶端,即供稅務部門內部管理員使用的胖客戶端和供普通用戶使用的瘦客戶端。采用普通或移動Web瀏覽器作為客戶端,并通過SVG格式顯示結果,此類型屬于瘦客戶端模式,使用方便、實用性強。胖客戶端采用Applet插件的形式實現,客戶端運行時Applet必須從服務器端下載到客戶端,在客戶端進行地圖的操作與渲染,Applet主要處理非GML格式的空間數據。普通地圖查詢和編輯操作可由Applet直接在客戶端完成,而對于稅收征管高級專題分析功能,Applet可以由EJB遠程接口從應用層調用空間數據處理服務來完成。管理客戶端需要頻繁進行空間元素的編輯操作,同時對數據的安全性要求較高。Applet雖具有數據下載較慢的缺點,但是其性能較穩定、技術成熟,適用于復雜的空間數據編輯與分析操作。
3.1WebGIS主要功能
WebGIS的主要功能有以下3部分:①普通功能,包括網上報稅、納稅信息查詢、欠稅與信用查詢、稅源空間定位、稅收地圖瀏覽等。②高級功能,包括稅源空間管理、征收信息導入與導出、稅率與稅種設置、稅收專題分析與決策支持等。③維護功能,包括用戶信息管理、空間數據庫更新、系統間互操作接口設置以及系統維護等日常事務。WebGIS的用戶主要有普通用戶、稅務管理員和系統管理員。普通用戶主要適用于個體納稅人和企業納稅人,其通過瘦客戶端模式獲得服務,具有使用普通功能的權限;稅務管理員用戶主用適用于稅收征管員以及相關分管領導,其通過胖客戶端模式獲得服務,具有使用普通功能和高級功能的權限;系統管理員只適用于內部少數技術維護人員,其具有使用維護功能的權限。
3.2WebGIS的實現
1)WebGIS中GIServices的實現 GIServices服務器采用ArcServer9.2,為了減少防火墻對ArcServer所提供的遠程服務的攔截,并向廣大外網用戶提供統一的查詢定位、專題分析、數據轉換等相關服務,GIServices服務器必須在公共UDDI進行注冊,公共UDDI將采用WSDL對外發布GIServices接口參數與規范信息。客戶端的web瀏覽器和移動Wap瀏覽器通過UDDI查找以WSDL描述的的各種相關服務,并根據相關服務接口規范和SOAP協議來發送請求。Web服務器接收來自客戶端的SOAP請求,并把這些請求轉發給GIServices服務器來解析,GIServices服務器根據SOAP請求調用相關GIS功能模塊執行相應的操作,并生成和返回相應的SOAP應答,Web服務器接收SOAP應答并將其返回至客戶端。空間數據源是由數據層直接調用或經過應用層轉換過的空間數據,它是以GML格式傳輸與存儲的,可以由應用層或數據層的數據庫進行管理。
2)EJB中間件的實現 GIS應用服務器的是一個典型的EJB中間件,采用WebLogic9.0作為容器,其主要包括GIS邏輯處理組件(會話beans)和空間數據訪問組件(實體beans)2個部分。以下僅以圖元查詢定位為例說明GIS應用服務器中間件的實現。GIS應用服務器采用Remote接口對外提供服務,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應用服務器中間件可以通過Home接口調用會話SearchMapBean類和TaxinfoBean類(實體bean)來實現相關功能,Home接口定義的主要代碼如下:
public interface SearchMapHome extends javax.ejb.EJBHome{
public SearchMap create() throws CreateException, RemoteException;
}
TaxinfoBean是一個基于持久化類的實體bean,其主要作用是與空間數據庫的相關信息進行綁定,為其他類提供數據支持。
圖元查詢定位功能可以通過專門的SearchMapBean類(會話bean)的來具體實現,在實現過程中,可以在SearchMapBean類中調用實體bean。
針對當前異構稅收征管GIS在空間數據共享與互操作中存在的難題,提出了一種基于SOA的稅收征管GIS構建與集成方案。在Web2.0環境下,采用J2EE架構實現和部署WebGIS,通過GIS企業級中間件、GIServices相互集成以及不種格式空間數據的相互轉換,增強現有分散管理的異構稅收征管GIS平臺在分布式環境下的運算能力和互操作性,促進稅收空間數據的共享和標準化,提高稅收征管空間分析的整體效率。采用該方案對現有各異構GIS進行改造與統合,可使其具備兼容性好、跨平臺、成本低、可適用于不同用戶群體、業務處理和空間分析決策能力強等優點,可以較好地滿足日益繁重的稅收征管工作的需要,具有良好的應用前景。
[1]葉鈺,應時,李偉齋,等.面向服務體系結構及其系統構建研究[J].計算機應用研究,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]嚴海穎,朱征宇.XML在WebGIS系統中的應用[J].計算機應用,2003,23(3):136-138.
[4]常小慧,李宏偉,黃海文,等. 基于GML/SVG的WebGIS體系結構設計與實現[J].地球信息科學, 2006,18(4):35-41.
[5]游旭初,楊國強.基于GML的異構WebGIS空間信息共享研究[J].計算機與現代化,2007(9):37-39.
[6]楊昆,許泉立.SvG在WebGIS中的應用研究[J].測繪與空間地理信息,2005,28(3):1-3.
[編輯] 李啟棟
10.3969/j.issn.1673-1409.2012.01.034
TP319
A
1673-1409(2012)01-N106-04