999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于插件的綜合應(yīng)用界面集成框架

2019-07-12 08:28:26劉筱秦永剛陸澤健
電子技術(shù)與軟件工程 2019年9期
關(guān)鍵詞:界面功能

文/劉筱 秦永剛 陸澤健

業(yè)務(wù)應(yīng)用信息系統(tǒng)前端席位軟件是部署在業(yè)務(wù)應(yīng)用信息系統(tǒng)操作員席位有用于支持操作員進行操作控制的前臺界面軟件,用于支持操作員開展地理標(biāo)繪、信息交互、狀態(tài)監(jiān)控等業(yè)務(wù)活動。當(dāng)前在前端席位軟件開發(fā)、集成和維護中暴露出以下問題:

(1)席位軟件界面風(fēng)格不統(tǒng)一問題,由于業(yè)務(wù)應(yīng)用信息系統(tǒng)的復(fù)雜性,同一系統(tǒng)中需集成不同單位開發(fā)的不同應(yīng)用,各單位開發(fā)的前端界面缺乏統(tǒng)一設(shè)計和管理,導(dǎo)致席位軟件界面風(fēng)格不統(tǒng)一,增加了使用的復(fù)雜度。

(2)席位基礎(chǔ)業(yè)務(wù)功能重復(fù)開發(fā)的問題,業(yè)務(wù)應(yīng)用信息系統(tǒng)前端席位不同席位間有大部分基礎(chǔ)業(yè)務(wù)功能是相同的,但由于不同席位在開發(fā)時缺少統(tǒng)一的集成框架,導(dǎo)致相同功能重復(fù)開發(fā)或模塊復(fù)用度不高,增加了系統(tǒng)的開發(fā)成本,同時降低了系統(tǒng)的可靠性。

(3)席位前端軟件升級維護成本較高的問題,由于信息系統(tǒng)較為復(fù)雜,各模塊耦合度高,導(dǎo)致在系統(tǒng)升級維護過程中,增加或修改部分功能有可能導(dǎo)致需要對整個前端軟件的多個模塊進行修改,導(dǎo)致升級維護軟件成本較高。

針對以上問題,本文提出了一種基于插件的綜合應(yīng)用界面集成框架軟件,能夠動態(tài)集成按照插件開發(fā)規(guī)范開發(fā)的插件,支持以插件為單元動態(tài)組裝系統(tǒng)。同時綜合應(yīng)用界面集成框架軟件集成了界面管理、時間管理、態(tài)勢標(biāo)繪、空間位置計算、網(wǎng)絡(luò)通信等基礎(chǔ)服務(wù)插件,為開發(fā)人員提供相關(guān)基礎(chǔ)服務(wù)應(yīng)用功能;開發(fā)人員可以在框架軟件的基礎(chǔ)上,調(diào)用基礎(chǔ)服務(wù)插件開放的二次開發(fā)接口,按照插件開發(fā)標(biāo)準(zhǔn)并結(jié)合業(yè)務(wù)需求開發(fā)業(yè)務(wù)插件,構(gòu)建業(yè)務(wù)應(yīng)用信息系統(tǒng)前端席位軟件。

1 系統(tǒng)框架設(shè)計

綜合應(yīng)用界面集成框架軟件包括:插件集成模塊、界面管理模塊、時間管理模塊、地圖標(biāo)繪模塊、空間位置計算模塊和網(wǎng)絡(luò)通信模塊。其中,上述六個子模塊又可以劃分為若干小的功能模塊。

圖1:插件集成原理圖

(1)插件集成模塊是綜合應(yīng)用界面集成框架軟件的核心模塊,主要用于動態(tài)集成業(yè)務(wù)插件對象,并支持業(yè)務(wù)插件對象與界面窗體之間及業(yè)務(wù)插件對象與業(yè)務(wù)插件對象之間的信息交互;

(2)界面管理模塊主要提供對話框管理和浮動窗體管理功能;

(3)時間管理模塊采用C/S對時機制,主要負(fù)責(zé)提供各席位與時間同步服務(wù)器的天文時間的對時及時間獲取、設(shè)置與轉(zhuǎn)換功能;

(4)地圖標(biāo)繪模塊主要提供二三維地圖顯示及標(biāo)繪功能;

(5)空間位置計算模塊主要負(fù)責(zé)提供空間坐標(biāo)系的轉(zhuǎn)換及運算功能;

(6)網(wǎng)絡(luò)通信模塊采用消息公布與訂購機制,主要負(fù)責(zé)提供插件和插件之間、席位和席位之間的消息通信。

2 實現(xiàn)原理

綜合界面集成框架的核心是插件集成,插件集成的原理如圖1所示。

