ComGIS

ComGIS

COM是組件式對象模型(Component Object Model)的英文縮寫,ComGIS是面向對象技術和組件式軟體在GIS軟體開發中的套用。組件式軟體技術已經成為當今軟體技術的潮流之一,推動了地理信息系統的組件化發展,組件式GIS是GIS的發展新階段。

基本介紹

  • 中文名:ComGIS
  • 外文名:Component Object Model
  • 領域:計算機
  • 技術面向對象技術
基本思想,組件技術,套用方式,開發方式,優點,

基本思想

認識ComGIS,首先需要了解所依賴的技術基礎-組件式對象模型和ActiveX控制項。
COM是組件式對象模型,是OLEActiveX共同的基礎。COM不是一種面向對象的語言,而是一種二進制標準。COM所建立的是一個軟體模組與另一個軟體模組之間的連結,當這種連結建立之後,模組之間就可以通過稱之為“接口”的機制來進行通信。COM標準增加了保障系統和組件完整的安全機制,擴展到分散式環境。這種基於分散式環境下的COM被稱作DCOM(Distribute COM)。DCOM實現了COM對象與遠程計算機上的另一個對象之間直接進行互動。
ActiveX是一套基於COM的可以使軟體組件在網路環境中進行互操作而不管該組件是用何種語言創建的技術。作為ActiveX技術的重要內容,ActiveX 控制項是一種可編程、可重用的基於COM的對象。ActiveX控制項通過屬性、事件、方法等接口與應用程式進行互動。
一些軟體公司專門生產各種用途的ActiveX控制項,比如:資料庫訪問、數據監視、數據顯示、圖形顯示、圖像處理,甚至三維動畫等等。幾個著名的GIS軟體公司把COM技術套用於GIS開發,紛紛推出由一系列ActiveX控制項組成的ComGIS軟體,比如Intergraph公司的GeoMediaESRIMapObjectsMapInfo公司的MapX等。
ComGIS的基本思想是把GIS的各大功能模組劃分為幾個控制項,每個控制項完成不同的功能。各個GIS控制項之間,以及GIS控制項與其它非GIS控制項之間,可以方便地通過可視化的軟體開發工具集成起來,形成最終的GIS套用。控制項如同一堆各式各樣的積木,他們分別實現不同的功能(包括GIS和非GIS功能),根據需要把實現各種功能的 “積木”搭建起來,就構成套用系統。

組件技術

目前,在軟體開發領域,一場新的革命正在悄悄興起,這是由日趨成熟的組件技術引發的。幾年以前,當微軟公司首先使用OLE (Object Linking & Embedding)的時候,其初衷是為了增強軟體的互操作性。然而在使用過程中,人們逐漸認識到這一技術背後的實質性內容和它在軟體開發中所扮演的重要角色。組件技術將以前所未有的方式提高軟體產業的生產效率,這一點已逐步成為軟體開發人員的共識。傳統的Client/Server結構、群件、中間件等大型軟體系統的構成形式,都將在組件的基礎上重新構造。
組件技術使近二十年來興起的面向對象技術進入到成熟的實用化階段。在組件技術的概念模式下,軟體系統可以被視為相互協同工作的對象集合,其中每個對象都會提供特定的服務,發出特定的訊息,並且以標準形式公布出來,以便其他對象了解和調用。組件間的接口通過一種與平台無關的語言IDL(Interface Define Language)來定義,而且是二進制兼容的,使用者可以直接調用執行模組來獲得對象提供的服務。早期的類庫,提供的是原代碼級的重用,只適用於比較小規模的開發形式;而組件則封裝得更加徹底,更易於使用,並且不限於C++之類的語言,可以在各種開發語言和開發環境中使用。
由於組件技術的出現,軟體產業的形式也將會有所改變。大量組件生產商會湧現出來,並推出各具特色的組件產品;軟體集成商則利用適當的組件快速生產出用戶需要的某些套用系統;大而全的通用產品將逐步減少;很多相對較為專業,但用途廣泛的軟體,如GIS、語音識別系統等,都將以組件的形式組裝和擴散到一般的軟體產品中。

套用方式

