檀 丁,李明峰,陶 虹,譚海權
(1.南京工業(yè)大學測繪學院,江蘇南京210009;2.蘇州工業(yè)園區(qū)格網(wǎng)信息科技有限公司,江蘇蘇州215021)
面向服務的3D WebGIS異構系統(tǒng)框架研究
檀 丁1,李明峰1,陶 虹2,譚海權2
(1.南京工業(yè)大學測繪學院,江蘇南京210009;2.蘇州工業(yè)園區(qū)格網(wǎng)信息科技有限公司,江蘇蘇州215021)
提出基于面向服務的架構體系,利用Web服務技術,解決構建3D WebGIS時選用分布式網(wǎng)絡結構帶來的數(shù)據(jù)共享及異構系統(tǒng)互操作等問題。并在研究面向服務架構(SOA)及Web服務的基礎上,建立基于ArcGIS Server的3D WebGIS試驗系統(tǒng),驗證SOA在3D WebGIS互操作中應用的可行性。
3D WebGIS;互操作;面向服務架構(SOA);Web服務
結合WebGIS與三維可視化技術形成的網(wǎng)絡三維地理信息系統(tǒng)(3D WebGIS)已成為GIS的發(fā)展趨勢。鑒于3D WebGIS的龐大體系及海量空間數(shù)據(jù),為減輕服務器壓力并提高效率,系統(tǒng)多采用分布式網(wǎng)絡結構。但由此造成的數(shù)據(jù)形式多樣性及分布系統(tǒng)間的差異性,即系統(tǒng)的異構,使得數(shù)據(jù)與功能的共享及互操作成為難點[1]。本文提出采用面向服務的架構體系,特別是利用Web服務,實現(xiàn)3D WebGIS異構系統(tǒng)間的數(shù)據(jù)及功能的共享與互操作。
1.分布式GIS的異構及缺陷
隨著應用的復雜化,網(wǎng)絡應用從最初的兩層C/ S結構發(fā)展為多層B/S模式,同時,數(shù)據(jù)庫與應用邏輯的分離,也使數(shù)據(jù)端壓力減小。但由于系統(tǒng)復雜性不斷增強,客戶對Web服務端的訪問頻率猛增,單一服務器無法及時處理大量空間信息服務操作[2],因此產(chǎn)生了分布式網(wǎng)絡結構。而將這種結構應用于GIS所形成的分布式GIS是指GIS數(shù)據(jù)和應用程序分散于多個服務器,從而克服了傳統(tǒng)集中式系統(tǒng)易導致中心服務器資源緊張及響應遲緩的缺陷。但也帶來了分布式GIS平臺中的異構系統(tǒng)間互操作及數(shù)據(jù)集成與共享等問題。
作為比傳統(tǒng)GIS系統(tǒng)更復雜的3D WebGIS系統(tǒng),為了實現(xiàn)海量空間數(shù)據(jù)的均衡分布和復雜計算的分散式布局,理所當然采用了分布式網(wǎng)絡結構。但同樣面臨平臺中異構系統(tǒng)間的數(shù)據(jù)共享及互操作等難題。
2.異構GIS的互操作
對于采用分布式結構的3D WebGIS系統(tǒng),分布于多個數(shù)據(jù)服務器的空間數(shù)據(jù)常采用不同的數(shù)據(jù)格式;分布式應用邏輯則需要使用分布式的對象模型;分散于不同服務器的子系統(tǒng)多采用緊耦合,因此造成了3D WebGIS平臺內(nèi)的數(shù)據(jù)及子系統(tǒng)間的異構。為了將分布于不同服務器的資源整合為一個完整的3D WebGIS系統(tǒng),就要求既要實現(xiàn)異構空間數(shù)據(jù)的共享,又要完成數(shù)據(jù)、功能的互操作。
所謂互操作,是指不同功能單元間相互通信、執(zhí)行程序、傳遞數(shù)據(jù)的能力[3]。傳統(tǒng)意義上的GIS互操作包括空間數(shù)據(jù)的相互轉(zhuǎn)換、開放應用程序接口(API)等[4]。但因數(shù)據(jù)格式的差異,數(shù)據(jù)轉(zhuǎn)化勢必造成信息丟失,而針對不同API編程,則工作量大、擴展性差。因此亟須研究一種新的模式,以實現(xiàn)3D WebGIS異構系統(tǒng)的互操作。
針對上述分布式系統(tǒng)在集成及互操作方面的缺陷,本文提出采用面向服務架構來解決資源共享及互操作問題。
1.面向服務架構(SOA)
面向服務架構(SOA)是一種松耦合、基于標準和獨立于協(xié)議的分布式軟件設計模型[5]。其目的是解決大型系統(tǒng)中不同模塊、不同功能的相互調(diào)用問題,以提高系統(tǒng)開發(fā)過程中數(shù)據(jù)交換的靈活性、程序和數(shù)據(jù)的重用性及系統(tǒng)的擴展性[6]。
在此架構下,服務成為核心概念。SOA由一系列相互交互的服務組成[7],服務定義了一個與業(yè)務數(shù)據(jù)或業(yè)務功能有關的接口,且不依賴于特定技術或平臺[8]。這種通過服務實現(xiàn)業(yè)務功能的方式具有跨平臺、易擴展、可復用等特性。SOA結構(如圖1所示)包括服務提供者、服務注冊中心和服務請求者。服務提供者將服務的描述信息發(fā)布到服務注冊中心,服務請求者則在注冊中心查找、定位所需服務,并調(diào)用該服務。
圖1 SOA結構圖
2.基于SOA的Web服務
(1)Web服務及特性
Web服務作為SOA的一種具體實現(xiàn)方式,是封裝成單個實體并發(fā)布到網(wǎng)絡上供其他程序使用的功能集合。它提供一個與運行環(huán)境、程序語言無關的平臺來實現(xiàn)網(wǎng)絡應用的共享,并具有如下特性。
1)封裝性:Web服務將服務的實現(xiàn)過程與服務接口分離,對于使用者,只需了解服務接口,不必追究其實現(xiàn)過程,具有良好的封裝性。
2)互操作性:因采用SOA的體系結構,避免了不同協(xié)議間轉(zhuǎn)換的問題??晒┎煌脚_、不同語言的系統(tǒng)間調(diào)用。
3)松散耦合:因服務的實現(xiàn)與調(diào)用接口分離,因此對使用者而言,只要服務調(diào)用界面不發(fā)生改變,服務實現(xiàn)過程發(fā)生的變化,并不影響其使用[8]。
(2)Web服務實現(xiàn)互操作的關鍵技術
簡單對象訪問協(xié)議(SOAP)、Web服務描述語言(WSDL)以及統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI)[9]是Web服務的3大關鍵技術。
SOAP作為分布式環(huán)境下信息交換的輕量級協(xié)議,在服務請求者和服務提供者之間定義了一個通信協(xié)議[8]。建立在這些通信協(xié)議上的Web服務需要通過基于XML語法的WSDL進行描述。WSDL為服務提供了描述構建在不同協(xié)議或編碼方式上的Web服務或Web服務中的方法[10]。而UDDI則是用來存儲業(yè)務信息和發(fā)布服務的注冊表,該注冊表是一個關于所有注冊的 Web服務的信息集合[10]。
Web服務為用戶提供了一種標準化接口(如圖2所示),即一種公認的統(tǒng)一接口。在實際應用中,這些公共接口是開發(fā)者根據(jù)接口規(guī)范開發(fā)的交互式組件,各系統(tǒng)通過這些組件來實現(xiàn)不同類型地理數(shù)據(jù)和地理處理的透明訪問。由于這類接口具有統(tǒng)一形式,不同異構系統(tǒng)均能調(diào)用,因此異構系統(tǒng)間互操作可通過這一標準接口進行串聯(lián)。
圖2 基于Web服務公共接口的互操作
3D WebGIS相對于平面GIS系統(tǒng),最大的特點在于三維數(shù)據(jù)的網(wǎng)絡共享及操作。本文采用開放地理信息聯(lián)盟(OGC)針對三維空間數(shù)據(jù)而提出的服務——網(wǎng)絡三維模型服務(W3DS)進行三維數(shù)據(jù)的網(wǎng)絡傳遞及展現(xiàn)。
1.網(wǎng)絡三維模型服務(W3DS)與三維地圖
OGC針對空間地理信息標準化及空間數(shù)據(jù)互操作制定了GIS Web服務框架。該框架包括網(wǎng)絡地圖服務(WMS)、網(wǎng)絡地形服務(WTS)、網(wǎng)絡要素服務(WFS)等。而網(wǎng)絡三維模型服務(W3DS)則是對指定區(qū)域的三維地理數(shù)據(jù)和地理元素進行傳遞和展示。可通過W3DS提供的動態(tài)三維場景在客戶端進行渲染并支持用戶交互式的瀏覽。但僅用W3DS只能提供瀏覽,不能體現(xiàn)出地理信息。因此,為實現(xiàn)三維GIS功能,需整合WFS在內(nèi)的其他GIS服務。
W3DS實現(xiàn)的是對已有三維模型數(shù)據(jù)的傳遞和展現(xiàn),而更基礎的則是3D WebGIS中三維模型的構建,即三維地圖的創(chuàng)建。三維地圖包含三維地形建模及三維建筑建模等。三維地形建模可采用數(shù)字高程模型(DEM)構造不規(guī)則三角網(wǎng)(TIN),以此方式建立的模型能逼真模擬出地形的起伏;三維建筑建模則可采用帶有高程的平面數(shù)據(jù)直接按高程拉升或?qū)I(yè)三維建模軟件建模兩種方式,最終將地形、建筑及小品數(shù)據(jù)整合為完整的三維地圖,并通過W3DS發(fā)布成三維地圖服務。
2.基于Web服務的3D WebGIS框架
針對以上研究,筆者提出構建基于Web服務的3層分布式結構的3DWebGIS系統(tǒng)框架,其結構(如圖3所示)中含有系統(tǒng)客戶端、服務層及空間數(shù)據(jù)庫3層。
圖3 基于Web服務的3D WebGIS架構
1)客戶端主要實現(xiàn)三維空間數(shù)據(jù)的渲染及動態(tài)交互,以及對服務結果的表現(xiàn)??蔀槠胀g覽器或特定的三維系統(tǒng)瀏覽平臺。
2)服務層包括對三維數(shù)據(jù)庫中模型的調(diào)用及相應的分析計算。根據(jù)SOA中指定的角色,需建立UDDI注冊中心,對現(xiàn)有三維GIS服務進行發(fā)布和管理。通過WSDL動態(tài)綁定GIS服務,實現(xiàn)三維空間數(shù)據(jù)的傳輸和交互,并進行三維分析計算,將最終結果返回客戶端。通過Web服務的方式實現(xiàn)三維異構系統(tǒng)間的數(shù)據(jù)及分析功能的共享和互操作。
3)數(shù)據(jù)庫包含基礎地理信息數(shù)據(jù),以及三維地形、建筑模型和紋理數(shù)據(jù)等,為了實現(xiàn)三維分析功能,還存儲了三維屬性數(shù)據(jù)等。
用戶通過客戶端發(fā)送服務請求,Web服務器發(fā)回WSDL文件,描述服務接口。在此基礎上,用戶通過調(diào)用接口綁定GIS Web服務及三維GIS服務,并將服務結果以通用協(xié)議的形式返回客戶端??蛻舳藙t根據(jù)返回的文件解析出結果并展示出來。
在研究了采用服務架構進行異構系統(tǒng)互操作的基礎上,筆者應用Esri公司推出的基于SOA的服務端產(chǎn)品ArcGIS Server,開發(fā)了3D WebGIS試驗系統(tǒng)(如圖4所示)。
圖4 基于ArcGIS Server的園區(qū)三維系統(tǒng)
以蘇州工業(yè)園區(qū)內(nèi)10 km2的TIN模型及正射影像圖構造地形模型,并結合該區(qū)域內(nèi)的三維建筑模型及其他地理數(shù)據(jù)作為數(shù)據(jù)層??蛻舳藙t選用支持三維瀏覽的ArcGIS Explorer瀏覽平臺,以實現(xiàn)三維地圖的漫游、縮放以及GIS分析結果的展示。
本系統(tǒng)通過采用面向服務的分布式結構,完成了三維數(shù)據(jù)的瀏覽顯示,并實現(xiàn)了包括空間查詢、斷面分析、路徑分析、屬性查詢等在內(nèi)的空間分析功能。驗證了面向服務的分布式3D WebGIS的可行性及其對異構系統(tǒng)的良好數(shù)據(jù)共享和互操作性。
通過具有典型SOA架構的ArcGIS Server部署3D WebGIS,不僅實現(xiàn)了三維數(shù)據(jù)的瀏覽,并能結合ArcGIS強大的分析功能,利用空間信息處理服務的方式,進行三維空間分析,從而真正實現(xiàn)GIS為決策服務?;贏rcGIS Server的試驗系統(tǒng)表明,利用面向服務的分布式架構不僅能實現(xiàn)異構3DWebGIS的互操作,更能提供高效的三維數(shù)據(jù)瀏覽及空間分析功能。
[1] 張書亮,戚海峰,張亦鳴,等.空間互操作框架集成模式分析[J].地球信息科學,2006,8(4):88-95.
[2] 龔震宇,賈利民.一種分布式空間信息服務的互操作模型[J].交通運輸系統(tǒng)工程與信息,2005,5(6): 62-67.
[3] 郭雷,方立東,陳天滋.基于Web服務的數(shù)字城市信息資源共享平臺[J].計算機工程與設計,2005,26(3):627-633.
[4] 張明明,梁勇.基于Web Service的GIS互操作研究[J].計算機與現(xiàn)代化,2007(10):114-116.
[5] 鄒濱,曾永年,董明輝,等.SOA理念下面向Web服務的網(wǎng)絡空間數(shù)據(jù)共享模型研究[J].測繪科學,2008,33(5):106-108.
[6] 蔣許鋒,李承鑫,王冬.基于SOA的城市道路橋梁巡查GIS系統(tǒng)的實現(xiàn)[J].城市勘察,2010(4):67-69.
[7] 李德仁,黃俊華,邵振峰.面向服務的數(shù)字城市共享平臺框架的設計與實現(xiàn)[J].武漢大學學報:信息科學版,2008,33(9):881-885.
[8] 魯喆.面向服務的水利GIS平臺構建[D].南昌:南昌大學,2008.
[9] 唐桂文.基于數(shù)字地球平臺的地理信息服務[D].北京:首都師范大學,2008.
[10] 易敏.面向服務架構(SOA)的空間信息服務研究[D].上海:華東師范大學,2008.
Research on the Framework of 3D WebGIS Heterogeneous Systems Based on Service-oriented Architecture
TAN Ding,LI Mingfeng,TAO Hong,TAN Haiquan
0494-0911(2011)10-0065-03
P208
B
2011-04-22
江蘇省測繪局科研資助項目(JSCHKY200903);國土環(huán)境與災害監(jiān)測國家測繪局重點實驗室開放基金資助項目(LEDM2010B05)
檀 丁(1987—),男,安徽安慶人,碩士生,主要研究方向為GIS及其三維可視化。