基于Java RMI的分布式WebGIS模型研究_第1頁(yè)
基于Java RMI的分布式WebGIS模型研究_第2頁(yè)
基于Java RMI的分布式WebGIS模型研究_第3頁(yè)
基于Java RMI的分布式WebGIS模型研究_第4頁(yè)
基于Java RMI的分布式WebGIS模型研究_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Java RMI的分布式WebGIS模型研究阮萍1 ,王華1 ,郭炳慶2(1首都師范大學(xué)信息工程學(xué)院 北京100037)(2 中國(guó)電力科學(xué)研究院農(nóng)電所 北京 100085)摘要:WebGIS是當(dāng)前GIS的技術(shù)熱點(diǎn),立足于WebGIS的分布式特性,在分析Java RMI特點(diǎn)以及優(yōu)勢(shì)的基礎(chǔ)上提出基于Java RMI的分布式WebGIS構(gòu)造模型,并且詳細(xì)介紹了空間數(shù)據(jù)模型、組件注冊(cè)服務(wù)器等相關(guān)概念和主要實(shí)現(xiàn)技術(shù)。關(guān)鍵詞:WebGIS Java RMI 分布式Research on Java RMI-based Distributed WebGIS ModelRuan Ping1 ,Wang Hu

2、a1 ,Guo Bingqing2 (1 Info.& Eng. Institute, Capital Normal Univercity,Beijing,100037)(2 Country Electric Dept. of China Electric Power Research Institute,Beijing,100085)Abstract: WebGIS is current GIS developing hotspot. This article based on the distributed characteristics of WebGIS, a model of

3、 distributed WebGIS is put forword after analyzed the trait and advantage of Java RMI. Some relevant conception such as geospatial data model and compoment registration server and implement technology are introduced.Key words: WebGIS Java RMI Distributed1 引言地理信息系統(tǒng)(GIS)是集計(jì)算機(jī)科學(xué)、地理學(xué)、測(cè)繪遙感學(xué)、環(huán)境科學(xué)、城市科學(xué)、空間科

4、學(xué)、信息科學(xué)、應(yīng)用數(shù)學(xué)、管理科學(xué)為一體的新興科學(xué)。它將空間數(shù)據(jù)處理,屬性數(shù)據(jù)處理,空間分析與模型分析同計(jì)算機(jī)技術(shù)緊密結(jié)合,通過(guò)數(shù)據(jù)準(zhǔn)備,系統(tǒng)建立,空間分析與模型分析,產(chǎn)生對(duì)資源環(huán)境,區(qū)域規(guī)劃,管理決策,災(zāi)害防治等有用的信息。因此被廣泛應(yīng)用于市政、土地、管網(wǎng)、農(nóng)林、水利、電力等領(lǐng)域1。隨著Internet技術(shù)的不斷發(fā)展和人們對(duì)地理信息系統(tǒng)(GIS)的需求,利用Internet在Web上發(fā)布和出版空間數(shù)據(jù),為用戶提供空間數(shù)據(jù)瀏覽、查詢和分析的功能,已經(jīng)成為GIS發(fā)展的必然趨勢(shì)。WebGIS與傳統(tǒng)的GIS的本質(zhì)區(qū)別在于其分布式特性,其分布性首先體現(xiàn)在數(shù)據(jù)上,WebGIS的數(shù)據(jù)源分布在網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)上