(1)插件綜合集成框架讀取配置文件獲取需要加載的插件信息,形成插件信息列表,然后到指定目標(biāo)下,按照插件信息列表獲取所有需要加載的插件動態(tài)庫文件;

(2)插件綜合集成框架通過動態(tài)庫文件句柄加載插件動態(tài)庫;

(3)插件綜合集成框架通過插件動態(tài)庫提供的函數(shù)動態(tài)創(chuàng)建插件對象;

(4)插件綜合集成框架通過契約(插件集成標(biāo)準(zhǔn))獲取插件對象,并通過插件對象實現(xiàn)系統(tǒng)功能。

在插件集成過程中主要需解決動態(tài)加載、契約訂立、菜單調(diào)用、接口擴展四個方面的問題。對于這四個部分見關(guān)鍵技術(shù)部分內(nèi)容。

3 關(guān)鍵技術(shù)

3.1 契約訂立

無論是用COM的方式,還是普通DLL,抑或.NΕT方式來實現(xiàn)插件框架,首先要面臨的問題就是如何訂立契約。契約是應(yīng)用程序和插件之間進行交互的依據(jù)和憑證。應(yīng)用程序必須聲明我有什么樣的功能可被插件使用,并且插件必須符合什么條件才能被我使用。反之,插件必須要知道應(yīng)用程序提供什么樣的功能,我才能將自己的功能融入到應(yīng)用程序的體系中。

在插件綜合集成框架中我們采用虛類的方式來實現(xiàn)契約的建立,即動態(tài)庫插件創(chuàng)建一個插件類的對象,插件類基于IPlugComUIBase來實現(xiàn),將插件對象的指針返給插件綜合集成框架;因為插件類繼承于IPlugComUIBase,因此在插件綜合集成框架中他被轉(zhuǎn)換為IPlugComUIBase指針類型,插件綜合集成框架通過IPlugComUIBase指針的就可以訪問插件的具體實現(xiàn)。

3.2 動態(tài)加載

不管你采用什么方式實現(xiàn)插件式的應(yīng)用程序框架,核心還是動態(tài)加載,換句話說,沒有動態(tài)加載技術(shù)也就無所謂插件式的應(yīng)用程序框架了。使用Com實現(xiàn)的話,你可以利用Com的API通過ProgID來動態(tài)創(chuàng)建COM對象,而在插件綜合集成框架中我們?yōu)榻档统绦虻膹?fù)雜程度,提高程序的可移植性(COM主要應(yīng)用Windows平臺)我們使用Windows 的API函數(shù)(在其他平臺我們可以采取相應(yīng)API函數(shù)來代替)來動態(tài)加載DLL。

(1)插件綜合集成框架調(diào)用FindFirstFile和FindNextFile函數(shù)在制定目錄下循環(huán)搜索DLL文件;

(2)插件綜合集成框架調(diào)用LoadLibrary動態(tài)加載DLL

(3)插件綜合集成框架使用GetProcAddress函數(shù)來獲取函數(shù)Plug_CreateUIObject的地址;

(4)插件綜合集成框架通過地址調(diào)用Plug_CreateUIObject函數(shù)創(chuàng)建插件對象;

(5)插件綜合集成框架通過IPlugUICom訪問插件對象,完成插件對象注冊。

3.3 菜單調(diào)用

插件在加載完成后,通過InitBtnInfo函數(shù)向框架注冊菜單命令,框架建立菜單事件列表,并在窗口界面上根據(jù)列表生成系統(tǒng)菜單,當(dāng)用戶點擊框架上的菜單時,框架通過列表確認(rèn)注冊該菜單的插件對象,調(diào)用插件對象的ProCommand消息,將菜單消息反饋給插件。

3.4 接口擴展

插件可以通過定義接口類,并將接口類放入公共接口集,將自身的功能提供給其他插件。具體步驟如下:

(1)首先插件定義一個基于插件接口基類的接口聲明類,該類為純虛類,包含該插件對外提供的函數(shù)接口聲明以及該接口定義的接口標(biāo)識;

(2)插件在自身內(nèi)部基于該聲明,定義繼承于聲明類的接口實現(xiàn)類,實現(xiàn)接口定義的功能;

(3)插件創(chuàng)建實現(xiàn)類對象,并在插件的RegisteAllInterface接口注冊處理中注冊該接口;

(4)其他插件首先通過插件名稱獲取使用接口所在的插件對象,然后通過該對象的GetInterface函數(shù)傳入接口標(biāo)識,獲取接口對象。然后在調(diào)用接口對象進行相應(yīng)業(yè)務(wù)處理。

4 系統(tǒng)應(yīng)用情況

