國(guó)土資源數(shù)據(jù)中心插件式系統(tǒng)模型研究_第1頁(yè)
國(guó)土資源數(shù)據(jù)中心插件式系統(tǒng)模型研究_第2頁(yè)
國(guó)土資源數(shù)據(jù)中心插件式系統(tǒng)模型研究_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、國(guó)土資源數(shù)據(jù)中心插件式系統(tǒng)模型研究         摘要:國(guó)土資源數(shù)據(jù)中心主要管理海量網(wǎng)絡(luò)的國(guó)土資源空間數(shù)據(jù),涉及對(duì)多種專題數(shù)據(jù)的一體化管理,每種專題數(shù)據(jù)都是針對(duì)不同業(yè)務(wù)模型設(shè)計(jì)的,并需要與之相匹配的管理工具。過(guò)去的管理模式是采用多個(gè)系統(tǒng)的模式,造成數(shù)據(jù)形成信息孤島難以管理,因此提出數(shù)據(jù)中心管理工具系統(tǒng)插件式模型對(duì)現(xiàn)有多系統(tǒng)進(jìn)行整合,該模式可以實(shí)現(xiàn)業(yè)務(wù)功能的可擴(kuò)展、可配置。 關(guān)鍵詞:國(guó)土資源數(shù)據(jù)中心;框架;插件XML;插件封裝 1引言 信息化是當(dāng)今世界經(jīng)濟(jì)和社會(huì)發(fā)展的大趨勢(shì)。在國(guó)土資源信息化建設(shè)的進(jìn)程中,國(guó)土資源數(shù)

2、據(jù)作為一種信息資源,也越來(lái)越受到國(guó)家和各級(jí)管理部門的高度重視。隨著國(guó)土資源信息化工作的深入和“數(shù)字國(guó)土”工程的實(shí)施,國(guó)土資源基礎(chǔ)信息數(shù)字化程度日益提高,國(guó)土資源管理部門和社會(huì)各領(lǐng)域?qū)?guó)土資源基礎(chǔ)信息的需求也越來(lái)越大,對(duì)數(shù)據(jù)共享和信息服務(wù)的要求與日俱增。國(guó)土資源數(shù)據(jù)中心作為國(guó)土資源信息采集、更新、加工處理、傳輸、開(kāi)發(fā)利用和服務(wù)的保障機(jī)構(gòu),能為準(zhǔn)確掌握國(guó)內(nèi)外資源動(dòng)態(tài)信息,有效調(diào)控資源供應(yīng)總量和結(jié)構(gòu),建立安全的資源供給保障體系提供決策依據(jù)。 2基于MFC+BCG的框架插件模型的實(shí)現(xiàn) 選用MFC的插件模型,原因在于MFC有較長(zhǎng)的歷史運(yùn)用積累,關(guān)鍵是考慮在MAPGIS67平臺(tái)上,很多老的程序升級(jí)遷移跨度

3、較小。采用BCG是因?yàn)锽CG提供了更多功能,使開(kāi)發(fā)者可以從界面的開(kāi)發(fā)中解放出來(lái),側(cè)重與業(yè)務(wù)模型的思考;此外,因?yàn)樵创a已知,進(jìn)行改造更方便。缺點(diǎn)就是采用非組件方式,不能跨語(yǔ)言。整體性價(jià)比上進(jìn)行衡量,還是選擇MFC+BCG。 2.1框架+插件模型 采用框架+插件模型,系統(tǒng)的擴(kuò)展性大大地加強(qiáng)了。如果我們?cè)谙到y(tǒng)發(fā)布后需要對(duì)系統(tǒng)進(jìn)行擴(kuò)充,就不必重新編譯,只需要增加或修改插件就可以了。這有利于模塊化的開(kāi)發(fā)方式。我們可以開(kāi)發(fā)強(qiáng)大的插件管理系統(tǒng),在這樣的一個(gè)插件系統(tǒng)下,我們可以不修改基本系統(tǒng),僅僅使用插件就能構(gòu)造出各種各樣不同的系統(tǒng)。以后框架程序是個(gè)比較“瘦小”的內(nèi)核。具體功能通過(guò)“插件”來(lái)體現(xiàn)。 框架插件

