闞俊峰 崔敬濤 秦臻
摘 要:插件式開發(fā)技術(shù)相比其他開發(fā)模式具有較高的擴(kuò)展性、可裁剪性、復(fù)用性等優(yōu)勢(shì),目前許多GIS平臺(tái)都支持插件式開發(fā)模式。本文基于SuperMap iDesktop 8C平臺(tái),并以某湖綜合治理三維信息管理平臺(tái)為實(shí)例,探討插件式快速GIS軟件開發(fā)技術(shù)。
關(guān)鍵詞:插件式開發(fā);SuperMap;GIS;水利信息化
中圖分類號(hào):TV213.4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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
近年來(lái),隨著GIS技術(shù)的不斷發(fā)展,GIS應(yīng)用系統(tǒng)在水利信息化領(lǐng)域的應(yīng)用水平不斷提高,同時(shí)對(duì)軟件的重用性、可擴(kuò)展性、標(biāo)準(zhǔn)化、專業(yè)化和后期維護(hù)編輯等方面也有了更高的要求[1,2]。但傳統(tǒng)的組件式開發(fā)模式主要注重系統(tǒng)軟件的全局,目前仍有很大的不足,主要表現(xiàn)在軟件的開發(fā)一般從最基礎(chǔ)的代碼功能開始,不必要的基礎(chǔ)工作量很大;代碼復(fù)用性、通用性較低,開發(fā)周期延長(zhǎng);代碼后期維護(hù)、編輯、修改難度較大;對(duì)成熟軟件平臺(tái)的利用率低,不能充分利用成熟商業(yè)軟件優(yōu)勢(shì)等問(wèn)題。本文針對(duì)上述不足,提出了利用插件式開發(fā)技術(shù),基于SuperMap iDesktop 8C平臺(tái),進(jìn)行快速、高效的水利信息化平臺(tái)軟件開發(fā)新模式。
1 插件式開發(fā)技術(shù)概述
插件式開發(fā)模式通過(guò)在運(yùn)行時(shí)動(dòng)態(tài)加載編譯未知的程序模塊擴(kuò)展現(xiàn)有程序,目前許多軟件平臺(tái)都支持插件式擴(kuò)展開放模式[3],其主要技術(shù)思路是根據(jù)軟件的實(shí)際功能需求,在系統(tǒng)的開發(fā)過(guò)程中,將需求明確劃分為多個(gè)類別,從而將整個(gè)系統(tǒng)設(shè)計(jì)為主程序和插件兩個(gè)大類。其中,基礎(chǔ)功能在主程序中實(shí)現(xiàn),具體業(yè)務(wù)功能以插件的形式存放,同時(shí)主程序提供接口,插件程序只要連接該接口,即可被主程序自動(dòng)識(shí)別并調(diào)用。這樣可以通過(guò)插件的增改、刪減,快速實(shí)現(xiàn)系統(tǒng)平臺(tái)的修改,同時(shí),各個(gè)插件是相互獨(dú)立存在的,可以進(jìn)行獨(dú)立的修改編輯,從而實(shí)現(xiàn)了系統(tǒng)平臺(tái)的不斷更新、改進(jìn)。其優(yōu)點(diǎn)主要包括降低系統(tǒng)各模塊之間的相互依賴性,系統(tǒng)模塊獨(dú)立開發(fā)、部署和維護(hù),根據(jù)需求動(dòng)態(tài)組裝和分離程序,增強(qiáng)了系統(tǒng)的靈活性。
2 基于SuperMap平臺(tái)的插件式技術(shù)實(shí)現(xiàn)
2.1 開發(fā)思路
插件式平臺(tái)開發(fā)的思路主要包括5步(見圖1)。第一步分析功能需求,明確需要實(shí)現(xiàn)的功能是什么;第二步確定擴(kuò)展方式;第三步界面設(shè)計(jì),可以在平臺(tái)上面直接修改,也可以通過(guò)修改配置文件,配置界面要素,推薦使用后面一種方式,可以批量修改界面要素,同時(shí)可以設(shè)置要素的基本屬性信息;第四步確定需要使用的模塊、對(duì)象、接口,根據(jù)具體需要實(shí)現(xiàn)的功能,確定要使用的模塊、對(duì)象、接口,掌握對(duì)象之間的關(guān)系;第五步生成插件相關(guān)文件,編譯生成插件動(dòng)態(tài)庫(kù)文件或生成代碼段/代碼文件。
2.2 開發(fā)流程
整個(gè)插件式開發(fā)的流程包括新建插件工程項(xiàng)目、編寫配置文件、確定模塊對(duì)象和接口、編寫代碼、環(huán)境配置等幾項(xiàng)(見圖2)。具體的操作流程基于VS2012開發(fā)環(huán)境,利用SuperMap iDesktop 8C平臺(tái)進(jìn)行開發(fā)。
2.3 技術(shù)分析案例
本文利用SuperMap iDesktop 8C 64位操作平臺(tái),在Visual Studio 2012編譯環(huán)境下,實(shí)現(xiàn)某湖綜合治理三維信息管理平臺(tái)的插件式開發(fā)模塊,根據(jù)業(yè)務(wù)的實(shí)際需要,開發(fā)的功能模塊主要包括綜合管理、綜合查詢、綜合統(tǒng)計(jì)、應(yīng)急指揮、三維操作、綜治總結(jié)和幫助幾大模塊,具體各個(gè)功能模塊包含的功能如圖3所示。
將插件式開發(fā)技術(shù)設(shè)計(jì)下的各功能插件配置到最終運(yùn)行的iDesktop 8C軟件中,配置內(nèi)容包括將Visual Studio 2013編譯器下生成的DLL文件拷貝到iDesktop 8C平臺(tái)安裝目錄下的/Bin/Plugins/MyPlugin文件夾內(nèi),將插件配置文件(后綴名為.Config)拷貝到iDesktop 8C平臺(tái)安裝目錄下的/WorkEnvironment/Default文件夾內(nèi)。
3 結(jié)語(yǔ)
插件式GIS開發(fā)模式比傳統(tǒng)的GIS應(yīng)用系統(tǒng)開發(fā)模式具有更高的功能設(shè)計(jì)靈活性、代碼復(fù)用性,同時(shí)后期系統(tǒng)平臺(tái)的維護(hù)、更新、擴(kuò)展、移植都極為方便,極大地降低了系統(tǒng)成本,提高了整個(gè)應(yīng)用系統(tǒng)的安全性,符合現(xiàn)代GIS應(yīng)用功能多元化的時(shí)代需求。本文提出利用插件式開發(fā)模式,簡(jiǎn)單闡述了插件式開發(fā)的技術(shù)思路,基于SuperMap iDesktop 8C GIS應(yīng)用平臺(tái),介紹了在該平臺(tái)上進(jìn)行插件式開發(fā)的思路、流程,并利用某湖綜合治理三維信息管理平臺(tái)為案例進(jìn)行技術(shù)分析,以期結(jié)合成熟商業(yè)GIS軟件,為水利信息化搭建開發(fā)系統(tǒng)管理平臺(tái)尋找一個(gè)快速、高效的途徑。
參考文獻(xiàn):
[1]Gamma E,Beck K. Contributing to Eclipse: Principles, Patterens and Plug-ins[M].New Jersey:Addison Wesley,2003.
[2]蔣波濤.插件式GIS應(yīng)用框架的設(shè)計(jì)與實(shí)現(xiàn)——基于C#和ArcGIS Engine 9.2[M].北京:電子工業(yè)出版社,2008.
[3]巫細(xì)波,胡偉平.基于.NET反射技術(shù)的插件式GIS軟件設(shè)計(jì)原理與實(shí)現(xiàn)[J].地理與地理信息科學(xué),2009(6):41-44.