地理信息系統(tǒng)(GIS)是專門用于采集、存儲(chǔ)、管理、分析和表達(dá)空間數(shù)據(jù)的計(jì)算機(jī)化信息系統(tǒng)[1]。GIS在中國歷經(jīng)了30多年的發(fā)展,已經(jīng)取得了長足的進(jìn)步,主要表現(xiàn)為:國家和各省、市加強(qiáng)了基礎(chǔ)地理信息系統(tǒng)的建設(shè),為發(fā)展GIS應(yīng)用提供了一批權(quán)威的基礎(chǔ)地理數(shù)據(jù);一些GIS應(yīng)用系統(tǒng)已從早期的“實(shí)驗(yàn)型”或“科技成果型”提升成業(yè)務(wù)化運(yùn)作系統(tǒng),開始在規(guī)劃、管理、監(jiān)測(cè)、決策等過程中取得重要的社會(huì)和經(jīng)濟(jì)效益。然而這些系統(tǒng)的信息化建設(shè)是在不同時(shí)期、由不同軟件開發(fā)商開發(fā)完成,又歸屬不同的單位使用,造成了“信息孤島”。如何打破這種條塊分割,解決空間信息資源的整合和共享,是擺在我們面前的重要問題之一。
空間信息公共服務(wù)平臺(tái)就是在這樣的需求環(huán)境下提出的。空間信息公共服務(wù)平臺(tái)建設(shè),目的是要建立一個(gè)空間信息共享的環(huán)境。在這個(gè)環(huán)境中,空間信息可以在遵從統(tǒng)一規(guī)范和標(biāo)準(zhǔn)的前提下,以Web服務(wù)的形式供政府各機(jī)構(gòu)、企業(yè)和大眾共享。在建立共享服務(wù)環(huán)境的基礎(chǔ)上,各類政務(wù)、業(yè)務(wù)的企業(yè)級(jí)應(yīng)用將如雨后春筍般成長,帶來整個(gè)GIS產(chǎn)業(yè)的進(jìn)一步輝煌。
1 空間信息公共服務(wù)平臺(tái)的關(guān)鍵技術(shù)
空間信息公共服務(wù)平臺(tái)是以分布式地理數(shù)據(jù)為基礎(chǔ),網(wǎng)絡(luò)化地圖與地理信息服務(wù)為表現(xiàn)形式,構(gòu)建面向服務(wù)的體系架構(gòu),建設(shè)分布式信息共享與服務(wù)環(huán)境,為政府管理部門、公眾、企業(yè)提供不同層次用戶需求的地理信息服務(wù),是一套統(tǒng)一標(biāo)準(zhǔn)規(guī)范的信息服務(wù)平臺(tái)。它的核心技術(shù)是:云計(jì)算、SOA架構(gòu)、WebService、Mashup等。
1.1云計(jì)算
云計(jì)算是網(wǎng)格計(jì)算、分布式計(jì)算、并行計(jì)算、效用計(jì)算、網(wǎng)絡(luò)存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物,它作為一種技術(shù)趨勢(shì)正迅速興起。云計(jì)算的核心思想,是將大量用網(wǎng)絡(luò)連接的計(jì)算資源統(tǒng)一管理和調(diào)度,構(gòu)成一個(gè)計(jì)算資源池向用戶按需服務(wù)。提供資源的網(wǎng)絡(luò)被稱為“云”。“云”中的資源在使用者看來是可以無限擴(kuò)展的,并且可以隨時(shí)獲取,按需使用,隨時(shí)擴(kuò)展。
云計(jì)算的產(chǎn)業(yè)分為三層:云軟件、云平臺(tái)、云設(shè)備。與靜態(tài)體系結(jié)構(gòu)相比,云計(jì)算支持動(dòng)態(tài)擴(kuò)展和迅速縮減的能力,為云用戶提供了高可靠性,快速響應(yīng)及處理網(wǎng)絡(luò)通信波動(dòng)和需求的靈活性。云計(jì)算支持多用戶使用,提供能設(shè)置為被多個(gè)組織和個(gè)人共享的系統(tǒng)[2]。
云計(jì)算環(huán)境中,三大核心方案組成服務(wù)模型。
軟件即服務(wù)(SaaS,Software-as-a-Service)將應(yīng)用程序以服務(wù)的方式提供給最終用戶,而并非提供傳統(tǒng)的外部軟件。
平臺(tái)即服務(wù)(PaaS,Platform-as-a-Service)提供給開發(fā)人員能夠開發(fā)和部署自定義應(yīng)用程序的平臺(tái)或者中間件服務(wù)。這一層所提供的常規(guī)解決方案涵蓋了API和工具,以及數(shù)據(jù)庫、業(yè)務(wù)流程管理系統(tǒng)和安全集成,允許開發(fā)人員開發(fā)應(yīng)用程序,并在云計(jì)算供應(yīng)商所有和運(yùn)營的基礎(chǔ)設(shè)施上運(yùn)行這些應(yīng)用程序。
基礎(chǔ)設(shè)施即服務(wù)(IaaS,Infrastructureas-a-Service)主要包括用于計(jì)算的硬件和技術(shù)、存儲(chǔ)設(shè)備、操作系統(tǒng)或者是其他基礎(chǔ)設(shè)施,通過外部設(shè)備而并非已有資源提供按需服務(wù)。
基于云計(jì)算的信息資源中心可以整合空間信息建設(shè)過程中分散的基礎(chǔ)設(shè)施資源,基礎(chǔ)平臺(tái)軟件也部署到云計(jì)算環(huán)境下。各類資源可以根據(jù)實(shí)際需要被彈性分配到核心業(yè)務(wù)中,以提高資源的綜合利用率,并根據(jù)業(yè)務(wù)的實(shí)際增長需求進(jìn)行擴(kuò)展。基于云計(jì)算的地理信息資源中心可以綜合提供多層次、多類型、多時(shí)相的地理數(shù)據(jù)資源,并提供基于地理信息的空間分析能力,同時(shí)還為開發(fā)人員提供地理服務(wù)的開發(fā)接口,滿足各類應(yīng)用的搭建。
1.2SOA架構(gòu)
SOA(面向服務(wù)的體系結(jié)構(gòu))是“現(xiàn)代應(yīng)用開發(fā)領(lǐng)域最重要的課題”,也是“占有絕對(duì)優(yōu)勢(shì)的軟件工程實(shí)踐方法”(Gartner語)。它是一個(gè)組件模型,將程序的不同功能單元(稱為服務(wù)),通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。這種松散耦合特性使得服務(wù)能夠組合成為各種應(yīng)用程序,同時(shí)大幅度提高了代碼重用率,減少了工作量。SOA模型描述了三個(gè)角色——服務(wù)提供者、服務(wù)請(qǐng)求者、服務(wù)注冊(cè)中心,執(zhí)行三種操作——發(fā)布、查找和綁定。SOA為異構(gòu)數(shù)據(jù)的系統(tǒng)整合與信息共享提供了一種極佳的解決方案。
SOA思想對(duì)于GIS架構(gòu)的積極作用主要體現(xiàn)在兩個(gè)方面:第一,利用標(biāo)淮的接口和訪問方式對(duì)外提供地理信息系統(tǒng)中的各種功能,即模塊的封裝性;第二,以貼進(jìn)應(yīng)用的形式自然地處理不同模塊之間的關(guān)系,即模塊間的組合性[3]。
模塊封裝性的意義在于屏蔽不同模塊以及來源不同的數(shù)據(jù)所存在的格式、訪問方式、運(yùn)行平臺(tái)的問題。經(jīng)過標(biāo)準(zhǔn)封裝的模塊能夠?qū)崿F(xiàn)跨平臺(tái)、跨語言的調(diào)用,除了能夠?qū)ν馓峁?biāo)準(zhǔn)的接口供調(diào)用外,還為今后復(fù)用此模塊的內(nèi)容打下良好的基礎(chǔ)。模塊的封裝性為GIS提供了兩方面的便利:模塊的復(fù)用以及地理數(shù)據(jù)的共享。
模塊間的組合性描述了在分布式的環(huán)境中如何通過將相對(duì)獨(dú)立的、小的模塊組合成為更大的、有一定應(yīng)用意義模塊的過程。模塊的可組合性,給軟件帶來了業(yè)務(wù)上的靈活性,不同的模塊組合往往能夠代表不同的業(yè)務(wù)邏輯和實(shí)現(xiàn)效果。
1.3WebService
WebService(即Web服務(wù))是一種革命性的分布式計(jì)算技術(shù),是目前實(shí)現(xiàn)SOA框架的首選。它使用基于XML的消息處理作為基本的數(shù)據(jù)通訊方式,消除使用不同組件模型、操作系統(tǒng)或編程語言的系統(tǒng)之間存在的差異,使異構(gòu)系統(tǒng)能夠作為計(jì)算網(wǎng)絡(luò)的一部分協(xié)同運(yùn)行,具有很強(qiáng)的生命力。正是基于WebService的這些技術(shù)特性,空間信息公共服務(wù)平臺(tái)采用基于開放標(biāo)準(zhǔn)與技術(shù)的Web服務(wù)方式共享數(shù)據(jù),不需要了解各部門的應(yīng)用系統(tǒng)現(xiàn)狀,形成松散耦合的共享模式,便于平臺(tái)服務(wù)根據(jù)發(fā)展需要進(jìn)行伸縮。
從表面上看,Web服務(wù)就是一個(gè)應(yīng)用程序,它向外部暴露了一個(gè)能夠通過網(wǎng)絡(luò)進(jìn)行調(diào)用的API。WebService通過標(biāo)準(zhǔn)協(xié)議向網(wǎng)絡(luò)程序提供一定的功能,通常采用的標(biāo)準(zhǔn)協(xié)議是SOAP。WebService使用WSDL詳細(xì)地描述其接口,用戶使用WSDL文檔和WebService進(jìn)行交互。WebService需要注冊(cè)到UDDI注冊(cè)中心,便于潛在用戶查詢、發(fā)現(xiàn)和使用。
1.4Mashup
Mashup是網(wǎng)絡(luò)上將兩種以上使用公共或者私有數(shù)據(jù)庫的Web應(yīng)用,加在一起,形成一個(gè)整合應(yīng)用。它是把多個(gè)信息來源加以組合的網(wǎng)絡(luò)技術(shù),是Web2.0時(shí)代的主流技術(shù)之一。Mashup的變革性意義在于:即使用戶的IT技術(shù)水平不高,也可創(chuàng)建符合自身需求的Mashup應(yīng)用。在地圖Mashup應(yīng)用中,人們搜集具有位置信息的事物和行為,把這些包含位置數(shù)據(jù)的不同數(shù)據(jù)集,利用地圖以圖形化方式呈現(xiàn)出來。Web開發(fā)人員可以在地圖中包含所有類型的數(shù)據(jù)。