劉云彤 吳焱 常強 賈瑩
1 黃河水利職業技術學院測繪工程系 河南 475003
2 新疆師范大學地理科學與旅游學院 新疆 830054
3 河南省電力公司開封供電公司 河南 475004
Internet技術的迅速發展為 GIS提供了一種嶄新而又非常有效的地理信息載體,尤其是“數字地球”概念的提出引起了人們對GIS技術的廣泛關注,這就使得Internet環境下資源共享的空間信息處理技術成為實現“數字地球”的關鍵支撐技術之一。本文將探討基于云計算模式下的WebGIS系統分析及構建。享 IT基礎架構的方法,可以將巨大的系統池連接起來提供IT 服務,通過安全和可擴展的方式讓計算資源可以像虛擬資源一樣被訪問和共享(如圖1)。云計算平臺可按需進行動態的供給(provision)、配置(configuration)、重新配置(reconfigure)以及取消服務(deprovision)等。在云計算平臺中的服務器可以是物理的服務器或者虛擬的服務器。
云計算的最終目標是將計算機作為一種公共設施(utility)提供給廣大用戶,使人們能夠像使用水、電、煤氣和電話那樣使用計算資源。在過去的數年間,人們所提出的計算范型(paradigm)包括網格(grid)計算、服務(service)計算、對等(P2P)計算等。在云計算中,都能看到這些技術的影子。
云計算(Cloud Computing)是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網格計算(Grid Computing)的發展。“云”就是計算機集群(cluster),每一群包括了幾十萬臺、甚至上百萬臺計算機。
云計算的基本原理是,計算分布在大量的分布式計算機上,而非本地計算機或遠程服務器中,企業數據中心的運行將更與互聯網相似。Sun公司的口號是“網絡就是計算機”,這一口號很好地描述了云計算的工作方式。云計算是一種共

圖1 云計算工作原理
云計算的關鍵是云架構:一個大規模的、由服務器甚至是個人計算機構成的網絡,這些服務器和個人計算機在網格環境中互聯在一起進行并行運行。用戶通過界面選擇一個任務或服務,其請求被發送給系統管理,找出正確的資源并調用合適的系統服務,加載相應的Web應用程序,創建或打開所要求的文件。Web應用啟動之后,系統的監測和計量功能跟蹤云的使用,確保資源分配和歸屬于合適的用戶。
云計算的一個主要用途就是存儲數據。利用云存儲,數據被存放到多個第三方的服務器上,數據存儲時,用戶看到的是一個虛擬服務器,但在現實中,那個地方并不存在,而是使用一個假名,用來指示云中劃分出來的虛擬空間。另外,通過云計算提供的任何基于 Web的應用或服務都稱為云服務,利用云服務,應用程序本身就處在云中。
云計算實現了從計算機到使用者,從應用到任務,從孤立的數據到可以隨處訪問、可以與任何人共享的數據的轉變。使用者可以不再從事數據管理的任務,甚至無須記住數據的位置。從以上角度歸納起來,云計算有以下幾個關鍵特點:
(1) 云計算是以用戶為中心的;
(2) 云計算是以任務為中心的;
(3) 云計算的強大運算能力;
(4) 云計算的易于訪問性;
(5) 云計算的智能性;
(6) 云計算的自編程性。
WebGIS(網絡地理信息系統)是指基于Internet平臺、客戶端應用軟件采用 WWW 協議運行在網絡上的地理信息系統。它是利用互聯網技術來擴展和完善GIS的一項新技術,其核心是在GIS中嵌入HTTP和TCP/IP標準的應用體系,實現互聯網環境下的空間信息管理等地理信息系統功能。
由于 WebGIS系統充分利用了分布式體系結構Client/Server(客戶端/服務器)的技術特點,因而客戶端具有獲得各種空間信息和應用的功能,在服務器端系統向客戶端提供信息或系統服務。對于GIS應用來說,用戶要求在互聯網上不僅能夠瀏覽文字信息,而且需要瀏覽大量的動態交互圖形信息,并且不同的用戶有著不同的需求。靜態頁面不能滿足要求,需要采取雙向交互式方法的動態頁面來實現,即根據用戶的指定從數據庫里面查尋數據生成頁面,分發給用戶(如圖 2)。WebGIS一般由四部分組成:WebGIS瀏覽器(Browser),可以通過Web服務器連通到任何地點的另一個數據服務器上,讀取各種地理信息;WebGIS信息代理(Information Agent),是空間信息網絡化的關鍵部門,提供直接訪問數據庫的功能;WebGIS服務器,能解釋中間代理請求及操作數據庫服務器和實現瀏覽器與服務器的動態交互;WebGIS編輯器(Editor),具有可視化、多窗口的功能,能建立GIS對象、模型和進行空間數據的編輯及顯示。

