進(jìn)入21世紀(jì)以來,,GIS在各行各業(yè)的應(yīng)用取得快速發(fā)展,GIS平臺軟件已經(jīng)從一項(xiàng)專業(yè)的軟件技術(shù),,發(fā)展成為IT領(lǐng)域十分重要的平臺類軟件,,在越來越多的領(lǐng)域發(fā)揮著重要作用。政府和企事業(yè)單位建立了大量的GIS應(yīng)用系統(tǒng),,這些應(yīng)用系統(tǒng)不再是面子工程,,而是實(shí)實(shí)在在地在為業(yè)務(wù)管理服務(wù)。
但是,,當(dāng)前的GIS應(yīng)用發(fā)展過程中,,還面臨著一個困境,那就是系統(tǒng)很難跟得上需求的快速變化,。對系統(tǒng)維護(hù)工程師而言,,系統(tǒng)開發(fā)完成后,一旦業(yè)務(wù)本身或業(yè)務(wù)流程發(fā)生了調(diào)整,,系統(tǒng)要不斷修改維護(hù),,工作量十分巨大。對于應(yīng)用單位來講,,若維護(hù)跟不上,,投入大量人力、物力和財力的系統(tǒng)剛剛建成,,在需求面前很快變得落伍了,,以至于部分應(yīng)用單位對GIS應(yīng)用缺乏信心。對開發(fā)商而言,,做完一個單位的系統(tǒng),,若要推廣到同行業(yè)其他單位,會發(fā)現(xiàn)盡管業(yè)務(wù)差別不大,,但由于那些細(xì)小的需求差別,,原來的系統(tǒng)很難直接推廣,仍然需要對系統(tǒng)進(jìn)行不少修改,,工作量仍然較大,。這是我們共同面臨的問題,在GIS的應(yīng)用領(lǐng)域中,我們期盼業(yè)務(wù)敏捷(Business Agility),。
圖1 GIS應(yīng)用領(lǐng)域呼喚業(yè)務(wù)敏捷
什么是業(yè)務(wù)敏捷,?業(yè)務(wù)敏捷包含兩層含義:第一,IT在業(yè)務(wù)提出變化之后一個恰當(dāng)?shù)臅r間段里響應(yīng)這種變化,;第二,,IT所做出的變化能夠恰當(dāng)?shù)胤从吵鰳I(yè)務(wù)的需求。
那么,,如何才能實(shí)現(xiàn)業(yè)務(wù)敏捷呢,?
SOA助力GIS業(yè)務(wù)敏捷
業(yè)務(wù)敏捷的實(shí)現(xiàn)有賴于SOA。盡管SOA已不是什么新概念,,甚至已經(jīng)被炒得有些過頭,,但還是有必要再次提一提,這是一種對GIS軟件技術(shù)發(fā)展有巨大意義的架構(gòu)思想,。
SOA是面向服務(wù)的體系架構(gòu)(Service Oriented Architecture)的英文縮寫,。事實(shí)上,世界知名的咨詢公司Gartner在1996年就提出了SOA的思想,。2002年,,Gartner又提出了SOA是現(xiàn)代應(yīng)用開發(fā)領(lǐng)域最重要的課題。2005年,,一些IT組織成功建立并實(shí)施了SOA應(yīng)用軟件,,IBM等廠商看到其價值,也紛紛提出自己的SOA解決方案,。據(jù)Gartner預(yù)測,,到2008年,SOA將成為占有絕對優(yōu)勢的軟件工程實(shí)踐方法,,它將很可能結(jié)束傳統(tǒng)的整體軟件體系架構(gòu)長達(dá)40年的統(tǒng)治地位,,屆時將有70%的企業(yè)在進(jìn)行IT建設(shè)時會轉(zhuǎn)向SOA。
2008年即將到來,,不管這個比例是否真能達(dá)到,,但不可否認(rèn),SOA確實(shí)得到業(yè)界足夠的重視,。若要真正發(fā)揮SOA的作用而不僅僅當(dāng)作一種概念傳播,,我們有必要了解SOA真正的內(nèi)涵是什么。是業(yè)務(wù)敏捷,!提出SOA正是為了實(shí)現(xiàn)業(yè)務(wù)敏捷,。
那么,SOA如何實(shí)現(xiàn)業(yè)務(wù)敏捷,?讓我們來回顧一下軟件工程方法的進(jìn)化過程:
上世紀(jì)70年代,結(jié)構(gòu)化編程占據(jù)了計算機(jī)軟件編程的統(tǒng)治地位,C和Pascal之類的語言大行其道,。為了提高軟件開發(fā)效率,,很多公司開始思考代碼重用。在C語言中,,重用的單元就是函數(shù)?,F(xiàn)在我們已經(jīng)知道,函數(shù)的重用只是代碼重用很初級的方式,。
面向?qū)ο?Objects Oriented, OO)的提出,,把代碼重用推向一個新的高度。OO是非常優(yōu)秀的軟件工程方法,,其優(yōu)點(diǎn)是比結(jié)構(gòu)化程序設(shè)計提供了更好的代碼復(fù)用機(jī)制,。但OO也存在不足,其應(yīng)用系統(tǒng)依賴于某種具體的開發(fā)語言,,一旦有細(xì)微的修改,,必須重新部署大量的代碼。
1994年提出的組件技術(shù)解決了面向?qū)ο蟮纳鲜鰡栴},,我們姑且稱之為面向組件(Components Oriented),。從對象到組件,這是一個質(zhì)的飛躍,。面向組件解決了對具體開發(fā)語言的依賴,,讓我們在復(fù)用組件時不用考慮開發(fā)語言的差別,基于不同語言開發(fā)的組件也可以在一起使用,。
在1996年到2000年之間,,組件技術(shù)帶來了GIS領(lǐng)域十分重要的技術(shù)革命,眾多國際國內(nèi)的GIS平臺廠商紛紛把GIS移植到Windows操作系統(tǒng),,并基于COM技術(shù)研發(fā)了大型組件式GIS (Component GIS)平臺,。正是這一輪技術(shù)革命,推動著GIS平臺從一個帶著特殊行業(yè)烙印的專業(yè)軟件演化為通用軟件,,并融入IT主流,。
在今天看來,從傳統(tǒng)GIS邁向組件式GIS是技術(shù)發(fā)展的必然選擇,,但在當(dāng)時,,不是所有的企業(yè)都能看得準(zhǔn),可以說從傳統(tǒng)GIS轉(zhuǎn)向組件式GIS是GIS技術(shù)發(fā)展史上的驚險一跳,。
那些成功完成了這驚險一跳的國內(nèi)外企業(yè)獲得了快速發(fā)展,;相反,因?yàn)楹雎粤诉@一跳或者沒有很好完成這一跳,,一些知名GIS品牌在此期間沒落甚至消失,。1997年成立的超圖公司也正是抓住了這一跳的機(jī)會,研發(fā)了全組件式GIS軟件開發(fā)平臺——SuperMap Objects 2000,才能在競爭激烈的GIS平臺軟件市場得到生存和發(fā)展的機(jī)會,??傊M件式GIS一經(jīng)推出,,很快成為GIS應(yīng)用系統(tǒng)開發(fā)的主流技術(shù),,并主導(dǎo)了近十年的GIS應(yīng)用開發(fā)模式,直到今天還是C/S結(jié)構(gòu)的GIS應(yīng)用系統(tǒng)開發(fā)平臺的首選,。
從軟件工程方法發(fā)展的規(guī)律來看,,每一種新的方法和技術(shù)都融合了前一代技術(shù)的優(yōu)點(diǎn),并致力于改善前一代技術(shù)的缺陷,。然而,,每一個新產(chǎn)生的技術(shù)又會面臨新的挑戰(zhàn),面向組件同樣也存在不足,。細(xì)粒度的組件與緊耦合的系統(tǒng)結(jié)構(gòu),,導(dǎo)致局部需求更改后,仍有大量系統(tǒng)修改,,也不滿足業(yè)務(wù)敏捷的需要,。此外,面向組件還在實(shí)現(xiàn)并發(fā)管理,、事務(wù)處理,、通訊協(xié)議、版本控制和安全方面,,存在困難或具有較高的復(fù)雜度,。
盡管組件式GIS難以有效滿足業(yè)務(wù)敏捷的需要,但業(yè)內(nèi)一些有遠(yuǎn)見的GIS應(yīng)用開發(fā)商采用了自己的解決辦法,,基于組件式GIS構(gòu)建了企業(yè)內(nèi)部使用的GIS業(yè)務(wù)開發(fā)平臺,,采用插件架構(gòu)來實(shí)現(xiàn)業(yè)務(wù)平臺本身的可擴(kuò)展性和可維護(hù)性。應(yīng)用系統(tǒng)建成后,,可通過擴(kuò)展插件來擴(kuò)展新功能,,以滿足需求的變化。但前提是用戶不能更換開發(fā)商,,因?yàn)檫@種擴(kuò)展能力是構(gòu)建在開發(fā)商私有的架構(gòu)基礎(chǔ)之上,,很難在不同開發(fā)商之間共享。
所幸的是,,面向服務(wù)方法很快作為應(yīng)對面向?qū)ο笠约懊嫦蚪M件缺陷的解決方案呈現(xiàn)在人們眼前,。面向服務(wù)是在面向組件思想基礎(chǔ)上發(fā)展起來的,從多個角度看,,從組件到服務(wù)都是一個本質(zhì)上的飛躍,,就像組件是對象的一個本質(zhì)飛躍一樣,。SOA強(qiáng)調(diào)松耦合和粗密度,在SOA的應(yīng)用程序中,,開發(fā)者只需要關(guān)注于業(yè)務(wù)邏輯的編寫,,以及通過可交換的、可互操作的服務(wù)終結(jié)點(diǎn)(Service Endpoint)暴露業(yè)務(wù)邏輯,。客戶端調(diào)用這些終結(jié)點(diǎn),,而不是服務(wù)代碼或者它的實(shí)現(xiàn)包,。因此SOA具有更高效率的代碼重用機(jī)制,可以動態(tài)按需構(gòu)建應(yīng)用系統(tǒng),,更有助于實(shí)現(xiàn)業(yè)務(wù)敏捷,。
既然SOA是實(shí)現(xiàn)業(yè)務(wù)敏捷的有效思想,而且早已提出,,那么為什么GIS平臺廠商遲遲不見行動呢,?
支持SOA,GIS廠商早已開始
實(shí)際上,,GIS廠商早已開始支持SOA,,當(dāng)WebGIS平臺軟件具備了發(fā)布WEB服務(wù)的能力時候,就可以說其已經(jīng)開始支持SOA,,并有助于實(shí)現(xiàn)業(yè)務(wù)敏捷了,。SOA不是一種具體的技術(shù),而是一種架構(gòu)思想,。有了支持Open GIS的WMS, WCS, WFS等Web服務(wù)標(biāo)準(zhǔn)的WebGIS平臺,,應(yīng)用開發(fā)商就可以構(gòu)架符合SOA思想的應(yīng)用系統(tǒng),通過可交換,、可跨平臺互操作的服務(wù)終結(jié)點(diǎn)暴露業(yè)務(wù)邏輯,,提高代碼復(fù)用的效率。
2003年,,武漢大學(xué)測繪遙感信息工程國家重點(diǎn)實(shí)驗(yàn)室與北京超圖公司進(jìn)行了互操作試驗(yàn),,通過Open GIS的WMS規(guī)范,把分別來自兩個服務(wù)器的WebGIS應(yīng)用整合在一起,,一個服務(wù)器采用GeoStar的WebGIS平臺,,另一個則是SuperMap的WebGIS平臺。來自兩個服務(wù)器的地圖數(shù)據(jù)可以疊加在一起顯示,,功能也可以整合,。
在Web 2.0中,這樣的整合被稱為Mashup,。Mashup這個詞來源于流行音樂,,是從兩首不同的歌曲(通常屬于不同的流派)中混合演唱和樂器的音軌而構(gòu)成的一首新歌,。對這個詞的翻譯五花八門,如“混搭”,、“混血”,、“糅合”甚至“熔”,在能找到一個合適的中文翻譯之前,,我們還是更愿意繼續(xù)稱之為Mashup,。
在Web 2.0中,Mashup一個著名的例子來自 www. 的Web 站點(diǎn),。它解釋了地圖Mashup到底是什么,,該網(wǎng)站將芝加哥警局在線數(shù)據(jù)庫中的犯罪記錄與Google Maps的地圖復(fù)合在一起。用戶可以與Mashup 站點(diǎn)進(jìn)行交互,,例如告訴它在圖形界面上顯示一個包含圖釘?shù)牡貓D,,圖釘展示南加州最近所有入室搶劫案件的詳細(xì)信息。這種概念和呈現(xiàn)方式非常簡單,,犯罪和地圖數(shù)據(jù)復(fù)合之后提供的可視化的功能非常有趣,。
盡管Mashup提供了一種令人激動的、簡便的Web應(yīng)用開發(fā)方式,,WebGIS平臺也支持Mashup,,但對業(yè)務(wù)敏捷來而言,這還遠(yuǎn)遠(yuǎn)不夠,,GIS平臺廠商還可以做得更多,。之所以說WebGIS還不能滿足業(yè)務(wù)敏捷,有以下幾方面的原因:
第一,,WebGIS平臺主要面向信息發(fā)布,,GIS功能相對簡單,還無法代替組件式GIS實(shí)現(xiàn)應(yīng)用系統(tǒng)的全部功能,,以至于我們在實(shí)際應(yīng)用中,,不得不混合使用多種類型的GIS軟件來開發(fā)應(yīng)用系統(tǒng),如WebGIS和組件式GIS等,,應(yīng)用系統(tǒng)的架構(gòu)也往往采用B/S和C/S混合的模式,,前者負(fù)責(zé)信息發(fā)布和功能簡單的應(yīng)用部分,那些功能復(fù)雜的部分則由后者完成,。
第二,,WebGIS服務(wù)器端不具備服務(wù)聚合(Service Aggregation)能力,在WEB客戶端由二次開發(fā)者進(jìn)行的簡單聚合,,難以滿足大型專業(yè)應(yīng)用系統(tǒng)建設(shè)的全部需求,,也難于實(shí)現(xiàn)聚合后的服務(wù)再次以標(biāo)準(zhǔn)的方式發(fā)布以便被第三方聚合。
第三,,客戶端GIS軟件(桌面GIS和組件式GIS)缺乏完整的服務(wù)聚合能力,,即使偶有支持使用Web數(shù)據(jù)或Web服務(wù),,也往往存在不少限制,外部服務(wù)被當(dāng)作二等公民,,無法很方便的使用,,也不易與已有的概念模型相匹配。以至于上述混用B/S和C/S結(jié)構(gòu)的模式難以通過服務(wù)整合形成一體化的系統(tǒng),。
既然WebGIS還不能有效滿足業(yè)務(wù)敏捷的需要,,那么有沒有更好的解決方案呢?
GIS的再次關(guān)鍵一跳
綜合考慮WebGIS對SOA已有的支持基礎(chǔ),,以及存在的問題,,我們提出服務(wù)式GIS(Service GIS)的概念和技術(shù)架構(gòu)。
Service GIS是一種基于面向服務(wù)軟件工程方法的GIS技術(shù)體系,,它支持按照一定規(guī)范把GIS的全部功能以服務(wù)的方式發(fā)布出來,可以跨平臺,、跨網(wǎng)絡(luò),、跨語言地被多種客戶端調(diào)用,并具備服務(wù)聚合能力以集成來自其他服務(wù)器發(fā)布的GIS服務(wù),。Service GIS軟件平臺的實(shí)現(xiàn)主要包括以下幾方面的工作:
◆在細(xì)粒度組件式GIS基礎(chǔ)上,,封裝粒度適中的全功能的GIS服務(wù)群,構(gòu)成Service GIS的服務(wù)器,,向客戶端發(fā)布這些服務(wù),。這里強(qiáng)調(diào)全功能的GIS服務(wù),包括數(shù)據(jù)管理,、二維可視化,、三維可視化、地圖在線編輯,、制圖排版和各類空間分析和處理等,。
◆服務(wù)器支持發(fā)布基于通用規(guī)范的服務(wù),如WMS,、WCS,、WFS、WPS,、GeoRSS,、 KML等,以便被第三方軟件作為客戶端集成調(diào)用,。
◆客戶端GIS軟件具備服務(wù)聚合能力,,可聚合同一廠家服務(wù)器軟件和第三方服務(wù)器軟件發(fā)布的GIS服務(wù),并與本地數(shù)據(jù)和本地功能集成應(yīng)用,。
◆服務(wù)器端軟件具備強(qiáng)大的服務(wù)聚合能力,,可以聚合來自其他服務(wù)器上發(fā)布的GIS服務(wù),,并可以將聚合后的結(jié)果再次發(fā)布,再次發(fā)布的服務(wù)還可以繼續(xù)被其他的服務(wù)器軟件聚合,。
關(guān)于服務(wù)的粒度,,有必要簡單做個說明。細(xì)粒度服務(wù)的特點(diǎn)是:通訊次數(shù)多,,效率低,,但靈活性高。舉個例子,,如果用細(xì)粒度服務(wù)實(shí)現(xiàn)緩沖區(qū)查詢,,我們需要調(diào)用兩個不同的服務(wù)完成這個功能:服務(wù)一,輸入一條道路線和緩沖區(qū)半徑,,輸出一個緩沖區(qū)范圍(多邊形),;服務(wù)二,輸入一個多邊形,,查詢處在該面范圍內(nèi)的所有居民點(diǎn),。連續(xù)調(diào)用上述兩個服務(wù)即可完成緩沖區(qū)查詢功能。
粗粒度服務(wù)的特點(diǎn)是:通訊次數(shù)少,,效率高,,但靈活性相對較低。上述案例若用一個粗粒度服務(wù)實(shí)現(xiàn)則為:輸入一條道路線和緩沖區(qū)半徑,,輸出在這條道路線的緩沖區(qū)半徑范圍內(nèi)的所有居民點(diǎn),,一次調(diào)用即可完成任務(wù)。
實(shí)際上,,服務(wù)粒度的粗細(xì)是相對的,。僅僅提供粗粒度服務(wù),則可能導(dǎo)致系統(tǒng)靈活性不夠,,所以在設(shè)計服務(wù)時會考慮多種級別的服務(wù)并存,,在不同情況下需要調(diào)用不同粒度的服務(wù)。
Service GIS包括三個要素,,即:服務(wù)器,、服務(wù)規(guī)范和客戶端。Service GIS的服務(wù)器是服務(wù)的提供者,,可以遵循某一種或多種規(guī)范發(fā)布服務(wù),。服務(wù)規(guī)范可以是公認(rèn)的服務(wù)標(biāo)準(zhǔn),如WMS,、WCS,、WFS、WPS和GeoRSS等,,同時GIS平臺軟件廠商也可以自定義服務(wù)規(guī)范,。Service GIS的客戶端是服務(wù)的接受者,,一般地,可分為瘦客戶端(Thin Client)和富客戶端(Rich Client)兩種,,前者通常體現(xiàn)為瀏覽器中加載輕量級的插件,,甚至無需任何插件,由瀏覽器直接執(zhí)行來自服務(wù)器端的腳本實(shí)現(xiàn),;后者可以是通用的或?qū)S玫腉IS桌面軟件和組件開發(fā)平臺,,也可以是另一個服務(wù)器直接作為客戶端,聚合前一個服務(wù)器發(fā)布的服務(wù),。
Service GIS能更全面地支持SOA,,通過對多種SOA實(shí)踐標(biāo)準(zhǔn)與空間信息服務(wù)標(biāo)準(zhǔn)的支持,可以使用于各種SOA架構(gòu)體系中,,與其它IT業(yè)務(wù)系統(tǒng)進(jìn)行無縫的異構(gòu)集成,,從而可以更容易地讓應(yīng)用開發(fā)者快速構(gòu)建業(yè)務(wù)敏捷應(yīng)用系統(tǒng)。與基于面向組件軟件工程方法的組件式GIS相比,,服務(wù)式GIS繼承了前者的技術(shù)優(yōu)勢,,但同時又有一個質(zhì)的飛躍。從組件式GIS到服務(wù)式GIS,,這既是后者在前者基礎(chǔ)上的自然進(jìn)化和發(fā)展,同時也是GIS領(lǐng)域再一次關(guān)鍵一跳,!在今后一段時間內(nèi),,Service GIS將與組件式GIS 互為補(bǔ)充,共同進(jìn)步和發(fā)展,,最終Service GIS將成為應(yīng)用系統(tǒng)開發(fā)新的主流,。
SuperMap的Service GIS架構(gòu)
超圖一方面在發(fā)展和擴(kuò)展已有的WebGIS產(chǎn)品SuperMap IS Java/.NET,同時也在研發(fā)新一代Service GIS技術(shù),。2007年9月,,超圖發(fā)布了SuperMap GIS 2008,不僅增加了SuperMap iServer 2008這一全新的Service GIS服務(wù)器軟件開發(fā)平臺,,還在桌面GIS軟件SuperMap Deskpro 2008和組件式GIS開發(fā)平臺SuperMap Objects 2008中增加了服務(wù)聚合的能力,,與移動GIS平臺eSuperMap和網(wǎng)絡(luò)瀏覽器一起構(gòu)成了SuperMap iServer的客戶端,讓SuperMap GIS 2008成為一個完整的Service GIS產(chǎn)品體系,。
圖2 SuperMap GIS 2008的Service GIS架構(gòu)
與傳統(tǒng)WebGIS不同的是,,SuperMap iServer提供GIS全功能的服務(wù)器,而不僅僅局限于信息發(fā)布和基本的交互功能,,同時在服務(wù)端提供了靈活的服務(wù)聚合功能,。通過iServer的服務(wù)聚合器,可以把第三方服務(wù)聚合在服務(wù)端再發(fā)布出去,。
SuperMap iServer支持發(fā)布服務(wù)的規(guī)范,,包括SuperMap自定義的服務(wù)規(guī)范,,公認(rèn)標(biāo)準(zhǔn)的服務(wù)規(guī)范,如WMS,、WCS,、WFS、WPS,,以及其他廠商的服務(wù)規(guī)范,,如Google的KML。在Google Earth中就可以直接集成使用SuperMap iServer發(fā)布的KML地圖數(shù)據(jù),。
服務(wù)聚合能力是SuperMap iServer一個十分重要的特色,,SuperMap iServer服務(wù)聚合支持多級嵌套。服務(wù)端聚合帶給應(yīng)用開發(fā)商和應(yīng)用單位的價值包括:第一,,降低系統(tǒng)中的數(shù)據(jù)成本,,可以直接調(diào)用相關(guān)部門,或者公眾電子地圖網(wǎng)站的地圖作為底圖,;第二,,簡易,通過增強(qiáng)配置能力,,減少二次開發(fā),;第三,集成異地部署的數(shù)據(jù)和功能,;第四,,高效重用,重組已有服務(wù),,快速滿足需求變化,。
在SuperMap GIS 2008的具體技術(shù)實(shí)現(xiàn)中,融合了面向服務(wù),、面向組件和面向?qū)ο筮@三代軟件工程方法,。
圖3 SuperMap GIS 2008融合了三代軟件工程方法
SuperMap iServer是采用面向服務(wù)的思想封裝的粗粒度服務(wù)群,是Service GIS的服務(wù)器開發(fā)平臺,,適合構(gòu)建松耦合系統(tǒng),,包括Java和.NET兩個版本,即SuperMap iServer Java和SuperMap iServer .NET,,后者將在SuperMap GIS 2009中提供,。
SuperMap iServer本身是基于組件式GIS——SuperMap Objects構(gòu)建的,SuperMap Objects則是采用面向組件的思想封裝的細(xì)粒度組建群,,適用于構(gòu)建緊耦合應(yīng)用系統(tǒng),,包括SuperMap Objects Java和SuperMap Objects.NET兩個版本。
SuperMap UGC則是SuperMap Objects構(gòu)建的基礎(chǔ)內(nèi)核,是一套基于C++開發(fā)的GIS核心功能類庫,,采用的是面向?qū)ο蠹夹g(shù),,封裝了粒度更細(xì)的對象(C++類),主要作為SuperMap GIS技術(shù)體系的基礎(chǔ)內(nèi)核,,但同時也可使用于個別有特殊要求的應(yīng)用系統(tǒng)開發(fā),。
與Service GIS相關(guān)的概念澄清
說到這里,有必要澄清兩組概念之間關(guān)系與差別,,第一組是Universal GIS與Service GIS,,第二組是Server GIS與Service GIS。
2005年,,超圖提出了共相式GIS(Universal GIS)技術(shù)框架的思想,,Universal GIS是GIS軟件研發(fā)的一種技術(shù)框架,實(shí)際上是超圖研發(fā)中心內(nèi)部采用的一種架構(gòu)思想,,它給用戶帶來直接的好處就是一套產(chǎn)品可以實(shí)現(xiàn)高效的跨平臺效果,,特別是跨操作系統(tǒng),解決以前GIS廠商基于某種操作系統(tǒng)研發(fā)GIS模式所帶來的問題,。在圖3的技術(shù)框架中,,基于跨平臺的C++內(nèi)核UGC,構(gòu)建支持多種操作系統(tǒng)和多種開發(fā)語言的組件式GIS——SuperMap Objects Java/.NET,,然后又在SuperMap Objects Java/.NET基礎(chǔ)上構(gòu)建Service GIS的服務(wù)器開發(fā)平臺——SuperMap iServer Java/.NET,,同樣支持多種操作系統(tǒng)和多種開發(fā)語言。上述整個技術(shù)體系,,我們稱之為Universal GIS,。Service GIS與Universal GIS是從完全不同角度思考的,Service GIS與組件式GIS則是同一技術(shù)序列的不同層次,,二者有繼承和發(fā)展的關(guān)系。
從字面上看,,Service GIS和Server GIS之間更容易混淆,。Service GIS是包括服務(wù)提供者(服務(wù)器)、服務(wù)接受者(客戶端)和服務(wù)規(guī)范在內(nèi)的,,面向服務(wù)的完整的GIS軟件技術(shù)框架,。Server GIS則泛指凡是運(yùn)行在服務(wù)器端的所有GIS軟件,包括各種類型的WebGIS和在服務(wù)器端有中間件的空間數(shù)據(jù)庫引擎,,前者如國外同行的產(chǎn)品ArcIMS和MapXtreme等,,以及國內(nèi)軟件SuperMap IS Java/.NET、GeoBeans,、MapGIS IMS,、GeoSurf等,后者如ArcSDE;此外,,Service GIS的服務(wù)器本身也是一種Server GIS,。
盡管Service GIS軟件技術(shù)還需要一段時間去發(fā)展和完善,但不容置疑,,從組件式GIS到服務(wù)式GIS的關(guān)鍵一跳是GIS軟件技術(shù)發(fā)展的重要里程碑,,其意義絕不亞于十年前從傳統(tǒng)GIS到組件式的一跳。在GIS領(lǐng)域,,Service GIS也將成為繼組件式GIS之后新的主流開發(fā)平臺,。