專利名稱:一種開放的gis開發(fā)中間件系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種針對(duì)配電網(wǎng)GIS(地理信息系統(tǒng))系統(tǒng)而開發(fā)的開放的GIS開發(fā)中間件系統(tǒng),簡(jiǎn)稱OGC(Open GIS Connectivity)體系架構(gòu)。不僅適用于配電GIS系統(tǒng)的開發(fā),而且還適用于其他GIS系統(tǒng)的開發(fā)。
背景技術(shù):
目前,配電網(wǎng)GIS系統(tǒng)市場(chǎng)存在以下特點(diǎn)市場(chǎng)上存在多種開發(fā)方式很不相同的主流GIS平臺(tái);不同的用戶會(huì)要求采用不同的GIS平臺(tái)來實(shí)現(xiàn)配電網(wǎng)GIS系統(tǒng),用戶需要通過GIS系統(tǒng)來集成多種配電業(yè)務(wù)。
針對(duì)上述情況,其他開發(fā)商的做法是為每個(gè)GIS平臺(tái)建立一個(gè)開發(fā)小組,完成從平臺(tái)到業(yè)務(wù)的實(shí)現(xiàn),這樣平臺(tái)越多,需要的開發(fā)人員就越多,代碼不能在各平臺(tái)之間共享,對(duì)人員的要求很高,既要熟悉平臺(tái)的開發(fā),又要懂業(yè)務(wù)。這些都造成了開發(fā)商人力資源的極大浪費(fèi),造成了產(chǎn)品的開放性和集成性較差,限制了開發(fā)和實(shí)施效率的提高,從而限制了產(chǎn)品的推廣與應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種開放的GIS開發(fā)中間件系統(tǒng),該中間件系統(tǒng)用于連接不同的GIS平臺(tái),可實(shí)現(xiàn)GIS平臺(tái)移植、擴(kuò)展,且業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)分離,從而達(dá)到促進(jìn)資源共享、提高開發(fā)效率的目的。
本發(fā)明所采用的技術(shù)方案是開放的GIS開發(fā)中間件系統(tǒng),其特征在于系統(tǒng)包括1)多個(gè)位于應(yīng)用程序下一層的業(yè)務(wù)相關(guān)模塊,以及;2)多個(gè)位于各GIS平臺(tái)上一層的平臺(tái)驅(qū)動(dòng)模塊,以及;3)在業(yè)務(wù)相關(guān)層與平臺(tái)驅(qū)動(dòng)層之間插入的使業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)分離的開放的GIS開發(fā)中間件架構(gòu)(OGC API),以及;
4)系統(tǒng)中實(shí)現(xiàn)業(yè)務(wù)相關(guān)模塊之間功能協(xié)調(diào)的軟總線。
所述業(yè)務(wù)相關(guān)模塊為可動(dòng)態(tài)裝載的功能模塊,它調(diào)用OGC API函數(shù)來實(shí)現(xiàn)電力業(yè)務(wù),并以一定的格式輸出自己的功能說明與接口給應(yīng)用程序使用,業(yè)務(wù)相關(guān)模塊被裝載在軟總線上。
所述平臺(tái)驅(qū)動(dòng)模塊由300多個(gè)函數(shù)組成,該層與GIS平臺(tái)直接相連。
所述開放的GIS開發(fā)中間件架構(gòu)(OGC API)實(shí)現(xiàn)GIS系統(tǒng)所需的功能操作,構(gòu)架由500多個(gè)函數(shù)組成,它除調(diào)用平臺(tái)驅(qū)動(dòng)層函數(shù)來實(shí)現(xiàn)功能外,還內(nèi)建本機(jī)軟總線用于協(xié)調(diào)整個(gè)系統(tǒng)的運(yùn)行,本層建立在平臺(tái)驅(qū)動(dòng)層的基礎(chǔ)上,與具體的GIS平臺(tái)沒有關(guān)系。
本發(fā)明的有益效果是1)優(yōu)秀的跨平臺(tái)移植性,在本系統(tǒng)中唯一與GIS平臺(tái)相關(guān)的是平臺(tái)驅(qū)動(dòng)層,而業(yè)務(wù)相關(guān)層是基于OGC API層來實(shí)現(xiàn)的,它與GIS平臺(tái)基本無關(guān)。當(dāng)我們?cè)诓煌脚_(tái)間進(jìn)行功能移植時(shí),只需更換與平臺(tái)相關(guān)的驅(qū)動(dòng)層,而包含業(yè)務(wù)的業(yè)務(wù)相關(guān)層則無需修改。2)業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)分離,本系統(tǒng)通過分層結(jié)構(gòu)(Plugin、OGC API及Driver API)使得業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)完全分離,這樣使得開發(fā)更有效率一方面兩項(xiàng)工作可以并行開展與升級(jí)維護(hù);另一方面兩組人員可以專注于自己特定的工作內(nèi)容,而不用花精力去學(xué)習(xí)自己不熟悉的內(nèi)容。3)系統(tǒng)擴(kuò)展性強(qiáng),在本系統(tǒng)中,所有的業(yè)務(wù)功能都是通過可動(dòng)態(tài)裝載/卸載的業(yè)務(wù)相關(guān)模塊(Plugin插件)來實(shí)現(xiàn)的,業(yè)務(wù)相關(guān)模塊全部由與GIS平臺(tái)無關(guān)的OGC API層組裝而成,而且這些插件間采用軟總線的機(jī)制,插件之間耦合性很低,因此可以很容易地?cái)U(kuò)展系統(tǒng)功能,而且通過并行工作可以加快擴(kuò)展速度。4)OGC架構(gòu)本身包含良好的集成機(jī)制,不受GIS平臺(tái)集成能力的限制。
圖1是本發(fā)明的結(jié)構(gòu)流程圖。
具體實(shí)施例方式
如圖1所示,本實(shí)施例分成五個(gè)層面,最上層是應(yīng)用程序1、第二層是業(yè)務(wù)相關(guān)層,由3個(gè)業(yè)務(wù)相關(guān)模塊2組成,第三層是開放的GIS開發(fā)中間件架構(gòu)3,第四層是平臺(tái)驅(qū)動(dòng)層,由3個(gè)平臺(tái)驅(qū)動(dòng)模塊4組成,最底層是3個(gè)GIS平臺(tái)5。其中GIS平臺(tái)5是指市場(chǎng)上存在的GIS平臺(tái),在本例中分別是Smallworld平臺(tái)、Arc/Info平臺(tái)和Intergraph的Geomedia平臺(tái)。
由3個(gè)平臺(tái)驅(qū)動(dòng)模塊4構(gòu)成的平臺(tái)驅(qū)動(dòng)層(Driver API層)是OGC規(guī)范中的最底層,該層由300多個(gè)函數(shù)組成。它抽象描述了GIS平臺(tái)的基本操作,如放大、縮小等;本層與GIS平臺(tái)息息相關(guān),對(duì)不同的GIS平臺(tái),需采用不同的開發(fā)方式來實(shí)現(xiàn)。如Smallworld驅(qū)動(dòng)則采用OLE Automation的方式來實(shí)現(xiàn)Driver API的函數(shù),而對(duì)Intergraph的Geomedia,則可以采用組件方式實(shí)現(xiàn)。
開放的GIS開發(fā)中間件架構(gòu)3,即OGC API層是實(shí)現(xiàn)GIS系統(tǒng)所需的功能操作,由500多個(gè)函數(shù)組成。它包括版本管理、窗口管理、對(duì)象類管理、對(duì)象管理、顯示管理、顯示工具管理、Plugin管理、坐標(biāo)管理、對(duì)象關(guān)系管理、輸入輸出管理、系統(tǒng)管理、消息管理、用戶管理等類別的函數(shù)。它除調(diào)用Driver API層函數(shù)來實(shí)現(xiàn)功能外,還內(nèi)建本機(jī)軟總線用于協(xié)調(diào)整個(gè)系統(tǒng)的運(yùn)行;本層建立在Driver API層的基礎(chǔ)上,已經(jīng)與具體的GIS平臺(tái)沒有關(guān)系。
由3個(gè)業(yè)務(wù)相關(guān)模塊(Plugin)2構(gòu)成了業(yè)務(wù)相關(guān)層,Plugin即可動(dòng)態(tài)裝載的功能模塊,它調(diào)用OGC API函數(shù)來實(shí)現(xiàn)電力業(yè)務(wù),并以一定的格式輸出自己和功能說明與接口給應(yīng)用程序使用。Plugin被裝載在本機(jī)軟總線,通過消息來協(xié)調(diào)功能。
Plugin實(shí)現(xiàn)為動(dòng)態(tài)庫,由PlgGetBaseinfo(返回基本信息),PlgGetMenuinfo(返回菜單項(xiàng)信息),PlgGetButtoninfo(返回按鈕信息),Plginit(初始化函數(shù),在裝載時(shí)被調(diào)用),PlgDestory(退出函數(shù),在卸載時(shí)被調(diào)用),PlgMsgproc(消息處理函數(shù),被軟總線調(diào)用),PlgGetMessageinfo(返回處理消息信息),PlgOutMsg(返回本Plugin定義的專用消息信息),PlgNewMsgParam(專用消息參數(shù)內(nèi)存釋放函數(shù))等10個(gè)輸出函數(shù)組成。
軟總線是系統(tǒng)中實(shí)現(xiàn)Plugin之間功能協(xié)調(diào)的重要機(jī)制,功能協(xié)調(diào)主要是通過消息機(jī)制來進(jìn)行的。OGC API層定義系統(tǒng)消息,Plugin也可以定義專用消息。當(dāng)系統(tǒng)運(yùn)行過程中,功能調(diào)用會(huì)產(chǎn)生各種消息并發(fā)送到軟總線上軟總線會(huì)分配消息給所有捕獲該消息的Plugin;當(dāng)Plugin接收到消息時(shí),根據(jù)需要會(huì)觸發(fā)相應(yīng)代碼實(shí)現(xiàn)相關(guān)功能,此時(shí)Plugin也可以生成并發(fā)送專用消息給軟總線。因此,OGC通過軟總線實(shí)現(xiàn)了Plugin之間的功能協(xié)調(diào)。
APP即應(yīng)用程序,它是個(gè)程序容器,主要實(shí)現(xiàn)了plugin的裝卸、卸載和調(diào)用等功能,而具體的業(yè)務(wù)則在Plugin中實(shí)現(xiàn)。當(dāng)APP啟動(dòng)時(shí),它裝載Plugin,并根據(jù)Plugin的輸出信息生成自己的菜單、工具按鈕等界面元素,供用戶操作使用。
權(quán)利要求
1.一種開放的GIS開發(fā)中間件系統(tǒng),其特征在于系統(tǒng)包括1)多個(gè)位于應(yīng)用程序(1)下一層的業(yè)務(wù)相關(guān)模塊(2),以及;2)多個(gè)位于各GIS平臺(tái)(5)上一層的平臺(tái)驅(qū)動(dòng)模塊(4),以及;3)在業(yè)務(wù)相關(guān)層與平臺(tái)驅(qū)動(dòng)層之間插入的使業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)分離的開放的GIS開發(fā)中間件架構(gòu)(OGC API)(3),以及;4)系統(tǒng)中實(shí)現(xiàn)業(yè)務(wù)相關(guān)模塊之間功能協(xié)調(diào)的軟總線(6)。
2.根據(jù)權(quán)利要求l所述的開放的GIS開發(fā)中間件系統(tǒng),其特征在于所述業(yè)務(wù)相關(guān)模塊(2)為可動(dòng)態(tài)裝載的功能模塊,它調(diào)用OGC API(3)函數(shù)來實(shí)現(xiàn)電力業(yè)務(wù),并以一定的格式輸出自己的功能說明與接口給應(yīng)用程序(1)使用,業(yè)務(wù)相關(guān)模塊(2)被裝載在軟總線(6)上。
3.根據(jù)權(quán)利要求1所述的開放的GIS開發(fā)中間件系統(tǒng),其特征在于所述平臺(tái)驅(qū)動(dòng)模塊(4)由300多個(gè)函數(shù)組成,該層與GIS平臺(tái)(5)直接相連。
4.根據(jù)權(quán)利要求1所述的開放的GIS開發(fā)中間件系統(tǒng),其特征在于所述開放的GIS開發(fā)中間件架構(gòu)(OGC API)(3)實(shí)現(xiàn)GIS系統(tǒng)所需的功能操作,構(gòu)架由500多個(gè)函數(shù)組成,它除調(diào)用平臺(tái)驅(qū)動(dòng)層(4)函數(shù)來實(shí)現(xiàn)功能外,還內(nèi)建本機(jī)軟總線用于協(xié)調(diào)整個(gè)系統(tǒng)的運(yùn)行,本層建立在平臺(tái)驅(qū)動(dòng)層(4)的基礎(chǔ)上,與具體的GIS平臺(tái)(5)沒有關(guān)系。
全文摘要
本發(fā)明涉及一種開放的GIS開發(fā)中間件系統(tǒng)。本發(fā)明所要解決的技術(shù)問題是提供一種開放的GIS開發(fā)中間件系統(tǒng),該中間件系統(tǒng)用于連接不同的GIS平臺(tái),可實(shí)現(xiàn)GIS平臺(tái)移植、擴(kuò)展,且業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)分離,從而達(dá)到促進(jìn)資源共享、提高開發(fā)效率的目的。解決該問題的技術(shù)方案是系統(tǒng)包括多個(gè)位于應(yīng)用程序下一層的業(yè)務(wù)相關(guān)模塊;以及多個(gè)位于各GIS平臺(tái)上一層的平臺(tái)驅(qū)動(dòng)模塊;以及在業(yè)務(wù)相關(guān)層與平臺(tái)驅(qū)動(dòng)層之間插入的使業(yè)務(wù)實(shí)現(xiàn)與GIS平臺(tái)分離的開放的GIS開發(fā)中間件架構(gòu)(OGC API);以及系統(tǒng)中實(shí)現(xiàn)業(yè)務(wù)相關(guān)模塊之間功能協(xié)調(diào)的軟總線。本發(fā)明不僅適用于配電GIS系統(tǒng)的開發(fā),而且還適用于其他GIS系統(tǒng)的開發(fā)。
文檔編號(hào)G06F17/00GK1489084SQ03150459
公開日2004年4月14日 申請(qǐng)日期2003年8月21日 優(yōu)先權(quán)日2003年8月21日
發(fā)明者楊國平, 倪立洲 申請(qǐng)人:杭州天麗科技有限公司