圖2 WebGIS分布式地理信息系統模型
WebGIS的主要特點有以下幾點:
(1) 基于Internet/Intranet標準、分布式服務體系結構;
(2) 發布速度快、范圍廣,維護方便;
(3) 數據來源豐富、分布存儲;
(4) 用戶界面友好、建設投資少;
(5) 系統安全性強、協同性好。
WebGIS系統開發最初采用通用網關接口技術,以及相繼發展起來的IDC、ASP、ISAPI、NSAPI等技術方法,后來又產生了被稱為“插件”(Plug-in)的應用技術。目前采用比較流行的技術,一是Java語言,包括Java小程序Applet和Java虛擬機(VRM)等;二是采用ActiveX控件及 COM 組建對象模型等網絡開發技術。目前采用的技術方法實現的WebGIS系統平臺在許多領域都得到了很好的應用。

圖3 WebGIS系統開發構建模型
歸納起來,無論是云計算還是目前WebGIS的發展,相同之處與關鍵點都是要把相關的操作、軟件、硬件、服務、數據維護、信息獲取等從個體PC遷移到網絡,兩者均是由多主機、多數據庫與多臺終端,通過Internet/Intranet連接而組成的,在線的空間數據倉庫、庫目錄為Web用戶提供在線數據服務,使任何地方的任何 Internet用戶都可獲得感興趣的地理信息和使用GIS空間分析功能,以滿足不同層次用戶對GIS數據的使用需求,讓這一切都能夠隨時隨地在互聯網上進行。構建的系統模型如圖3所示。
基于云架構的WebGIS系統采用瀏覽器技術,采用三層結構或者多層結構,多層結構的優點在于減少業務邏輯實現中出現的困難,客戶端僅僅實現用戶的界面、基本的數據完整性的驗證等,而真正的數據、邏輯思想都存放在服務器端,從而使得企業邏輯體現得更獨立,業務的變更對客戶端的影響也會減少到最低程度,使客戶端真正形成“瘦客戶”。多層結構可以劃分為瀏覽器層、Web服務器層、應用服務器(統計、查詢邏輯對象)層、數據庫服務器層。
在系統的使用過程中,用戶通過局域網或撥號方式連接到 Web服務器,以使用 J2EE平臺為例,使用瀏覽器調用Web服務器的應用程序或JSP腳本文件,Web服務器的應用程序或HTML腳本文件再調用應用服務器內SERVLERT,EJB,WebService對象(封裝了查詢邏輯),該對象負責連接主機數據庫,保證系統高效運行。
在三層客戶端/服務器模式上架構的應用系統不但具備了大型機系統穩定、安全和處理能力高等特性,同時擁有開放式系統成本低、跨平臺、可擴展性強、開發周期短等優點。而交易中間件作為構造三層結構應用系統的基礎平臺,提供兩個主要功能:負責客戶機和服務器間的聯接和通訊;提供一個三層結構的應用開發和運行平臺。
目前有多種的平臺以及產品支持多層體系結構,其中主流的開發平臺有兩種:基于Java的J2EE技術以及基于微軟產品的.NET技術。
3.2.1 用戶層
(1) 個性化:按照不同層次的用戶的需求可以進行定制用戶常用的功能界面;
(2) 統一的信息門戶:采用Web瀏覽器作為系統的統一入口,采用統一的應用支撐平臺作為統一的信息門戶,易于使用、易于管理、易于維護、易于擴充;
(3) 實時消息:系統提供及時的消息傳遞功能,對于例如區域性的天氣預報、地震洪水災害等重要事件可以進行及時的提醒功能;
(4) 擴展功能:采用B/S體系,同時結合C/S體系的優點,可提供靈活的數據統計、空間分析、與其它系統集成等擴展功能,滿足用戶的需要。
3.2.2 應用層
(1) 協同工作:通過同步(實時通訊)或者異步(電子郵件)的方式,實現多個地址、多個用戶之間的數據交換及交流;
(2) 輔助決策支持:在細節數據積累的基礎上,結合數據運作的模型,由計算機生成輔助決策的統計報表、分析結果、監控數據、預測等,為決策層提供有用的信息而不是大量雜亂無章的數據。
3.2.3 數據層
(1) 地圖數據中心:以柵格數據和矢量數據為主的、以地圖數據服務器為載體的工作流控制中心;
(2) 信息中心:包括基礎地理數據、業務空間數據、元數據目錄數據、地理實體編碼數據及三維景觀數據;
(3) 屬性數據中心:以關系型數據庫為載體的生產數據中心。
采用三層結構的應用模型,為用分布式環境處理關鍵性業務提供了一個結構化的解決方案。中間件應用設計應該是從異構的計算資源中創建一個“虛擬主機”,在分布式應用系統環境下提供可管理的相互關聯的資源。
中間件提供了一個基礎的框架去幫助用戶建立、運行和管理一個三層客戶端/服務器模式的應用,而不需要從零做起,大大縮短了應用開發的時間,提高了應用開發的成功率。
復雜的業務系統能夠支持的并發用戶數往往非常有限,有時僅僅幾十個并發用戶就可以讓CPU達到極限,中間件可以使云計算擁有強大的網絡資源優化能力,將有限的硬件資源優化到極限,同時,中間件讓云計算具有強大的動態負載均衡能力,平時可以分配普通的資源,當并發用戶猛增時,云計算可以動態分配更多的資源和帶寬以進行負載均衡,一切處理均自動完成,從而使得 SaaS軟件有效的在不同的負荷下工作。
在三層結構的應用模式中,表示邏輯層和資源管理器作為應用界面和數據的管理者,在傳統的二層模式中已有相關的標準和穩定的實現,而作為三層結構核心的中間層,由于其擔負“承上啟下”的樞紐作用,在實際的應用系統中扮演著至關重要的角色。中間件在對事務完整性的保證、對大規模并發處理的響應、對異構系統互聯的透明支持,以及對應用數據的安全性保護等方面的表現將成為應用系統成敗的決定性因素。
GIS服務器軟件可以使用現階段較為成熟的 ESRI公司的ArcGIS Server。ArcGIS Server是一個用于構建集中管理、支持多用戶的企業級GIS應用平臺。ArcGIS Server在請求式架構中是可行的候選者,緩沖地圖碎片可以上傳給像亞馬遜簡單存儲服務(S3)之類的云計算銷售商,以此在云中形成數據中心。ArcGIS Server可以完成空間數據管理、二維三維地圖可視化,數據編輯、空間分析等即拿即用的應用和類型豐富的服務。作為集成云,ArcGIS在線內容共享程序使得用戶和組織機構能提供地理數據內容。另外,地理信息共享和地圖發布則可以通過ArcIMS完成如圖4。