4、模型主要解決資源和消息的問(wèn)題,如圖1。考慮要解決如下問(wèn)題: 插件如何將自身的資源界面嵌入到框架; 插件如何對(duì)菜單ID進(jìn)行響應(yīng); 如果兩個(gè)插件有相同的菜單ID號(hào),在進(jìn)行菜單響應(yīng)時(shí)。怎么只傳遞給特定的插件響應(yīng); 如上兩個(gè)菜單ID,如何對(duì)應(yīng)不同的菜單項(xiàng)圖標(biāo)。 框架插件式系統(tǒng)的實(shí)現(xiàn)原理;主框架有一套自己的資源,維護(hù)著自己的消息響應(yīng);插件也有一套自己的資源,也有著自己的消息響應(yīng)I插件的資源實(shí)際上就是建立在框架上,插件的信息響應(yīng)通過(guò)框架來(lái)分派;框架維護(hù)著一個(gè)插件集,用來(lái)管理插件的裝載和卸載(主要體現(xiàn)在資源界面的表現(xiàn));同時(shí)負(fù)責(zé)分派插件的消息(主要體現(xiàn)在消息的交互)。 插件嵌入到框架的方法;插件記載著框架的

5、指針,可以直接將資源嵌入進(jìn)去。對(duì)應(yīng)消息響應(yīng),在插件編寫(xiě)時(shí)可以不考慮很多;實(shí)際上主要是因?yàn)榭蚣茇?fù)責(zé)了消息的分派,如圖2。           2.2插件在框架內(nèi)的標(biāo)記以及生命周期 插件在框架內(nèi)有著各自的標(biāo)記及生命周期,插件以dll為載體,通過(guò)特定的導(dǎo)出函數(shù)來(lái)標(biāo)記插件,如表2-1。插件制作通過(guò)新建dll、制作插件、導(dǎo)出插件這三個(gè)步驟來(lái)實(shí)現(xiàn)。 (1)資源嵌入。 要解決各種與資源相關(guān)的問(wèn)題。 原理:訪問(wèn)資源,必須通過(guò)HINSTANCE+ID號(hào)來(lái)定位。MFC通過(guò)模塊資源切換來(lái)實(shí)現(xiàn)跨dll調(diào)用資源。AFX MANAG