GIS技術的發展,在軟體模式上經歷了功能模組、包式軟體、核心式軟體,從而發展到ComGIS、WebGIS的過程。傳統GIS雖然在功能上已經比較成熟,但是由於這些系統多是基於十多年前的軟體技術開發的,屬於獨立封閉的系統。同時,GIS軟體變得日益龐大,用戶難以掌握,費用昂貴,阻礙了GIS的普及和套用。組件式軟體是新一代GIS的重要基礎, ComGIS的出現為傳統GIS面臨的多種問題提供了全新的解決思路。
ComGIS是面向對象技術和組件式軟體在GIS軟體開發中的套用。
許多WebGIS軟體包均採用HTML標準,活動內容採用Java applets(SUN 標準)或者 ActiveX(Microsoft 標準)進行傳遞。新型的分散式面向對象WebGIS可以採用CORBA/Java或者DCOM/ActiveX技術進行開發。ActiveX控制項不僅可以用於一般的ActiveX容器程式 (比如Visual Basic、Delphi等) ,而且能嵌入Web頁面中。任何ActiveX控制項都可以設計成Internet控制項,作為Web頁面的一部分,Web頁面中的控制項通過腳本(Script)互相通信。因此,ComGIS是WebGIS的一種解決方案,而基於這一方案的WebGIS通常比基於Java的運行速度快。
GIS的核心是 GIS軟體 ,GIS軟體的發展和 IT 技術,尤其是與主流軟體技術的發展緊密相關 。在組件技術出現之前,GIS軟體大多採用桌面 GIS加專用二次開發語言的方式,存在用戶難學難用,擴展困難,無法與 MIS等其他系統集成等問題 。GIS僅限於測繪、土地等少數部門使用,無法為更多的領域行業和大眾服務,GIS 處於專家 GIS 階段。20 世紀90年代中期, 微軟推出COM組件技術, 並在GIS中得到廣泛套用, 形成了COMGIS。 COMGIS具備高效無縫集成、無須專門 GIS 開發語言、成本低等優點以及組件式軟體的可編程和可重用的特性,GIS也因此開始融人 IT 主流,使得 GIS進入到 COMGIS 階段。

開發方式

(1)GIS 控制項方式 所用的 GIS 組件多數是以 ActiveX 控制項的形式存在,一般和專業套用系統在 Microsoft 平台上集成。這些控制項將基礎的 GIS 組件封裝在一起,方便地嵌入Microsoft 平台的任何標準開發環境中。 使用 GIS 控制項的目的是將 GIS功能引入其他系統中,這是 GIS 控制項存在的意義.它禁止了所有功能的實現細節,對用戶的編程技能要求很低。由於這種 GIS 開發方式簡單、快捷,並且控制項提供的功能既滿足了用戶的需要又充分利用了資料,因此這種開發方式得到了最為廣泛的套用。較有代表性的 GIS控制項有:MapInfo 的
MapX和 ESRI的 MapObject。
(2)桌面 GIS平台方式 桌面 GIS本身是一個可以獨立使用的 GIS套用系統。系統由眾多不同的獨立的 GIS組件組成,各個 GIS組件提供的不同功能模組共同實現系統的功能。這些組件基於同一組件開發平台,且滿足一定的協定,因而這些組件能無縫集成,從而構成完整的系統。用戶可根據需要選擇適當的組件開發出滿足自己功能需求的套用系統。 最有代表性的 COMGIS 平台實現方式是 ArcGIS 系統平台開發的系統。 該系統平台使用的組件是 COM/DCOM, 用戶在 Microsoft 平台上的標準開發環境中能方便地定製自身的專
業套用組件對其進行二次開發。
(3)基於 Web 的實現方式 COMGIS 在 Internet/Intranet 上的擴展,即網路技術與COMGIS 技術相結合作為 COMGIS 的一種開發方式,同時也是實現 WebGIS的一種方案。 這種實現方式是基於 B/S的結構,通過擴展瀏覽器的功能,利用瀏覽器就能對圖像進行縮放、移動、選定等操作,實現基礎的 GIS 功能。目前,使用較廣泛的是在瀏覽器上安裝基於 COM/DCOM 的 ActiveX 控制項擴展 Web 瀏覽器的動態模組。最具有代表性的是ArcIMS。
(4)基於 GIS中間件的 COMGIS實現方式 這裡的 GIS中間件可以是一個產品或一種服務,它將眾多 GIS 組件融合在一起。作為產品它可方便地交付給用戶使用,作為服務用戶可通過網際網路快速獲得。它採用標準接口回響用戶的功能請求和進行數據交換;它獨立存在,用戶只需以嚮導的形式獲得相應的功能或決定數據的輸出方式,所有需要 GIS 功能的用戶都能使用而無需掌握 GIS編程技能;它能禁止作業系統平台和 GIS數據間的異構性;它提供了統一的接口,任何人按照一定的規範都能將其擴充 。

