闞俊峰 崔敬濤 秦臻



摘 要:插件式開發技術相比其他開發模式具有較高的擴展性、可裁剪性、復用性等優勢,目前許多GIS平臺都支持插件式開發模式。本文基于SuperMap iDesktop 8C平臺,并以某湖綜合治理三維信息管理平臺為實例,探討插件式快速GIS軟件開發技術。
關鍵詞:插件式開發;SuperMap;GIS;水利信息化
中圖分類號:TV213.4 文獻標識碼:A 文章編號:1003-5168(2018)16-0082-02
Method of Quickly Building Water Resources Informatization
Platform Based on SuperMap Plug-in Development Technology
KAN Junfeng1 CUI Jingtao1 QIN Zhen2
Abstract: Compared with other development modes, plug-in development technology has the advantages of high scalability, tailoring and reuse, etc. At present, many GIS platforms support plug-in development mode. This paper was based on SuperMap iDesktop 8C platform, and comprehensive 3D information management platform in a lake as an example, discussed the plug-in type rapid GIS software development technology.
Keywords: plug-in development technology;superMap;GIS;water resources informatization
近年來,隨著GIS技術的不斷發展,GIS應用系統在水利信息化領域的應用水平不斷提高,同時對軟件的重用性、可擴展性、標準化、專業化和后期維護編輯等方面也有了更高的要求[1,2]。但傳統的組件式開發模式主要注重系統軟件的全局,目前仍有很大的不足,主要表現在軟件的開發一般從最基礎的代碼功能開始,不必要的基礎工作量很大;代碼復用性、通用性較低,開發周期延長;代碼后期維護、編輯、修改難度較大;對成熟軟件平臺的利用率低,不能充分利用成熟商業軟件優勢等問題。本文針對上述不足,提出了利用插件式開發技術,基于SuperMap iDesktop 8C平臺,進行快速、高效的水利信息化平臺軟件開發新模式。
1 插件式開發技術概述
插件式開發模式通過在運行時動態加載編譯未知的程序模塊擴展現有程序,目前許多軟件平臺都支持插件式擴展開放模式[3],其主要技術思路是根據軟件的實際功能需求,在系統的開發過程中,將需求明確劃分為多個類別,從而將整個系統設計為主程序和插件兩個大類。其中,基礎功能在主程序中實現,具體業務功能以插件的形式存放,同時主程序提供接口,插件程序只要連接該接口,即可被主程序自動識別并調用。這樣可以通過插件的增改、刪減,快速實現系統平臺的修改,同時,各個插件是相互獨立存在的,可以進行獨立的修改編輯,從而實現了系統平臺的不斷更新、改進。其優點主要包括降低系統各模塊之間的相互依賴性,系統模塊獨立開發、部署和維護,根據需求動態組裝和分離程序,增強了系統的靈活性。
2 基于SuperMap平臺的插件式技術實現
2.1 開發思路
插件式平臺開發的思路主要包括5步(見圖1)。第一步分析功能需求,明確需要實現的功能是什么;第二步確定擴展方式;第三步界面設計,可以在平臺上面直接修改,也可以通過修改配置文件,配置界面要素,推薦使用后面一種方式,可以批量修改界面要素,同時可以設置要素的基本屬性信息;第四步確定需要使用的模塊、對象、接口,根據具體需要實現的功能,確定要使用的模塊、對象、接口,掌握對象之間的關系;第五步生成插件相關文件,編譯生成插件動態庫文件或生成代碼段/代碼文件。
2.2 開發流程
整個插件式開發的流程包括新建插件工程項目、編寫配置文件、確定模塊對象和接口、編寫代碼、環境配置等幾項(見圖2)。具體的操作流程基于VS2012開發環境,利用SuperMap iDesktop 8C平臺進行開發。
2.3 技術分析案例
本文利用SuperMap iDesktop 8C 64位操作平臺,在Visual Studio 2012編譯環境下,實現某湖綜合治理三維信息管理平臺的插件式開發模塊,根據業務的實際需要,開發的功能模塊主要包括綜合管理、綜合查詢、綜合統計、應急指揮、三維操作、綜治總結和幫助幾大模塊,具體各個功能模塊包含的功能如圖3所示。
將插件式開發技術設計下的各功能插件配置到最終運行的iDesktop 8C軟件中,配置內容包括將Visual Studio 2013編譯器下生成的DLL文件拷貝到iDesktop 8C平臺安裝目錄下的/Bin/Plugins/MyPlugin文件夾內,將插件配置文件(后綴名為.Config)拷貝到iDesktop 8C平臺安裝目錄下的/WorkEnvironment/Default文件夾內。
3 結語
插件式GIS開發模式比傳統的GIS應用系統開發模式具有更高的功能設計靈活性、代碼復用性,同時后期系統平臺的維護、更新、擴展、移植都極為方便,極大地降低了系統成本,提高了整個應用系統的安全性,符合現代GIS應用功能多元化的時代需求。本文提出利用插件式開發模式,簡單闡述了插件式開發的技術思路,基于SuperMap iDesktop 8C GIS應用平臺,介紹了在該平臺上進行插件式開發的思路、流程,并利用某湖綜合治理三維信息管理平臺為案例進行技術分析,以期結合成熟商業GIS軟件,為水利信息化搭建開發系統管理平臺尋找一個快速、高效的途徑。
參考文獻:
[1]Gamma E,Beck K. Contributing to Eclipse: Principles, Patterens and Plug-ins[M].New Jersey:Addison Wesley,2003.
[2]蔣波濤.插件式GIS應用框架的設計與實現——基于C#和ArcGIS Engine 9.2[M].北京:電子工業出版社,2008.
[3]巫細波,胡偉平.基于.NET反射技術的插件式GIS軟件設計原理與實現[J].地理與地理信息科學,2009(6):41-44.