6、E STATE(AfxGetStaticModuleState();這個(gè)用法主要局限于一個(gè)過(guò)程內(nèi)部。但是在插件模式下,可能在一個(gè)過(guò)程內(nèi)部,同時(shí)要訪問(wèn)不同插件的資源,例如設(shè)置一個(gè)彈出菜單的右鍵圖標(biāo),如果彈出菜單來(lái)源于多個(gè)插件,對(duì)應(yīng)不同的句柄。這時(shí)必須要對(duì)BCG進(jìn)行改造與此相關(guān)改造的,將每個(gè)資源都標(biāo)記了屬于哪個(gè)資源HINSTANCE。插件資源主要包括主框架觸發(fā)的命令(eg.toolbar和menu);也包括獨(dú)立的消息響應(yīng)體(Dockbar)等。 (2)消息分組。 與消息相關(guān)的包括:菜單和工具條的ON_COMMAND()命令消息、界面狀態(tài)控制消息ON_COMMAND_UPDA- TA()及toolt

7、ip、菜單項(xiàng)狀態(tài)欄提示等很多細(xì)小部分。 實(shí)現(xiàn)消息分組則過(guò)每個(gè)插件的標(biāo)記ID來(lái)區(qū)別。如果是屬于獨(dú)立的消息響應(yīng)體,可以不管,OS自動(dòng)分配。但是如果消息是來(lái)自主菜單等,則必須進(jìn)行消息分派。原理是每個(gè)菜單觸發(fā)時(shí),同時(shí)會(huì)標(biāo)記哪個(gè)插件觸發(fā)的ID。然后根據(jù)當(dāng)前ID找到指定插件進(jìn)行消息響應(yīng)。對(duì)于菜單工具條狀態(tài)控制,實(shí)際上都是CbcgpToolbar。考慮到最初彈出時(shí)會(huì)觸發(fā),還有Onldle()時(shí)也會(huì)觸發(fā),統(tǒng)一在OnCmdMsg進(jìn)行改寫(xiě)。 以上的框架插件模型可以添加任何界面,進(jìn)行任何消息響應(yīng)。 3MFC+BCG框架插件模型在國(guó)土數(shù)據(jù)中心業(yè)務(wù)中的應(yīng)用和擴(kuò)展 國(guó)土數(shù)據(jù)中心中產(chǎn)生了許多針對(duì)不同專題的信息系統(tǒng),如土地利

8、用現(xiàn)狀管理系統(tǒng),土地利用規(guī)劃管理系統(tǒng),這些系統(tǒng)中有許多功能是重復(fù)的,這種情況不利于軟件的可重復(fù)利用,不利于國(guó)土資源信息化。一體化數(shù)據(jù)中心的建立,將國(guó)土資源數(shù)據(jù)統(tǒng)一管理起來(lái),因此建立一個(gè)統(tǒng)一的數(shù)據(jù)管理界面,以及針對(duì)不同業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)功能庫(kù)是必要的,也是信息化的要求。國(guó)土資源業(yè)務(wù)中很多的業(yè)務(wù)功能都能分解成最小的基本功能,也稱業(yè)務(wù)單元,通過(guò)分析國(guó)土業(yè)務(wù)功能,將業(yè)務(wù)功能分解成業(yè)務(wù)單元,并存儲(chǔ)在功能庫(kù)中,用戶可以根據(jù)需要將功能庫(kù)組成不同需求的業(yè)務(wù)功能,來(lái)實(shí)現(xiàn)業(yè)務(wù)功能的擴(kuò)展。 對(duì)于國(guó)土資源數(shù)據(jù)中心,采用的插件模型,每個(gè)業(yè)務(wù)單元都是一個(gè)插件,所有的插件都遵循統(tǒng)一的接口。各業(yè)務(wù)單元模塊采用注冊(cè)方式,在框架中登

9、記,最終形成有機(jī)整體。 通過(guò)基于MFC+BCG的框架插件模型,可以通過(guò)添加GIS要素,在國(guó)土數(shù)據(jù)中心衍生不同的業(yè)務(wù)模型。添加MapGIS要素,需要考慮:MFC的SDI和MDI都采用DOCVIEW模型。對(duì)于MapGIS而言,DOC就是地圖文檔,不一定存在于CDocument中。 框架管理地圖文檔,負(fù)責(zé)其各種顯示與表現(xiàn)。地圖文檔特點(diǎn):規(guī)定統(tǒng)一的訪問(wèn)接口,接受各種數(shù)據(jù)類型,目前包括:MapGis的文件(點(diǎn)線區(qū)網(wǎng)圖形文件、WB文件、Mpj工程文件、DBS、MSI、MSD),將數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)表現(xiàn)有機(jī)結(jié)合,與地圖文檔樹(shù)綁定顯示效果更佳。支持分組、支持屬性擴(kuò)展等、支持?jǐn)?shù)據(jù)類型擴(kuò)展。地圖文檔有集中來(lái)源,單獨(dú)的打開(kāi)關(guān)閉,適合于單個(gè)業(yè)務(wù)系統(tǒng)的分發(fā),并能通過(guò)插件進(jìn)行其功能的擴(kuò)充。 4結(jié)語(yǔ) 系統(tǒng)集成與功能擴(kuò)展、重用是國(guó)土資源數(shù)據(jù)中心中采用插件技術(shù)主要解決的問(wèn)題。數(shù)據(jù)中心涉及對(duì)多種專題數(shù)據(jù)的一體化

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論