周海鵬 杜維 劉碩
摘 ? 要:移動辦公已逐漸成為行業(yè)應用的新趨勢,本文采用面向服務思想設計并實現(xiàn)了一種基于“云+端”模式的移動GIS快速開發(fā)平臺,提出一種分層開發(fā)模型OS GAL IALo,目前已成功應用到國土違法用地巡查執(zhí)法、安監(jiān)執(zhí)法、道路養(yǎng)護與路政稽查、輸配電設備巡檢、市政管網(wǎng)巡查、土壤重全屬污染防治普查和農(nóng)村土地確權登記等領域的多個項目中。實踐證明該平臺具有多語言、跨平古、可配直、易擴展等特點,能有效提高開發(fā)效率,縮減軟件開發(fā)周期,降低項國實施風險。
關鍵詞:移動GIS ?WebGIS ?SOA ?敏捷開發(fā)
中圖分類號:TP311.52 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)08(a)-0068-02
城市基礎地理信息平臺的構建包含建立準確、動態(tài)、高效的共享型基礎地理信息數(shù)據(jù)庫,全面實現(xiàn)空間數(shù)據(jù)共享,地理信息的應用也正由傳統(tǒng)的提供數(shù)據(jù)變?yōu)榧?“一站式”在線地理信息綜合服務的新模式。在新模式下,地理信息服務全面支持唱OA,可無縫地異構集成相關的業(yè)務應用系統(tǒng),讓快速構建業(yè)務應用系統(tǒng)成為可能。
移動GIS是以移動互聯(lián)網(wǎng)為支撐、以智能手機或平板電腦為終端,結合北斗、GPS或基站為定位手段的集成GIS。移動GIS平臺基于分布式云計算存儲技術以桌面化的方式把數(shù)據(jù)、管理以服務的形式發(fā)布提供給操作者,適合作為手持移動端等微持化移動應用的網(wǎng)絡操作系統(tǒng)。簡單地說就是無主機的電腦,操作者的所有數(shù)據(jù)(包括操作系統(tǒng))都在服務器端。基于管理服務的輔助決策平臺,主要是通過SOA理念,將服務的內容發(fā)布給各操作終端。
本文以移動GIS項目共性需求為導向,采用面向服務 思想設計并實現(xiàn)了基于“云+端”模式的移動GIS·快速開 發(fā)平臺。平臺具有跨平臺、高性能、可配置、易擴展、支持多語言二次開發(fā)等特點,能幫助開發(fā)者快速構建業(yè)務敏捷的移動GIS應用系統(tǒng),具有重要的現(xiàn)實意義。
1 ?平臺總體架構
經(jīng)過多年發(fā)展,GIS已從單機工具型軟件系統(tǒng)逐步走向了分布式、網(wǎng)絡化的應用軟件平臺,從獨立GIS系統(tǒng)逐步過渡到具有高度資源整合能力和對外服務能力的服務式GIS。服務式GIS是一種面向服務軟件工程方法的GIS技術體系,它支持按照一定規(guī)范把GIS的全部功能以服務的方式發(fā)布出來,可以跨平臺、跨網(wǎng)絡、跨語言地被多種客戶端調用,同時能聚合來自其他服務器發(fā)布的GIS服務。服務式GIS可以更全面地支持SOA,通過對多種SOA實踐標準與空間信息服務標準的支持,可以使用于各種SOA架構體系中,與其它IT業(yè)務系統(tǒng)進行無縫的異構集成,從而可以更容易地讓應用開發(fā)者構建業(yè)務敏捷應用系統(tǒng)[3-5]。本文以面向服務的思想,分析設計了基于SOA架構的移動GIS開發(fā)平臺,提出“云+端”的移動GIS開發(fā)模式,由應用層、服務層、支撐層、核心層組成,其總體架構如圖1所示。
其中,應用層是以移動GIS為工具的數(shù)據(jù)采集、設備巡檢、移動執(zhí)法等各類應用系統(tǒng),包括移動作業(yè)系統(tǒng)、在線監(jiān)控、基于WebGIS的業(yè)務應用系統(tǒng)、指揮決策系統(tǒng)等,這些運行環(huán)境不同、架構各異的應用系統(tǒng),通過調用、聚合平臺發(fā)布的服務,實現(xiàn)數(shù)據(jù)共享和互操作;服務層由一系列遵循一定規(guī)范的應用接口組成,是平臺暴露給應用層進行集成、擴展的應用程序接口;支撐層是平臺的核心,采用B/S和C/S相結合的混合架構,對應用層各類系統(tǒng)起著數(shù)據(jù)管理、配置等支撐作用。
2 ?平臺主要功能模塊
2.1 GIS核心庫
核心層由HiMap SDK和HiWebGIS引擎組成,前者主要面向桌面端、服務器端和嵌入式設備的輕量級GIS應用程序的開發(fā)與部署,而后者是面向WebGIS應用系統(tǒng)的二次開發(fā)組件。HiMap SDK采用標準C++開發(fā)從底層構建實現(xiàn),支持跨平臺(Windows Mobile、Android、iOS、Win32等)、多語言(C#、JAVA、Object C)、多并發(fā)、高性能的GIS應用程序二次開發(fā)。HiMap SDK引入了硬件抽象層的概念,提出分層開發(fā)模型OS-GAL-IAL。
2.2 數(shù)據(jù)管理系統(tǒng)
基礎地圖數(shù)據(jù)、業(yè)務對象數(shù)據(jù)的預處理是移動GIS應用項目中至關重要的一環(huán),由于這些數(shù)據(jù)通常是多源異構的,在存儲方式、數(shù)據(jù)格式、空間參考等方面存在差異,需要對這些數(shù)據(jù)進行格式轉換、坐標變換、拓撲檢查、符號設置、緩存制作、壓縮轉存等數(shù)據(jù)預處理工作。數(shù)據(jù)管理系統(tǒng)綜合考慮桌面系統(tǒng)和嵌入式應用系統(tǒng)在數(shù)據(jù)精度、顯示分辨率、尋址計算等方面的差異,進行全局的優(yōu)化設計,提供了豐富實用的功能插件。如:地圖緩存制作插件可同時制作多種分辨率的地圖瓦片,并提供松散、緊湊兩種存儲格式,確保數(shù)據(jù)能在桌面端、Web端和移動端均能逼真、流暢地展示。
2.3 通信傳輸系統(tǒng)
通信傳輸系統(tǒng)是承接移動GIS和服務器的關鍵部分,其傳輸效率和系統(tǒng)的安全性、健壯性通常決定著一個移動GIS項目能否成功實施。用戶在戶外開始作業(yè)前,移動GIS通過套接字(Socket)連接到通信服務系統(tǒng)進行合法性驗證,作業(yè)完成后,現(xiàn)場采集的數(shù)據(jù)和軌跡數(shù)據(jù)通過通信服務系統(tǒng)實時地保存到服務器。當監(jiān)控中心需要對戶外用戶進行指揮調度、多方協(xié)助時,可通過通信服務系統(tǒng)將指令推送給現(xiàn)場終端用戶。為了達到最佳系統(tǒng)性能,本文采用完成端口(I/O Completion Ports,IOCP)管理套接字,IOCP充分利用內核對象的調度,只使用少量的幾個線程來處理和客戶端的所有通信,消除了無謂的線程上下文切換,從而最大限度地提高網(wǎng)絡通信的性能。
2.4 運行維護系統(tǒng)
運行維護系統(tǒng)為應用層各類應用系統(tǒng)提供底層支撐,包括GIS數(shù)據(jù)配置、權限配置兩大部分。其中,WebGIS數(shù)據(jù)配置實現(xiàn)對GIS數(shù)據(jù)的組織、顯示、查詢、事件、字段等信息的設置,這些配置項在WebGIS服務契約一一對應,前端對服務調用結果依次按契約進行取值,并在前端UI組件中展示。如:可配置當用戶在WebGIS上點擊某個要素時,是否彈出一個對話框,以及配置如何在對話框展示要素信息;配置前端參數(shù)取值字段,可在Web端方便地檢索出各要素的字段值,從而可輕松地實現(xiàn)各種擴展應用。
2.5 服務管理系統(tǒng)
服務管理系統(tǒng)是平臺各種服務運行的宿主環(huán)境,與IIS托管、Windows Services宿主不同,自托管宿主具有便于管控等優(yōu)勢,能方便地啟動、停止、重啟服務,可有效地對服務消費者進行過濾、監(jiān)控、報警等,同時能有效聚合外部服務,更適合于平臺級的應用項目。
2.6 WebGIS展示組件
WebGIS是各類業(yè)務對象時空信息的綜合展示窗口,是Web端業(yè)務應用系統(tǒng)的重要組件,是核心層HiWebGIS引擎二次開發(fā)的綜合示例。WebGIS組件中的所有展示方式、事件和行為(如圖層組織、符號樣式、查詢范圍、空間分析、搜索結果、消息處理、事件響應等等),均源自運行維護系統(tǒng)對WebGIS的配置結果,它們之間通過GIS服務契約和前端框架引擎實現(xiàn)“所配即所得”的快速定制效果。WebGIS展示組件內置了豐富的功能模塊,包括圖層控制、鷹眼、圖文互查、空間查詢、圖形編輯、專題地圖、GPS軌跡、地圖打印等模塊,程序員只須在頁面中通過為地圖對象添加工具組件的方式完成這些配置。
2.7 代碼生成工具
為進一步提升移動GIS項目的開發(fā)效率,降低本平臺框架使用的復雜度,本文設計并實現(xiàn)了基于微軟T4模版引擎的代碼自動生成工具。程序員通過簡單向導,便能自動生成對庫表數(shù)據(jù)增、刪、改、查等功能多層結構(UI、BLL、DAO、SqlMap)、標準化、高質量的源代碼,并有效地解決了多表關聯(lián)等難題。
3 ?結語
本文以解決移動GIS項目實施中所面臨問題為出發(fā)點,根據(jù)移動GIS類型項目的共性需求,設計并實現(xiàn)了基于“云+端”模式的敏捷開發(fā)平臺。目前已成功應用到國土違法用地巡查執(zhí)法、安監(jiān)執(zhí)法、道路養(yǎng)護與路政稽查、輸配電設備巡檢、市政管網(wǎng)巡查、土壤重金屬污染防治普查和農(nóng)村土地確權登記等領域的多個項目中。實踐證明該平臺具有多語言、跨平臺、可配置、易擴展等特點,能有效提高開發(fā)效率,縮減軟件開發(fā)周期,降低項目實施風險,受到開發(fā)商和最終用戶的一致好評。
參考文獻
[1] 王柯.基于Android終端和UC Map平臺的移動GIS開發(fā)與應用[J].地理信息世界,2014(12):127-131.
[2] 林剛.移動GIS數(shù)據(jù)管理平臺在電網(wǎng)規(guī)劃中的應用[J].電信科學,2017(6):1-4.
[3] 王興玲,楊崇俊,張宏.基于NET平臺的地理信息Web服務研究與應用[J].計算機工程與應用,2002,38(22):6-8.