優點

把 GIS 的功能適當抽象,以組件形式供開發者使用,將會帶來許多傳統 GIS 工具無法比擬的優點。
(1)小巧靈活、價格便宜
組件化的 GIS 平台集中提供空間數據管理能力,並且能以靈活的方式與資料庫系統連線。在保證功能的前提下,系統表現得小巧靈活,而其價格僅是傳統 GIS 開發工具的十分之一,甚至更少。這樣,用戶便能以較好的性能價格比獲得或開發 GIS套用系統。
(2)無須專門 GIS開發語言,直接嵌入 MIS開發工具
組件式 GIS 建立在嚴格的標準之上,不需要額外的 GIS 二次開發語言,只需實現 GIS的基本功能函式,按照 Microsoft 的 ActiveX 控制項標準開發接口。GIS 套用開發者,不必掌握額外的 GIS 開發語言,只需熟悉基於 Windows 平台的通用集成開發環境,以及 GIS 各個控制項的屬性、方法和事件,就可以完成套用系統的開發和集成。
(3)強大的 GIS功能
新的 GIS組件都是基於 32 位系統平台的,採用 InProc 直接調用形式,所以無論是管理大數據的能力還是處理速度方面均不比傳統 GIS 軟體遜色。小小的 GIS 組件完全能提供拼接、裁剪、疊合、緩衝區等空間處理能力和豐富的空間查詢與分析能力。
(4)開發簡捷
由於 GIS 組件可以直接嵌入 MIS 開發工具中,對於廣大開發人員來講,就可以自由選用他們熟悉的開發工具。而且,GIS 組件提供的 API 形式非常接近 MIS 工具的模式,開發人員可以像管理資料庫表一樣熟練地管理地圖等空間數據,無須對開發人員進行特殊的培訓。
(5)更加大眾化
組件式技術已經成為業界標準,用戶可以象使用其他 ActiveX控制項一樣使用 GIS控制項,使非專業的普通用戶也能夠開發和集成 GIS套用系統, 推動了 GIS大眾化進程。 組件式 GIS 的出現使 GIS 不僅是專家們的專業分析工具,同時也成為普通用戶對地理相關數據進行管理的的可視化工具
COMGIS 有如下幾個特性:
①可復用性 它是組件式軟體最基本的特性,也是組件技術和 GIS技術相結合的最初驅動力。與傳統的復用技術(代碼段復用、類復用等)相比,組件的復用更注重於大範圍的軟體復用和軟體復用的容易程度。而對於 GIS軟體組件的復用還應著眼於和其他非計算機領域結合的專業套用領域中的組件復用。
②可封裝性 封裝的目的不僅是為了隱藏設計和實現細節, 使組件對外呈現相對獨立的實體, 而對於組件使用者來說,封裝還意味著提高組件復用的容易程度。對於 GIS 這樣複雜的專業套用更需要重視。
③可定製性 指組件在組裝過程中隨組裝環境的不同而作出適當的調整。由於 GIS 必須和專業套用結合才能發揮其潛在的功能,因此絕大部分 GIS 組件在開發的過程中必須考慮其方便的可定製性,這是開發的難點之一。④可組裝性 利用 GIS組件開發系統的過程是各種 GIS組件組裝的過程,組裝是實施復用的手段。⑤語言無關性 突破了傳統 GIS 開發時需要學習特殊開發語言的限制。一般標準開發語言都可用來開發 GIS。⑥無縫集成性 滿足一定規範的不同語言開發的具有不同功能的 GIS組件在同一標準開發環境下能夠集成,不僅如此,GIS組件還能和其他專業套用系統集成。這種集成是高效的、無縫的,降低了 GIS開發的成本,並為 GIS走向大眾化提供了有力的支持。

相關詞條

熱門詞條

聯絡我們