李紅衛(wèi) 王伯槐
摘 要:面向?qū)ο蠛头植际接?jì)算技術(shù)的發(fā)展促進(jìn)了WebGIS向分布式、組件化方向演變。將分布式體系和面向?qū)ο蟮乃枷胍隚IS系統(tǒng),是GIS發(fā)展的必然趁勢(shì)。概括分布式技術(shù)下WebGIS的現(xiàn)狀和發(fā)展,分析目前WebGIS的不足和缺陷。在對(duì)Allan Doyle分步驟模型研究的基礎(chǔ)上,提出WebGIS的分布互操作模型。最后,給出一種基于CORBA的WebGIS實(shí)現(xiàn)模型。它能充分利用服務(wù)器端資源,支持多用戶的并發(fā)操作,具有較高的安全性和與客戶端平臺(tái)無關(guān)的優(yōu)點(diǎn)。
關(guān)鍵詞:地理信息系統(tǒng);空間數(shù)據(jù);WebGIS;分布式模型;CORBA
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004-373X(2009)04-155-03
Study about Distribution and Interaction Model of WebGIS Based on Object
LI Hongwei,WANG Bohuai
(Yulin College,Yulin,719000,China)
Abstract:With the development of object-oriented and distributed computing technology,WebGIS is developing in the direction of distribution and component.The structure of distribution and the idea of object-oriented is the inevitable trend of its development.This article analyses the shortage of the presented WebGIS,and studies about system framework Allan Doyle′s step-model of GIS.A distribution model of WebGIS and implementation model of WebGIS based on CORBA are proposed.It makes full use of the resource of server and supports operations of multiple users simultaneously,it has high security and is independent of the client platform.
Keywords:geography information system;space data;WebGIS;distribute model;CORBA
分布式地理信息系統(tǒng)就是利用最先進(jìn)的分布式計(jì)算技術(shù)來處理分布在網(wǎng)絡(luò)上的異構(gòu)多源的地理信息,集成網(wǎng)絡(luò)不同平臺(tái)上的空間服務(wù),構(gòu)建一個(gè)物理上分布,邏輯上統(tǒng)一的地理信息系統(tǒng)。它與傳統(tǒng)的地理信息系統(tǒng)的最大區(qū)別在于數(shù)據(jù)分布性和針對(duì)其中數(shù)據(jù)處理的計(jì)算的分布性。有關(guān)WebGIS的設(shè)計(jì)與實(shí)現(xiàn)的理論思想已經(jīng)很成熟。然而,目前的WebGIS模型在開放性和互操作性方面還存在一定的缺陷,這里僅此做探討。
1 分布式技術(shù)下的WebGIS
1.1 分布式技術(shù)與分布式計(jì)算模型
分布計(jì)算是指在獨(dú)立的計(jì)算機(jī)集合系統(tǒng)中,通過網(wǎng)絡(luò)通信來開發(fā)、部署、管理和維護(hù)以資源共享和協(xié)同操作為主要應(yīng)用目標(biāo)的分布式應(yīng)用系統(tǒng)。分布式系統(tǒng)中計(jì)算機(jī)在網(wǎng)絡(luò)中的分布和互聯(lián)僅是分布式計(jì)算的必要條件,分布式系統(tǒng)統(tǒng)一的邏輯特性才是其充分條件。
分布式計(jì)算的實(shí)現(xiàn)主要依賴于經(jīng)典的客戶機(jī)/服務(wù)器模型(如圖1所示)。客戶機(jī)發(fā)出請(qǐng)求,服務(wù)器在接到客戶的請(qǐng)求后提供服務(wù)。通過平衡客戶機(jī)和服務(wù)器的負(fù)載,以實(shí)現(xiàn)分布式資源和信息的共享。隨著對(duì)象模型、構(gòu)件技術(shù)、Web技術(shù)的不斷進(jìn)步,分布式計(jì)算開始向分散對(duì)等的協(xié)同計(jì)算方向發(fā)展,分布式對(duì)象技術(shù)正成為分布計(jì)算的主流。
1.2 傳統(tǒng)WebGIS模型分析
傳統(tǒng)的WebGIS系統(tǒng)采用萬維網(wǎng)應(yīng)用系統(tǒng)的三層或多層結(jié)構(gòu)(如圖1所示)。在Web服務(wù)器端可以完成功能強(qiáng)大的空間數(shù)據(jù)庫訪問;在客戶端,用獨(dú)立于系統(tǒng)平臺(tái)的JavaApplet和特定平臺(tái)上的ActiveX及瀏覽器插件技術(shù)增強(qiáng)它的功能。
WebGIS系統(tǒng)的出現(xiàn)推動(dòng)了空間數(shù)據(jù)的廣泛應(yīng)用。但是,這些系統(tǒng)都是為某一種特定應(yīng)用而設(shè)計(jì)的,如果用戶在使用一個(gè)WebGIS系統(tǒng)瀏覽一個(gè)空間信息系統(tǒng)中的數(shù)據(jù)時(shí),需查看其他空間數(shù)據(jù)庫中的數(shù)據(jù),甚至想把這些數(shù)據(jù)整合起來,是非常困難的。因?yàn)檫@些WebGIS系統(tǒng)所采用的空間數(shù)據(jù)技術(shù)基礎(chǔ)決定了它們的封閉性[1]。
由于WebGIS系統(tǒng)對(duì)空間數(shù)據(jù)本身處理保持著完全封閉的狀態(tài)(如圖2所示)決定了它們自身的封閉性,使它們彼此無法共享數(shù)據(jù)和處理過程。這種缺乏開放性的WebGIS空間數(shù)據(jù)模型帶來的直接后果就是用戶很困難,甚至于無法從異構(gòu)系統(tǒng)中取得相關(guān)的空間數(shù)據(jù),并把它們?nèi)诤蠟橐粋€(gè)完整的萬維網(wǎng)空間數(shù)據(jù)應(yīng)用系統(tǒng)。將來更為嚴(yán)重的后果就是關(guān)于NSDI(國家空間數(shù)據(jù)基礎(chǔ)設(shè)施)、GSDI(全球空間數(shù)據(jù)基礎(chǔ)組織)和“數(shù)字中國”乃至“數(shù)字城市”的構(gòu)想和實(shí)施不能建立在這樣的空間數(shù)據(jù)模型之上。
可以看到,傳統(tǒng)WebGIS數(shù)據(jù)模型系統(tǒng)只能實(shí)現(xiàn)用戶交互性和部分的可擴(kuò)展及分布能力,而把NSDI、GSDI和“數(shù)字地球”對(duì)空間數(shù)據(jù)基礎(chǔ)設(shè)施所要求的根本特征——分布互操作性卻丟掉。
2 分布互操作WebGIS結(jié)構(gòu)模型
2.1 WebGIS數(shù)據(jù)處理的分步驟模型
Allan Doyle提出基于Web的空間數(shù)據(jù)分步驟模型,將WebGIS對(duì)空間數(shù)據(jù)的顯示劃分為4個(gè)處理過程[2],即空間數(shù)據(jù)選擇,顯示序列的構(gòu)造,地圖的生成和地圖的顯示,如圖3所示。
(1) 空間數(shù)據(jù)的選擇。從空間數(shù)據(jù)源中選擇出要顯示的地理實(shí)體數(shù)據(jù);
(2) 顯示序列的構(gòu)造。把選擇出來的地理實(shí)體數(shù)據(jù)組合生成一個(gè)顯示元素的序列;
(3) 地圖生成。將顯示元素系列生成最終要顯示的地圖結(jié)果;
(4) 地圖顯示。將準(zhǔn)備好的地圖送往顯示設(shè)備進(jìn)行最終顯示;
如將上述地學(xué)空間可視化過程看作相對(duì)獨(dú)立的步驟,每一步驟都接受某一特定形式的空間數(shù)據(jù)作輸入,并輸出某種形式的中間結(jié)果。箭頭表示調(diào)用和執(zhí)行關(guān)系。
2.2 分步式WebGIS體系結(jié)構(gòu)
分步驟服務(wù)模型沒有限制相鄰兩個(gè)步驟必須在一臺(tái)機(jī)器上執(zhí)行,當(dāng)其中兩個(gè)相鄰步驟被Internet分開時(shí),就得到3種可能的WebGIS系統(tǒng)體系結(jié)構(gòu),見圖4。
(1) 瘦客戶方式,即客戶端請(qǐng)求地圖圖像的方式。在該結(jié)構(gòu)下,作為客戶端的瀏覽器只進(jìn)行圖象顯示,而把選擇空間數(shù)據(jù),生成顯示元素序列和地圖圖像的步驟放在服務(wù)器端。優(yōu)點(diǎn)是客戶端不需要下載任何組件或插件;缺點(diǎn)是所有的操作均在服務(wù)器端進(jìn)行,對(duì)服務(wù)器端性能要求較高,特別是在有大量客戶端請(qǐng)求服務(wù)時(shí),會(huì)造成響應(yīng)不及時(shí),不適合交互性較強(qiáng)的WebGIS系統(tǒng)。其代表性的技術(shù)主要有基于CGI(Common Gateway Interface)的實(shí)現(xiàn)方法和基于Server API的方法。
(2) 胖客戶方式,即客戶端請(qǐng)求空間數(shù)據(jù)的方式。服務(wù)器端只執(zhí)行查詢,從空間數(shù)據(jù)源中得到需要的空間數(shù)據(jù),然后把數(shù)據(jù)發(fā)送到客戶方。由瀏覽器上的Java Applet、ActiveX或?yàn)g覽器插件進(jìn)行后面的處理操作。瀏覽器生成最終結(jié)果時(shí),還會(huì)向服務(wù)器請(qǐng)求必要的顯示符號(hào)信息。優(yōu)點(diǎn)是響應(yīng)速度快;缺點(diǎn)是由于客戶端軟件功能有限,限制了WebGIS的高級(jí)應(yīng)用,適用于交互性強(qiáng),但對(duì)WebGIS應(yīng)用要求不高的場(chǎng)合。
(3) 混合方式,即客戶端請(qǐng)求圖形元素的方式??蛻舳擞傻貓D生成和顯示2部分組成,通過Java Applet,ActiveX來實(shí)現(xiàn),由它們向服務(wù)器請(qǐng)求要顯示的圖形元素或地圖圖像。其優(yōu)點(diǎn)是綜合考慮了客戶機(jī)、服務(wù)器的計(jì)算能力和網(wǎng)絡(luò)傳輸能力,能夠均衡負(fù)載,提高系統(tǒng)整體性能;缺點(diǎn)是合理部署客戶端與服務(wù)器端功能有一定難度,實(shí)現(xiàn)復(fù)雜,靈活性差。
上述3種WebGIS的體系結(jié)構(gòu)可以滿足基于Web的不同用戶的應(yīng)用需求。由于它們都是基于空間數(shù)據(jù)處理的分步驟服務(wù)模型,所以不論采用哪種結(jié)構(gòu),都可保證它們對(duì)空間數(shù)據(jù)處理的一致性。
采用上述空間數(shù)據(jù)模型的WebGIS系統(tǒng),可以保證每個(gè)系統(tǒng)上面一個(gè)步驟可以調(diào)用其他WebGIS系統(tǒng)相應(yīng)下面步驟的服務(wù)。不同的客戶/服務(wù)器結(jié)構(gòu),僅是讓哪兩個(gè)處理步驟之間的服務(wù)調(diào)用跨越因特網(wǎng)而已(如圖5所示),從而實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的分布互操作性。
然而,要實(shí)現(xiàn)此分布模型,必須處理好跨平臺(tái)進(jìn)程之間的通信和協(xié)同工作問題。當(dāng)然,利用移動(dòng)Agent技術(shù)結(jié)合CORBA模型框架,能夠方便實(shí)現(xiàn)這種模型。
3 基于CORBA的WebGIS構(gòu)架模式
公共對(duì)象請(qǐng)求代理構(gòu)架(Common Object Request Broker Architecture,CORBA)是由對(duì)象管理組織OMG制定的一個(gè)工業(yè)標(biāo)準(zhǔn)。其主要目標(biāo)是提供一種機(jī)制,使對(duì)象可以透明地發(fā)出請(qǐng)求和獲得應(yīng)答,從而建立一個(gè)異構(gòu)的分布式應(yīng)用環(huán)境[3]。
CORBA構(gòu)架模式充分利用現(xiàn)今軟件技術(shù)研究的最新成果,在基于網(wǎng)絡(luò)的分布式應(yīng)用環(huán)境下實(shí)現(xiàn)應(yīng)用軟件的集成,使得面向?qū)ο蟮能浖诜植?、異?gòu)環(huán)境下實(shí)現(xiàn)可重用、可移植和互操作。其最突出的特點(diǎn)是中間件的引入和使用了對(duì)象模型,使客戶機(jī)獨(dú)立于服務(wù)器系統(tǒng),提高了系統(tǒng)的安全性。而且分布在網(wǎng)絡(luò)中應(yīng)用對(duì)象的獲取只取決于網(wǎng)絡(luò)的暢通性和服務(wù)對(duì)象特征獲取的準(zhǔn)確程度,與對(duì)象的位置以及對(duì)象所處的設(shè)備環(huán)境無關(guān)[3,4]。
這種基于CORBA的WebGIS構(gòu)架模式的特點(diǎn)為:客戶遵循服務(wù)對(duì)象的對(duì)外接口標(biāo)準(zhǔn),向服務(wù)對(duì)象提出業(yè)務(wù)請(qǐng)求,由ORB(Object Request Broker)在分布式對(duì)象間建立客戶服務(wù)對(duì)象關(guān)系。如圖6所示,客戶端以客戶樁的方式通過ORB機(jī)制與服務(wù)器聯(lián)系。
4 結(jié) 語
目前的WebGIS模型是GIS 發(fā)展中的一種“簡(jiǎn)易分布”模型,其實(shí)質(zhì)亦是采用不對(duì)等的C/S結(jié)構(gòu)的集中模式。WebGIS要達(dá)到徹底的分布性、互操作性、交互性、擴(kuò)展性和移動(dòng)性,以及異構(gòu)數(shù)據(jù)的訪問,客戶端功能的擴(kuò)充等,還需人們繼續(xù)探討。
參 考 文 獻(xiàn)
[1]承繼成,李琪,易衫楨.國家空間信息基礎(chǔ)設(shè)施與數(shù)字地球[M].北京:清華大學(xué)出版社,1999.
[2]王映輝,周明全,耿國華.面向軟件Agent 的“數(shù)字城市”組織模型研究[J].計(jì)算機(jī)科學(xué),2001,9(28):30-32.
[3] OMG.CORBA服務(wù)[M].韋樂平,譯.北京:電子工業(yè)出版社,2002.
[4]Open GIS Consortium.OpenGIS Specification:Overview.Wayland(MA),2003.
[5]潘愛民.COM原理及應(yīng)用[M].北京:清華大學(xué)出版社,2000.
[6]Wu Xincai,Guo Lingling,Bai Yuqi.Developing Analysis and Implementation of WebGIS[J].Computer Engineering and Applications,2004(5):69-99.
[7]簡(jiǎn)鐘.GIS開發(fā)中面向?qū)ο蠓椒ǖ膸讉€(gè)關(guān)鍵技術(shù)的應(yīng)用研究[J].計(jì)算機(jī)與現(xiàn)代化,2000(5):31-33.
[8]Wang Leichun,Guan Jihong,Zhou Shuigeng.Building GIS Web Services on JXTA Network[M].北京:清華大學(xué)出版社,2004.
[9]史文中.空間數(shù)據(jù)與空間分析不確定性原理[M].北京:科學(xué)出版社,2005.
[10]朱勤,陳繼紅.基于分布對(duì)象技術(shù)的WebGIS設(shè)計(jì)與實(shí)現(xiàn)[J].電子工程師,2004,30(8):57-58,62.
作者簡(jiǎn)介
李紅衛(wèi) 男,1966年出生,碩士,副教授。研究方向?yàn)閃eb技術(shù)。
王伯槐 男,1979年出生,碩士,助教。研究方向?yàn)檐浖w系結(jié)構(gòu)和軟件演化技術(shù)。