5、,而非集中于一臺(tái)計(jì)算機(jī);其次是處理分布,即滿足用戶要求的各個(gè)GIS功能模塊可能分布在多臺(tái)計(jì)算機(jī)上;第三是用戶分布,WebGIS用戶具有不固定性,他們可處于網(wǎng)絡(luò)的任何結(jié)點(diǎn)。因此WebGIS系統(tǒng)的構(gòu)建需要分布式的計(jì)算平臺(tái)2。分布式計(jì)算平臺(tái)提供一種可以伸縮的由服務(wù)器到服務(wù)器的體系結(jié)構(gòu),服務(wù)器對(duì)象可以運(yùn)行在多個(gè)服務(wù)器上,從而可以動(dòng)態(tài)平衡客戶端請(qǐng)求的負(fù)載。2 Java RMI開(kāi)發(fā)WebGIS的優(yōu)勢(shì)及特點(diǎn)目前比較流行的分布式對(duì)象計(jì)算工業(yè)標(biāo)準(zhǔn)主要有三種:Microsoft的DCOM(Distributed Component Object Model), OMG (Object Management Gro

6、up)的CORBA(Common Object Request Broker Architecture)以及Javasoft的Java RMI(Java Remote Method Invocation)。由于DCOM的平臺(tái)局限性和CORBA實(shí)現(xiàn)的復(fù)雜性,Java技術(shù)被廣泛的應(yīng)用于網(wǎng)絡(luò)GIS中。針對(duì)分布式計(jì)算,Java提供了一系列簡(jiǎn)單易用的解決方法。通過(guò)支持Java的瀏覽器,Java Applet技術(shù)可以在客戶機(jī)下載類文件用以構(gòu)造用戶界面或進(jìn)行簡(jiǎn)單的GIS操作;Java Bean技術(shù)提供了一種創(chuàng)建可復(fù)用組件的方法;Java RMI提供遠(yuǎn)程方法調(diào)用;JDBC(JDBC-ODBC)簡(jiǎn)化了內(nèi)部對(duì)象與

7、外部數(shù)據(jù)庫(kù)之間操作等等4。Java RMI是一個(gè)純Java分布式計(jì)算解決方案。RMI允許在Java中編寫分布式對(duì)象,并允許對(duì)象在內(nèi)存中通信,可跨越Java虛擬機(jī)通信,也可跨越物理設(shè)備。RMI對(duì)象由遠(yuǎn)程接口及其實(shí)現(xiàn)類組成,當(dāng)RMI客戶機(jī)利用方法調(diào)用訪問(wèn)遠(yuǎn)程接口時(shí),這些方法調(diào)用將穿越網(wǎng)絡(luò)傳輸?shù)絉MI服務(wù)器。RMI服務(wù)器利用方法調(diào)用訪問(wèn)RMI實(shí)現(xiàn)的對(duì)象,然后把結(jié)果通過(guò)網(wǎng)絡(luò)回送給RMI客戶機(jī)。客戶機(jī)與服務(wù)器并不是固定的,在一個(gè)應(yīng)用程序中它們可以更換角色。Java對(duì)象在客戶機(jī)與服務(wù)器之間傳輸是借助于編組后的根程序(Stub)和框架程序(Skeleton)。當(dāng)客戶機(jī)需要調(diào)用遠(yuǎn)程對(duì)象的方法時(shí),參數(shù)被封裝在遠(yuǎn)

8、程對(duì)象的根程序中,根程序被編組傳遞給服務(wù)器,在服務(wù)器端,遠(yuǎn)程對(duì)象的框架程序?qū)⒕幗M后根程序中的參數(shù)取出傳遞給實(shí)際對(duì)象來(lái)執(zhí)行遠(yuǎn)程方法,操作完成后結(jié)果返回給客戶機(jī),Java對(duì)象傳遞過(guò)程如圖1所示:遠(yuǎn)程對(duì)象Stub遠(yuǎn)程對(duì)象Skeleton實(shí)際對(duì)象應(yīng)用程序客戶機(jī)服務(wù)器遠(yuǎn)程對(duì)象參數(shù)流結(jié)果流圖1:Java 遠(yuǎn)程對(duì)象傳遞過(guò)程fig1:Java Remote object passing procedure3 系統(tǒng)模型目前應(yīng)用比較普遍的WebGIS構(gòu)造模型是由表示層,應(yīng)用邏輯層和數(shù)據(jù)庫(kù)層構(gòu)成的3層B/S結(jié)構(gòu)。其中應(yīng)用邏輯層在GIS系統(tǒng)中是最重要的一部分,它負(fù)責(zé)管理并提供空間處理工具。分布式空間處理模型的主要目標(biāo)