圖4 ArcGIS Cloud工作界面
云計算作為一種技術趨勢正迅速興起,幾乎在提供或者消耗軟件、硬件以及基礎設施的每個產業中都能得以應用。在未來的 WebGIS產品平臺解決方案中,基于云架構的WebGIS系統能夠滿足海量數據的存儲和訪問,云服務和部署模型所提供的技術和體系結構是研究和發展的關鍵領域。同時,云計算使得WebGIS組織機構變得更加具有成本效益,更多產且更靈活,從而能快速的提供新功能。
雖然云計算有許多優點,但了解它的風險以及在云體系中工作的時機是非常重要的。安全和隱私是IT專業人士作為供應商、經紀人或者用戶考慮轉移到云環境時最關心的兩大問題,尤其是GIS數據的安全性問題。基礎地理信息通常是保密級別的,由于數據不是放置在本地,而是放置在服務商的云計算機上,數據泄密就有可能發生。一旦泄密,數據擁有者將面臨巨大的風險和信任危機。
本文通過對傳統的WebGIS實現方法的局限性的分析研究,在基于云計算的框架下探討了WebGIS系統的分析與構建,但是如果要搭建較為實用與完善的WebGIS系統,還需要更加深入地探討系統的應用需求和開發環節。云計算結合WebGIS開拓了地理信息資源利用的新領域,為GIS信息的高度社會化共享提供了可能,為GIS信息的提供者和使用者提供了有效途徑,為傳統地理信息系統的發展提供了新的機遇。
[1] 劉南,劉仁義.WebGIS原理及其應用[M].北京:科學出版社.2002.
[2] Michael Miller.云計算[M].北京:機械工業出版社.2009.
[3] 陳旭東,劉迪仁.JSP 2.0應用教程[M].北京:清華大學出版社.北京交通大學出版社.2006.
[4] 趙玉國.基于云計算的WEBGIS系統構架研究[J].西昌學院學報:自然科學版.2010.
[5] 劉建川,楊軍.基于ArcGIS Server的專題地圖服務設計與實現[J].ArcGIS中國通訊.2009.