目前該集成框架已應(yīng)用于某業(yè)務(wù)應(yīng)用信息處理系統(tǒng)前端界面集成,通過采用該集成框架對前端業(yè)務(wù)進行集成。在集成過程中,集成框架具有以下優(yōu)點:

(1)解決了席位軟件界面風(fēng)格統(tǒng)一問題,界面布局、顯示要素的樣式、配色等由框架進行統(tǒng)一管理,可根據(jù)需求進行界面快速定制和開發(fā),同時實現(xiàn)了軟件界面與應(yīng)用分離。

(2)解決了基礎(chǔ)業(yè)務(wù)功能重復(fù)開發(fā)的問題,軟件中類似于地理標(biāo)繪、網(wǎng)絡(luò)通信、界面管理等通用基礎(chǔ)功能,由專門團隊構(gòu)建統(tǒng)一的基礎(chǔ)服務(wù)插件進行實現(xiàn),避免了基礎(chǔ)業(yè)務(wù)的重復(fù)開發(fā)。

(3)降低了系統(tǒng)的運維成本,整個框架基于模塊化、組件化的設(shè)計理念,通過綜合應(yīng)用界面集成框架集成的席位軟件的功能變更,只需增刪相應(yīng)插件,而不影響席位軟件體系結(jié)構(gòu),便于軟件功能變更,使系統(tǒng)易于維護。

5 結(jié)束語

本文提出了一種基于插件的綜合應(yīng)用界面集成框架,解決了業(yè)務(wù)應(yīng)用信息系統(tǒng)在顯示前端界面集成中界面風(fēng)格不統(tǒng)一、升級維護困難、基礎(chǔ)服務(wù)插件不統(tǒng)一等問題。后續(xù)將針對業(yè)務(wù)應(yīng)用需求,對基礎(chǔ)服務(wù)插件進行研究,通過基礎(chǔ)服務(wù)插件進一步擴展綜合應(yīng)用界面集成框架功能。

猜你喜歡
界面功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
關(guān)于非首都功能疏解的幾點思考
空間界面
金秋(2017年4期)2017-06-07 08:22:16
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
電子顯微打開材料界面世界之門
人機交互界面發(fā)展趨勢研究
手機界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 成年网址网站在线观看| 国内99精品激情视频精品| 国产屁屁影院| 亚洲欧美一级一级a| 91精品综合| 免费一级α片在线观看| 精品久久综合1区2区3区激情| 久久久久国产精品熟女影院| 亚洲人成在线精品| 亚洲欧美人成电影在线观看| 99视频在线免费| 欧美午夜在线视频| 秋霞国产在线| 午夜天堂视频| 亚洲日本中文综合在线| 日韩大片免费观看视频播放| 国产成人亚洲精品无码电影| 国产丝袜丝视频在线观看| 精品人妻AV区| 国产视频你懂得| 国产探花在线视频| 91亚洲视频下载| 亚洲精品国产精品乱码不卞| 久久精品中文无码资源站| 四虎影院国产| jizz在线免费播放| 亚洲天堂精品在线观看| 国产真实乱子伦视频播放| 中文字幕调教一区二区视频| 超级碰免费视频91| 丝袜无码一区二区三区| 欧美一级黄片一区2区| 青青草综合网| 日本不卡在线视频| 最新亚洲av女人的天堂| 天天色天天综合网| 成人伊人色一区二区三区| 国产在线八区| 操美女免费网站| 91精品国产自产在线观看| 国产精品极品美女自在线看免费一区二区 | 精品视频一区在线观看| 亚洲第一中文字幕| 欧美色综合网站| 亚洲大学生视频在线播放| 欧美国产在线精品17p| 久久永久免费人妻精品| 国产精品va免费视频| 毛片久久网站小视频| 欧美黄色网站在线看| 久久亚洲天堂| 在线看片国产| 亚洲一区二区无码视频| 午夜人性色福利无码视频在线观看| 国产乱人伦精品一区二区| www欧美在线观看| 无码日韩视频| 一级爱做片免费观看久久 | 制服丝袜亚洲| 自拍中文字幕| 亚洲性影院| 91伊人国产| 无码aaa视频| 成人在线天堂| 精品无码国产一区二区三区AV| 91福利在线看| 亚国产欧美在线人成| 香蕉eeww99国产精选播放| 无码高潮喷水在线观看| 国产AV无码专区亚洲A∨毛片| 国产无码在线调教| 成人在线综合| 一级毛片网| 成人午夜天| 国产一级视频在线观看网站| 91视频日本| 无码精品国产dvd在线观看9久| 在线va视频| 全部毛片免费看| 国产欧美在线观看精品一区污| 91偷拍一区| 欧美区一区|