9、是充分利用網(wǎng)絡(luò)上分布的空間數(shù)據(jù)和GIS功能模塊。Web服務(wù)器、組件注冊(cè)服務(wù)器、GIS服務(wù)器以及Web客戶機(jī)的關(guān)系如圖2所示:Java Applet被用來(lái)為用戶提供豐富的操作界面,由于applet必須被嵌入到web頁(yè)面中,所以該模型包含一個(gè)web服務(wù)器,當(dāng)用戶瀏覽web頁(yè)面時(shí),用戶界面、一般的GIS功能模塊、applet擴(kuò)展以及遠(yuǎn)程對(duì)象的根程序被下載到客戶端。GIS服務(wù)器中可能包含不同的空間處理模塊(GIS功能組件),這些處理模塊通過(guò)Java RMI或Java applet來(lái)提供給用戶, GIS功能組件需要在一個(gè)注冊(cè)服務(wù)器中注冊(cè)后才能使用,組件元信息存儲(chǔ)在數(shù)據(jù)庫(kù)中通過(guò)Servlet或者RMI提供

10、給用戶。Applet擴(kuò)展和遠(yuǎn)程對(duì)象的根程序需要上傳到Web服務(wù)器中以便用戶在運(yùn)行時(shí)下載到本地。GIS服務(wù)器可以遠(yuǎn)程調(diào)用其他GIS服務(wù)器中的服務(wù),通過(guò)這個(gè)方法,單一的處理過(guò)程也能分布于網(wǎng)絡(luò)上。在這個(gè)模型中,空間數(shù)據(jù)以及GIS組件能夠通過(guò)Java Applet或RMI提供給用戶,Applet包含用戶界面和一些常用的GIS組件,這使得用戶能夠使用本地?cái)?shù)據(jù)并且快速的完成相關(guān)操作5。GIS 服務(wù)器GIS 組件框架程序skeleton(根程序stub)Applet 擴(kuò)展ClientHtmlApplet根程序Web 服務(wù)器HtmlApplet根程序(stub)applet 擴(kuò)展組件注冊(cè)服務(wù)器注冊(cè)servle

11、tGIS 數(shù)據(jù)GIS 數(shù)據(jù)組件元信息圖2:使用Java Applet和Java RMI的分布式空間處理模型fig2: A Distributed Geoprocessing Model Using Java Applet and Java RMIRMI組件注冊(cè)遠(yuǎn)程調(diào)用下載上傳結(jié)果RMI/Servlet該模型中涉及的主要概念以及關(guān)鍵技術(shù)包括:(1) 空間數(shù)據(jù)模型(Geospatial Data Model):它是現(xiàn)實(shí)世界空間實(shí)體和現(xiàn)象的計(jì)算機(jī)表示或抽象,定義了基本GIS數(shù)據(jù)類型和結(jié)構(gòu)。目前使用最廣泛的是地理關(guān)聯(lián)(Georelational)結(jié)構(gòu),其屬性數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,該數(shù)據(jù)庫(kù)通過(guò)唯一的

12、ID與基于文件的空間要素連接在一起6??臻g數(shù)據(jù)模型是基于地圖-層-空間幾何元素(點(diǎn)、線、面)結(jié)構(gòu),在該結(jié)構(gòu)中地圖(map)是在用戶界面中顯示的最頂層元素,一個(gè)地圖對(duì)象可包含若干不同類型的層(layer),一個(gè)層對(duì)象可包含若干與屬性記錄相關(guān)聯(lián)的空間幾何元素(Geometry Elements)或空間對(duì)象(Geo-objects)。結(jié)構(gòu)模型見(jiàn)圖3:用戶界面(Applet)maplayerImageLayerShapeLayerOther layerImage ObjectAttibure recordsDBFGeo-objectsShape access ObjectsImage fileShap

13、efile:Geospatiale DataOther objectsGeometry ElementsDBMS圖3:空間數(shù)據(jù)模型結(jié)構(gòu)fig 3: Structure of the Geospatial Data Model(2) 組件注冊(cè)服務(wù)器(Compoment Registration Server):在整個(gè)分布是空間處理模型中,組件注冊(cè)服務(wù)器是支持分布式計(jì)算的重要部分,用來(lái)管理各組件的元信息。圖4描述了客戶機(jī)、GIS服務(wù)器、Web服務(wù)器以及組件注冊(cè)服務(wù)器之間類似金字塔關(guān)系。Client(Applet)GIS 服務(wù)器Web服務(wù)器組件注冊(cè)服務(wù)器componentMeta-infoRMI查找

14、組件注冊(cè)元信息組件注冊(cè)圖4:組件注冊(cè)模型中客戶機(jī)與服務(wù)器之間的關(guān)系fig4: Relationships of Client and Servers in Component Registration ModelServletRMI/ServletAppletExtention在上述模型中,GIS組件元信息從HTML提交的表格中獲取,經(jīng)處理后可通過(guò)Servlet存放到組件元信息數(shù)據(jù)庫(kù)中,GIS組件元信息包含的內(nèi)容有:組件標(biāo)識(shí)、如何查找并連接該組件、該組件的功能、如何使用該組件等等??蛻舳艘部墒褂肧ervlet從組件元信息數(shù)據(jù)庫(kù)中取出記錄,組件接口對(duì)象在組件注冊(cè)過(guò)程需要上傳到Web服務(wù)器以便客戶

15、機(jī)下載并用于遠(yuǎn)程方法查詢。(3) 客戶機(jī)處理圖形格式:進(jìn)行WebGIS設(shè)計(jì)的一個(gè)重要選擇是在客戶端使用矢量地圖還是柵格地圖。如果使用的是柵格地圖,客戶端每一次對(duì)地圖的操作都會(huì)發(fā)送到服務(wù)器端執(zhí)行,生成新的柵格地圖返回給客戶端,這給服務(wù)器和網(wǎng)絡(luò)傳輸造成負(fù)擔(dān)同時(shí)限制了客戶端的GIS操作能力。使用矢量圖形需要在客戶端運(yùn)行時(shí)下載Java Applet組件,可以在本地執(zhí)行基本操作,從而縮短了客戶端的響應(yīng)時(shí)間并且有效降低了頻繁數(shù)據(jù)傳輸對(duì)網(wǎng)絡(luò)造成的負(fù)面影響。(4) GIS功能組件劃分及實(shí)現(xiàn)方法:一般的GIS功能使用Java Applet技術(shù),這些功能主要包括對(duì)地圖的基本操作:地圖的放大、縮小、無(wú)極漫游,圖層顯

16、示控制,地圖查詢等,用戶可將該GIS功能組件下載到本地執(zhí)行。而其它相對(duì)復(fù)雜的GIS功能組件基于EJB(Enterprise Java Bean)技術(shù),比如最短路徑分析等復(fù)雜的空間處理。4 結(jié)束語(yǔ)WebGIS是Internet技術(shù)應(yīng)用于GIS開(kāi)發(fā)的產(chǎn)物,GIS通過(guò)WWW功能得以擴(kuò)展,真正成為一種大眾使用的工具。本文提出的基于Java RMI的分布式WebGIS模型能夠有效的解決空間數(shù)據(jù)和GIS功能組件的分布問(wèn)題,期望能夠幫助開(kāi)發(fā)人員成功的創(chuàng)建Web服務(wù)。由于Java語(yǔ)言的跨平臺(tái)、安全等特性,使得采用Java技術(shù)開(kāi)發(fā)WebGIS產(chǎn)品有廣闊的應(yīng)用前景。參考文獻(xiàn):1 廖玉榮,王乘,

17、蒙培聲. 基于Internet的WebGIS解決方案比較研究J,計(jì)算機(jī)仿真,2003,12(20)2 王繼周,付均娥. 基于J2EE的WebGIS應(yīng)用服務(wù)器構(gòu)建技術(shù)研究J,計(jì)算機(jī)工程與應(yīng)用,2003.283 肖國(guó)強(qiáng),馮燕. 一個(gè)基于Java/J2EE的WebGIS的模型研究J. 計(jì)算機(jī)應(yīng)用研究,2003(5)4 Shuxin Yuan and C.Vincent Tao,2000,”Development of a GIS Service Model Suppot of online Geoprocessing J-OL, 5 Shuxin Yuan,2000 ”Development of a Distributed Geoprocessing Service Model

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論