專利名稱:Gis服務聚合方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及地理信息系統(tǒng)數(shù)據(jù)處理領(lǐng)域,特別涉及一種客戶端的服 務聚合方法及裝置、 一種Web服務器的服務聚合方法及裝置、 一種GIS服 務器的服務聚合方法及裝置、 一種GIS服務聚合方法及一種GIS服務聚合 系統(tǒng)。
背景技術(shù):
地理信息系統(tǒng)(Geographic Information System, GIS )是用于采 集、存儲、管理、處理、檢索、分析和表達地理信息數(shù)據(jù)的計算機系 統(tǒng),是分析和處理海量地理數(shù)據(jù)的通用技術(shù)。
進入21世紀以來,GIS在各行各業(yè)的應用取得快速發(fā)展,GIS平臺軟 件已經(jīng)從一項專業(yè)的軟件技術(shù),發(fā)展成為IT領(lǐng)域十分重要的平臺類軟 件,在越來越多的領(lǐng)域發(fā)揮著重要作用。目前,GIS應用系統(tǒng)已廣泛應 用于為企業(yè)提供業(yè)務管理服務。
傳統(tǒng)的GIS服務方案為,將GIS與業(yè)務系統(tǒng)的集成,通過在GIS系統(tǒng) 中直接訪問業(yè)務數(shù)據(jù)庫的數(shù)據(jù),然后在本GIS系統(tǒng)中進行數(shù)據(jù)處理及分 析,并輸出和呈現(xiàn)結(jié)果。GIS系統(tǒng)與業(yè)務系統(tǒng)的耦合性強。以實現(xiàn)車輛 跟蹤的業(yè)務場景為例,采用傳統(tǒng)的GIS服務方案,首先會用GPS (Global Positioning System,全球定位系統(tǒng))采集并跟蹤每一個車輛的 信息,然后將這些數(shù)據(jù)信息存儲到業(yè)務數(shù)據(jù)庫中,最后GIS系統(tǒng)通過讀 取業(yè)務數(shù)據(jù)庫中的信息進行分析,并將結(jié)果展現(xiàn)到客戶端。
然而,這種傳統(tǒng)的GIS服務方案會帶來以下問題
1) GIS系統(tǒng)需要直接訪問業(yè)務數(shù)據(jù)庫,必須開放相應的數(shù)據(jù)庫權(quán) 限,這樣數(shù)據(jù)不能完全隔離,存在安全隱患;
2) GIS系統(tǒng)與業(yè)務系統(tǒng)的應用邏輯在同一個系統(tǒng)中整合實現(xiàn),當發(fā) 生改動時會相互牽連,不利于系統(tǒng)重用和功能擴展;
3) GIS系統(tǒng)的功能只是給當前業(yè)務系統(tǒng)使用,而不是作為獨立的服
務給不同的業(yè)務系統(tǒng)共同使用;
4) GIS系統(tǒng)的功能和服務不獨立,難以形成標準,業(yè)務邏輯通常需 要二次開發(fā)實現(xiàn),而不是標準化的、可配置的方式實現(xiàn),過程復雜。
基于上述問題,當前的GIS應用發(fā)展過程中面臨著一個困境,那就 是系統(tǒng)很難跟得上需求的快速變化。對系統(tǒng)維護工程師而言,系統(tǒng)開發(fā) 完成后, 一旦業(yè)務本身或業(yè)務流程發(fā)生了調(diào)整,系統(tǒng)要不斷修改維護, 工作量十分巨大。對于應用單位來講,若維護跟不上,投入大量人力、 物力和財力的系統(tǒng)剛剛建成,在需求面前很快變得落伍了。對開發(fā)商而 言,做完一個單位的系統(tǒng),若要推廣到同行業(yè)其他單位,會發(fā)現(xiàn)盡管業(yè) 務差別不大,但由于那些細小的需求差別,原來的系統(tǒng)很難直接推廣, 仍然需要對系統(tǒng)進行不少修改,工作量仍然較大。在GIS的應用領(lǐng)域 中,這些問題可以歸結(jié)為業(yè)務敏捷(Business Agility )問題。
所謂業(yè)務敏捷包含兩層含義第一,IT在業(yè)務提出變化之后一個恰 當?shù)臅r間段里響應這種變化;第二, IT所做出的變化能夠恰當?shù)胤从吵?業(yè)務的需求。
現(xiàn)有技術(shù)中,提出了依賴于SOA (Service Oriented Architecture,面 向服務的體系架構(gòu))實現(xiàn)業(yè)務敏捷的構(gòu)思,SOA不是一種具體的技術(shù), 而是一種架構(gòu)思想。SOA強調(diào)松耦合和粗密度,在SOA的應用程序中, 開發(fā)者只需要關(guān)注于業(yè)務邏輯的編寫,以及通過可交換的、可互操作的 服務終結(jié)點(Service Endpoint)暴露業(yè)務邏輯??蛻舳苏{(diào)用這些終結(jié) 點,而不是服務代碼或者它的實現(xiàn)包。因此SOA具有更高效率的代碼重 用機制,可以動態(tài)按需構(gòu)建應用系統(tǒng),更有助于實現(xiàn)業(yè)務敏捷。
然而,在現(xiàn)有的GIS領(lǐng)域中,SOA通常是使用WebService的方式,主 要面向接口調(diào)用,而在GIS領(lǐng)域里存在特定的服務規(guī)范,如OGC規(guī)范 等,服務不一定使用WebService的方式,并經(jīng)常需要有客戶端界面呈現(xiàn) 地再者,由于WebGIS平臺主要面向信息發(fā)布,GIS功能相對簡單,無 法代替組件式GIS實現(xiàn)應用系統(tǒng)的全部功能,以至于在實際應用中,不 得不混合使用多種類型的GIS軟件來開發(fā)應用系統(tǒng),如WebGIS和組件式 GIS等,應用系統(tǒng)的架構(gòu)也往往采用B/S和C/S混合的4莫式;
此外,由于WebGIS服務器端不具備服務聚合(Service Aggregation)能力,在WEB客戶端由二次開發(fā)者進行的簡單聚合,難以 滿足大型專業(yè)應用系統(tǒng)建設的全部需求,也難于實現(xiàn)聚合后的服務再次 以標準的方式發(fā)布以便被第三方聚合;
并且,客戶端GIS軟件(桌面GIS和組件式GIS)也缺乏完整的服務 聚合能力,即使偶有支持使用Web數(shù)據(jù)或Web服務,也往往存在不少限 制,外部服務被當作二等公民,無法很方便的使用,也不易與已有的概 念模型相匹配。以至于上述混用B/S和C/S結(jié)構(gòu)的模式難以通過服務整合 形成一體化的系統(tǒng)。
因而,現(xiàn)有技術(shù)這種支持SOA的WebGIS仍不能滿足業(yè)務敏捷的要求。
所以,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如 何能夠創(chuàng)新的提出 一種GIS服務聚合的機制,用以在GIS領(lǐng)域里將不同類 型、不同來源的服務通過標準化流程進行一體化整合,并通過統(tǒng)一的方 式發(fā)布給GIS客戶端,以更好地將SOA跟GIS結(jié)合在了一起,滿足GIS領(lǐng) 域?qū)I(yè)務敏捷的需求。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種GIS服務聚合實現(xiàn)的方法、 裝置及系統(tǒng),用以更好地將SOA跟GIS結(jié)合在一起,滿足GIS領(lǐng)域?qū)I(yè)務 敏捷的需求。
為解決上述技術(shù)問題,本發(fā)明實施例公開了 一種客戶端的服務聚合 方法,所述客戶端具有對應于第三方服務的類型設置的多個服務訪問組 件,所述的方法包括
客戶端接收服務聚合請求,所述請求中包含需要在客戶端聚合的第 三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和類 型信息;
依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組件,由所述 服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務; 提取所述第三方服務的數(shù)據(jù)信息在客戶端進行服務聚合處理,獲得
客戶端服務聚合結(jié)果。
優(yōu)選的,所述請求中還包括需要聚合的本地地圖數(shù)據(jù)信息,所述服
務聚合處理的步驟進一步包括
在所述地圖數(shù)據(jù)上疊加所述第三方服務的數(shù)據(jù)信息。
優(yōu)選的,所述的方法,還包括
在客戶端界面展示所述服務聚合處理結(jié)果。
優(yōu)選的,所述第三方服務信息通過連接Web服務器而獲得。
本發(fā)明實施例還公開了 一種Web服務器的服務聚合方法,所述Web
服務器與客戶端連接,具有對應于第三方服務的類型設置的多個服務訪
問組件,所述的方法包括
步驟S1、預置服務列表配置文件,所述服務列表配置文件用于記錄
第三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和
類型信息;
步驟S2、接收客戶端提交的服務聚合請求,判斷所述請求中是否包
含需要在Web服務器聚合的第三方服務的信息;若是,則跳轉(zhuǎn)步驟S4;
若否,則跳轉(zhuǎn)步驟S3;
步驟S3、從所述服務列表配置文件中讀取第三方服務的信息; 步驟S4、依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組
件,由當前服務訪問組件通過所述第三方服務的地址信息獲取相應的第
三方服務;
步驟S5、提取所述第三方服務的數(shù)據(jù)信息在Web服務器進行服務聚 合處理,獲得Web層服務聚合結(jié)果
步驟S6、將所述Web層服務聚合結(jié)果返回至客戶端。 優(yōu)選的,所述步驟S5進一步包括
提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)據(jù)信息轉(zhuǎn)換成統(tǒng)一類 型,獲得同 一類型的第三方服務數(shù)據(jù)信息為Web層服務聚合結(jié)果。 優(yōu)選的,所述步驟S5進一步包括
提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù)據(jù)信息進行分析和/或查 詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信息為Web層服務聚合結(jié) 果。
優(yōu)選的,所述的方法,還包括 客戶端直接展示所述Web層服務聚合結(jié)果; 或者,客戶端在本地地圖數(shù)據(jù)上疊加所述Web層服務聚合結(jié)果; 或者,客戶端在相應的客戶端服務聚合結(jié)果上疊加所述Web層服務 聚合結(jié)果。
本發(fā)明實施例還公開了 一種GIS服務器的服務聚合方法,所述GIS服 務器與Web服務器連接,具有對應于第三方服務的類型設置的多個服務 訪問組件,所述的方法包括
接收Web服務器提交的服務聚合請求,所述請求中包含需要在GIS服 務器聚合的第三方服務的信息,所述第三方服務信息包括第三方服務的 地址信息和類型信息;
依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組件,由當前 服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務;
提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲得GIS層服 務聚合結(jié)果;
向Web服務器返回所述GIS層服務聚合結(jié)果。
優(yōu)選的,通過以下步驟進行服務聚合處理
提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)據(jù)信息轉(zhuǎn)換成統(tǒng)一類 型,獲得同一類型的第三方服務數(shù)據(jù)信息為GIS層服務聚合結(jié)果。 GIS層服務聚合結(jié)果優(yōu)選的,通過以下步驟進行服務聚合處理 提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù)據(jù)信息進行分析和/或查 詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信息為GIS層服務聚合結(jié) 果。
優(yōu)選的,所述服務聚合處理步驟還包括
將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù)進行合并,將合并結(jié)果作為 GIS層服務聚合結(jié)果。
優(yōu)選的,所述Web服務器與客戶端連接,所述的方法還包括 所述Web服務器將所述GIS層服務聚合結(jié)果返回至客戶端。 優(yōu)選的,所述的方法,還包括 客戶端直接展示所述GIS層服務聚合結(jié)果;
或者,客戶端在本地地圖數(shù)據(jù)上疊加所述GIS層服務聚合結(jié)果; 或者,客戶端在相應的客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果。
本發(fā)明實施例還公開了 一種GIS服務聚合方法,所述服務聚合處理 涉及客戶端、Web服務器和GIS服務器,所述客戶端、Web服務器和GIS 服務器分別具有對應于第三方服務的類型設置的多個服務訪問組件,所 述方法包括
客戶端接收服務聚合請求,所述請求中包括需要在客戶端、Web 服務器和GIS服務器聚合的第三方服務的信息,所述第三方服務信息包 括第三方服務的地址信息和類型信息;
客戶端將所述需要在Web服務器聚合的第三方服務信息提交至Web 服務器;
所述Web服務器將所述需要在GIS服務器聚合的第三方服務信息提交 至GIS服務器;
所述GIS服務器依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務 訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相 應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處 理,獲得GIS層服務聚合結(jié)果并返回至Web服務器;
所述Web服務器依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務 訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相 應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處 理,獲得Web層服務聚合結(jié)果;
所述Web服務器將所述GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果返 回至客戶端;
所述客戶端依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務訪問 組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的 第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得客戶端服務聚合結(jié)果;
在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務聚合結(jié)果和Web層 服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
本發(fā)明實施例還公開了 一種GIS服務聚合方法,所述服務聚合處理 涉及客戶端、Web服務器和GIS服務器,所述客戶端、Web服務器和GIS 服務器分別具有對應于第三方服務的類型設置的多個服務訪問組件,所 述方法包括
客戶端接收服務聚合請求,所述請求中包括需要在客戶端和GIS 服務器聚合的第三方服務的信息,所述第三方服務信息包括第三方服務 的地址信息和類型信息;
客戶端向Web服務器提交所述服務聚合請求;
所述Web服務器將所述需要在GIS服務器聚合的第三方服務信息提交 至GIS服務器;
所述GIS服務器依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務 訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相 應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處 理,獲得GIS層服務聚合結(jié)果并返回至Web服務器;
所述Web服務器從預置的服務列表配置文件中讀取第三方服務的信 息,依據(jù)所述第三方服務的類型信息調(diào)用對應的服務訪問組件,由所述 服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務, 并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲得Web層服務 聚合結(jié)果;
所述Web服務器將所述GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果返 回至客戶端;
所述客戶端依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務訪問 組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的 第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得客戶端服務聚合結(jié)果;
在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務聚合結(jié)果和Web層 服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
本發(fā)明實施例還公開了 一種位于客戶端的服務聚合裝置,所述客戶 端具有對應于第三方服務的類型設置的多個服務訪問組件,所述裝置包 括 請求提交模塊,用于接收服務聚合請求,所述請求中包含需要的第 三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和類 型信息;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服
務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;
客戶端聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在客戶端進 行服務聚合處理,獲得客戶端服務聚合結(jié)果。
本發(fā)明實施例還公開了 一種位于Web服務器的服務聚合裝置,所述 Web服務器具有對應于第三方服務的類型設置的多個服務訪問組件,所 述的裝置包括
服務列表配置模塊,用于預置服務列表配置文件,所述服務列表配 置文件用于記錄第三方服務的信息,所述第三方服務信息包括第三方服 務的地址信息和類型信,i-;
客戶端接口模塊,用于接收客戶端發(fā)出的第三方服務聚合請求,以 及,向客戶端返回Web層服務聚合結(jié)果;
請求分析模塊,用于判斷所述請求中是否包含需要在Web服務器聚 合的第三方服務的信息;若是,則觸發(fā)組件調(diào)用模塊;若否,則觸發(fā)配 置文件讀取模塊;
配置文件讀取模塊,用于讀取所述服務列表配置文件,獲得第三方 服務的信息;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;
Web層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在Web 服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果。 優(yōu)選的,所述Web層服務聚合模塊進一步包括 類型轉(zhuǎn)換子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)
據(jù)信息轉(zhuǎn)換成統(tǒng)一類型,獲得同一類型的第三方服務數(shù)據(jù)信息為Web層
服務聚合結(jié)果。
優(yōu)選的,所述Web層服務聚合模塊進一步包括
二次處理子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù) 據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信 息為Web層服務聚合結(jié)果。
優(yōu)選的,所述Web服務器與GIS服務器連接,所述GIS服務器用于向 Web服務器返回GIS層服務聚合結(jié)果,所述Web層服務聚合模塊進一步包 括
Web層數(shù)據(jù)合并子模塊,用于Web層服務聚合結(jié)果與GIS數(shù)據(jù)和/或 所述GIS層服務聚合結(jié)果進行合并,將合并結(jié)果作為Web層服務聚合結(jié) 果。
本發(fā)明實施例還公開了一種位于GIS服務器的服務聚合裝置,所述 GIS服務器具有對應于第三方服務的類型設置的多個服務訪問組件,所 述的裝置包括
Web服務器接口模塊,用于接收Web服務器提交的服務聚合請求, 所述請求中包含需要在GIS服務器聚合的第三方服務的信息,所述第三 方服務信息包括第三方服務的地址信息和類型信息;以及,向所述Web 服務器返回所述GIS層服務聚合結(jié)果;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;
GIS層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得GIS層服務聚合結(jié)果。
優(yōu)選的,所述GIS層服務聚合模塊進一步包括
類型轉(zhuǎn)換子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù) 據(jù)信息轉(zhuǎn)換成統(tǒng)一類型,獲得同一類型的第三方服務數(shù)據(jù)信息為GIS層 服務聚合結(jié)果。
優(yōu)選的,所述GIS層服務聚合模塊進一步包括
二次處理子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù) 據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信 息為GIS層服務聚合結(jié)果。
優(yōu)選的,所述GIS層服務聚合模塊還包括
GIS層數(shù)據(jù)合并子模塊,用于將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù) 進行合并,將合并結(jié)果作為GIS層服務聚合結(jié)果。
本發(fā)明實施例還公開了一種GIS服務聚合系統(tǒng),包括客戶端、Web 服務器和GIS服務器,所述客戶端、Web服務器和GIS服務器分別具有對 應于第三方服務的類型設置的多個服務訪問組件,其中,所述客戶端包
括
請求提交模塊,用于接收服務聚合請求,所述請求中包括需要在 客戶端、Web服務器和GIS服務器聚合的第三方服務的信息,所述第三方 服務信息包括第三方服務的地址信息和類型信息;
Web接口模塊,用于將所述需要在Web服務器聚合的第三方服務信 息提交至Web服務器,以及,接收Web服務器返回的GIS層服務聚合結(jié)果 和Web層服務聚合結(jié)果;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;
客戶端服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得客戶端服務聚合結(jié)果;
疊加模塊,用于在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果;
所述Web服務器包括
客戶端接口模塊,用于接收客戶端提交的需要在Web服務器聚合的 第三方服務信息;以及,向客戶端返回GIS層服務聚合結(jié)果和Web層服務 聚合結(jié)果;
GIS接口模塊,用于將所述需要在GIS服務器聚合的第三方服務信息 提交至GIS服務器;以及,接收GIS服務器返回的GIS層服務聚合結(jié)果;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服
務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第
三方服務;
Web層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在Web 服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果; 所述GIS服務器包括
Web服務器接口模塊,用于接收Web服務器提交的需要在GIS服務器 聚合的第三方服務信息;以及,向所述Web服務器返回GIS層服務聚合結(jié)
果;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服
務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的 GIS服務;
服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服務聚合 處理,獲得GIS層服務聚合結(jié)果。
本發(fā)明實施例還公開了一種GIS服務聚合系統(tǒng),包括客戶端、Web 服務器和GIS服務器,所述客戶端、Web服務器和GIS服務器分別具有對 應于第三方服務的類型設置的多個服務訪問組件,其中,所述客戶端包 括
請求提交模塊,用于接收服務聚合請求,所述請求中包括需要在 客戶端和GIS服務器聚合的第三方服務的信息,所述第三方服務信息包 括第三方服務的地址信息和類型信息;
Web接口模塊,用于將所述服務聚合請求提交至Web服務器,以
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;
客戶端服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服
務聚合處理,獲得客戶端服務聚合結(jié)果;
疊加模塊,用于在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
所述Web服務器包括
客戶端接口模塊,用于接收客戶端提交的所述服務聚合請求;以
GIS接口模塊,用于將所述需要在GIS服務器聚合的第三方服務信息 提交至GIS服務器;以及,接收GIS服務器返回的GIS層服務聚合結(jié)果;
服務列表配置模塊,用于預置服務列表配置文件,所述服務列表配 置文件用于記錄第三方服務的信息;
配置文件讀取模塊,用于讀取所述服務列表配置文件,獲得第三方 服務的信息;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;
Web層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在Web 服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果; 所述GIS服務器包括
Web服務器接口模塊,用于接收Web服務器提交的需要在GIS服務器 聚合的第三方服務信息;以及,向所述Web服務器返回GIS層服務聚合結(jié)
果;
組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服
務訪問組件;
服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的 GIS服務;
服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服務聚合 處理,獲得GIS層服務聚合結(jié)果。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下優(yōu)點
本發(fā)明通過提出 一套服務聚合框架,能夠聚合包括WebService和非 WebService等不同來源的服務,通過對服務進行一體化整合并進行發(fā) 布,同時信息在統(tǒng)一的客戶端用標準的方式呈現(xiàn)。通過各類標準(如 WMS、 WFS、 KML、 GeoRSS、 WebService等)的服務作為接口,通過 服務訪問組件實現(xiàn)對各種來源的服務的聚合,對它們進行整合和統(tǒng)一管 理,以及,通過預先定義的接口進行服務的再發(fā)布,在客戶端由可定制 的模板實現(xiàn)信息的可視化呈現(xiàn),從而能更好地將SOA跟GIS結(jié)合在一 起,滿足GIS領(lǐng)域?qū)I(yè)務敏捷的需求。
圖l是本發(fā)明的一種客戶端的服務聚合方法實施例的流程圖; 圖2是本發(fā)明的 一種位于客戶端的服務聚合裝置實施例的結(jié)構(gòu)框
圖3是本發(fā)明的一種Web服務器的服務聚合方法實施例的流程圖; 圖4是本發(fā)明的一種位于Web服務器的服務聚合裝置實施例的結(jié)構(gòu)框
圖5是本發(fā)明的 一種GIS服務器的服務聚合方法實施例1的流程圖; 圖6是本發(fā)明的 一種GIS服務器的服務聚合方法實施例2的流程圖; 圖7是本發(fā)明的 一種GIS服務器的服務聚合方法實施例3的流程圖; 圖8是本發(fā)明的 一種GIS服務器的服務聚合方法實施例4的流程圖; 圖9是本發(fā)明的一種位于GIS服務器的服務聚合裝置實施例的結(jié)構(gòu)框
圖10是本發(fā)明的 一種GIS服務聚合方法實施例1的流程圖; 圖1 l是本發(fā)明的一種GIS服務聚合系統(tǒng)實施例1的結(jié)構(gòu)框圖; 圖12是本發(fā)明的 一種GIS服務聚合方法實施例2的流程圖; 圖13是本發(fā)明的一種GIS服務聚合系統(tǒng)實施例2的結(jié)構(gòu)框圖。
具體實施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合 附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。
本發(fā)明實施例的核心構(gòu)思之一在于,由于在GIS領(lǐng)域中,業(yè)務敏捷性
的需要與日倶增。 一方面是業(yè)務在這方面的要求越來越高;另一方面是今
天的IT很不靈活,很難適應業(yè)務快速變化的需求,不僅僅是因為IT架構(gòu) 不靈活,更重要的是業(yè)務模型中的元素和IT系統(tǒng)的元素之間存在很大的 差距。這種不對齊,導致業(yè)務人員和IT人員之間的溝通不夠有效,業(yè)務 的變化需要花費很大的代價傳遞到IT系統(tǒng)。所以需要引入SOA提升業(yè)務 敏捷,SOA能夠?qū)崿F(xiàn)IT與業(yè)務對齊,支持業(yè)務的快速變化,同時提升IT 架構(gòu)的靈活性和幫助IT資產(chǎn)的重用。然而,SOA通常是使用WebService 的方式,主要面向接口調(diào)用;而在GIS領(lǐng)域里存在特定的服務規(guī)范,如 OGC規(guī)范等,服務不一定使用WebService的方式。對此,本發(fā)明提供一 套服務聚合框架,用以聚合包括WebService和非WebService等不同來源 的服務,本發(fā)明通過對服務進行一體化整合并進行發(fā)布,同時信息在統(tǒng)一 的客戶端用標準的方式呈現(xiàn)。通過各類標準(如WMS、 WFS、 KML、 GeoRSS、 WebService等)的服務作為接口,通過服務訪問組件實現(xiàn)對各 種來源的服務的聚合,對它們進行整合和統(tǒng)一管理,以及,通過預先定義 的接口進行服務的再發(fā)布,在客戶端由可定制的模板實現(xiàn)信息的可視化呈 現(xiàn),從而能更好地將SOA跟GIS結(jié)合在一起,滿足GIS領(lǐng)域?qū)I(yè)務敏捷 的需求。
參考圖1,示出了本發(fā)明的一種客戶端的服務聚合方法實施例的流程 圖,其中,所述客戶端具有對應于第三方服務的類型設置的多個服務訪 問組件,所述方法實施例可以包括以下步驟
步驟IOI、客戶端接收服務聚合請求,所述請求中包含需要在客戶端 聚合的第三方服務的信息,所述第三方服務信息包括第三方服務的地址 信息和類型信息;
步驟102、依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組 件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的第 三方服務;
步驟103、提取所述第三方服務的數(shù)據(jù)信息在客戶端進行服務聚合處 理,獲得客戶端服務聚合結(jié)果。
在本發(fā)明實施例中,第三方服務是指滿足服務規(guī)范的服務,服務規(guī)
范可以是公認的標準服務,如WMS、 WCS、 WFS、 WPS、 GeoRSS、 KML等,也可以是GIS平臺軟件廠商自定義的服務規(guī)范。例如, SuperMap iServer可以發(fā)布WMS、 WFS、 GeoRSS、 KML服務等,同時也 可以發(fā)布SuperMap WebService服務。
需要說明的是,所述服務訪問組件對應于所述第三方服務的不同類 型而設置,用于通過標準服務接口獲取網(wǎng)絡數(shù)據(jù)服務。例如,對應 WebService服務設置WebService服務訪問組件,對應WMS服務設置WMS 服務訪問組件等。
優(yōu)選的,在本實施例中,所述客戶端可以調(diào)用Web月l務器獲取第三 方服務的信息,在這種情況下,所述步驟101可以包括以下子步驟
子步驟A1、客戶端連接Web服務器,從Web服務器的服務列表配置 文件中獲取第三方服務列表,所述Web服務器將所述第三方服務列表在 所述客戶端的界面上展示;
其中,所述第三方服務列表中記錄有第三方服務的地址信息和類型 信息。
子步驟A2、用戶在所述第三方服務列表界面上選擇所需聚合的第三 方服務,在客戶端提交所述第三方服務的服務聚合請求。
當然,采用現(xiàn)有技術(shù)中的任一種方法獲取第三方服務列表都是可行 的,本發(fā)明無需對此作出限定。
在實際中,所述客戶端接收的請求中,還可以包括需要聚合的本地 地圖數(shù)據(jù)的信息,在這種情況下,所述步驟103可以包括以下子步驟
子步驟B1、在所述地圖數(shù)據(jù)上疊加所述第三方服務的數(shù)據(jù)信息。
例如,用戶在客戶端打開地圖數(shù)據(jù)頁面,通過接口指定需要在客戶 端聚合的服務以提交服務聚合請求,客戶端依據(jù)該請求會根據(jù)當前服務 的類型調(diào)用相應的服務訪問組件,由所述服務訪問組件通過所述第三方 服務的地址信息獲取相應的第三方服務,再提取所述第三方服務的數(shù)據(jù) 信息在客戶端進行疊加處理。
優(yōu)選的,在本實施例中,還可以包括步驟
在客戶端的界面展示所述服務聚合處理結(jié)果。
例如,展示添加有天氣預報信息(第三方服務的數(shù)據(jù)信息)的地圖
數(shù)據(jù)等。本發(fā)明通過客戶端為用戶提供GIS地圖和功能界面的操作,可 以使用戶體驗更好。
參考圖2,示出了本發(fā)明的一種位于客戶端的服務聚合裝置實施例
的結(jié)構(gòu)框圖,所述客戶端具有對應于第三方服務的類型設置的多個服務
訪問組件,所述裝置實施例可以包括以下模塊
請求提交模塊201,用于接收服務聚合請求,所述請求中包含需要 的第三方服務的信息,所述第三方服務信息包括第三方服務的地址信息 和類型信息;
組件調(diào)用模塊202,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件203,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
客戶端聚合模塊204,用于提取所述第三方服務的數(shù)據(jù)信息在客戶 端進行服務聚合處理,獲得客戶端服務聚合結(jié)果。
優(yōu)選的,所述第三方服務信息可以通過連接Web服務器而獲得。
如果當前客戶端的請求中還包括需要聚合的本地地圖數(shù)據(jù)信息,那 么,所述客戶端聚合模塊可以進一步包括以下子模塊
疊加子模塊,用于在所述地圖數(shù)據(jù)上疊加所述第三方服務的數(shù)據(jù)信息。
優(yōu)選的,在本實施例中,所述客戶端還可以包括 展示模塊,用于在客戶端界面展示所述服務聚合處理結(jié)果。 應用圖2所示的優(yōu)選實施例在客戶端進行服務聚合的過程可以包括 以下步驟
步驟C1、請求提交模塊提交服務聚合請求,所述請求中包含需要在 客戶端聚合的第三方服務的信息,所述第三方服務信息包括第三方服務 的地址信息和類型信息;
步驟C2、組件調(diào)用模塊依據(jù)所述第三方服務的類型信息調(diào)用相應的 服務訪問組件;
步驟C3 、服務訪問組件通過所述第三方服務的地址信息獲取相應的
27
第三方服務;
步驟C4、客戶端聚合模塊提取所述第三方服務的數(shù)據(jù)信息在客戶端
進行服務聚合處理,獲得客戶端服務聚合結(jié)果;
步驟C5、展示模塊在客戶端界面展示所述服務聚合處理結(jié)果。 對于圖2所示的裝置實施例而言,由于其基本相應于圖l所示的方法
實施例,所以描述的比較簡單,相關(guān)之處參見所述方法實施例相關(guān)部分
的說明即可。
參考圖3,示出了本發(fā)明的一種Web服務器的服務聚合方法實施例的 流程圖,所述Web服務器與客戶端連接,具有對應于第三方服務的類型 設置的多個服務訪問組件,所述方法實施例可以包括以下步驟
步驟301、預置服務列表配置文件,所述服務列表配置文件用于記 錄第三方服務的信息,所述第三方服務信息包括第三方服務的地址信息 和類型信息;
步驟302、接收客戶端提交的服務聚合請求,判斷所述請求中是否
包含需要在Web服務器聚合的第三方服務的信息;若是,則跳轉(zhuǎn)步驟
304;若否,則跳轉(zhuǎn)步驟303;
步驟303、從所述服務列表配置文件中讀取第三方服務的信息; 步驟304、依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組
件,由當前服務訪問組件通過所述第三方服務的地址信息獲取相應的第
三方服務;
步驟305、提取所述第三方服務的數(shù)據(jù)信息在Web服務器進行服務聚 合處理,獲得Web層服務聚合結(jié)果;
步驟306、將所述Web層服務聚合結(jié)果返回至客戶端。 在本發(fā)明實施例中,所述服務列表配置文件可以為XML文件,記錄 了第三方服務的相關(guān)信息,包括地址信息和類型信息等;當Web服務器 所接收到的客戶端請求中包含需要在Web服務器聚合的第三方服務列表 時,則無需讀取該預置的服務列表配置文件,直接根據(jù)第三方服務的類 型調(diào)用相應的服務訪問組件;將該第三方服務的地址分配給當前服務訪 問組件,由服務訪問組件根據(jù)服務地址調(diào)用相應的第三方服務進行聚合
處理;當Web服務器所接收到的客戶端請求中沒有包含需要在Web服務 器聚合的第三方服務列表時,則需要讀取該預置的服務列表配置文件獲 得第三方服務列表的信息,然后再根據(jù)第三方服務的類型調(diào)用相應的服 務訪問組件;將該第三方服務的地址分配給當前服務訪問組件,由服務 訪問組件根據(jù)服務地址調(diào)用相應的第三方服務進行聚合處理。
在Web服務器通過配置或擴展開發(fā)的接口指定需要聚合的服務;在 客戶端打開地圖;客戶端向Web服務器發(fā)送服務聚合請求;Web服務器 調(diào)用并聚合指定的服務;Web服務器將聚合后的地圖和數(shù)據(jù)返回給客戶 端;客戶端呈現(xiàn)出聚合以后的地圖和數(shù)據(jù)信息。
第一種為,提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)據(jù)信息轉(zhuǎn)換 成統(tǒng)一類型,獲得同一類型的第三方服務數(shù)據(jù)信息為Web層服務聚合結(jié) 果。
這種方法主要用于將來自第三方服務的數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一標準類型, 如iServer定義的點線面等類型。
第二種為,提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù)據(jù)信息進行 分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信息為Web層 服務聚合結(jié)果。
這種方法可以讓用戶進行擴展開發(fā),可以截獲來自第三方服務的數(shù) 據(jù),并對它進行再處理,如進行再次分析/查詢等操作,獲得操作結(jié)果。 對于以上Web層服務聚合結(jié)果,可以通過HTTP協(xié)議返回給客戶端。 作為 一種實施例,如果當前客戶端沒有打開的本地地圖數(shù)據(jù)或者沒 有已經(jīng)獲得的客戶端服務聚合結(jié)果,則在本實施例中,還可以包括以下 步驟
客戶端直接展示所述Web層服務聚合結(jié)果;
作為另一實施例,如果當前客戶端存在打開的本地地圖數(shù)據(jù),則在 本實施例中,還可以包括以下步驟
客戶端在本地地圖數(shù)據(jù)上疊加所述Web層服務聚合結(jié)果;
作為另一實施例,如果當前客戶端存在客戶端服務聚合結(jié)果,則在 本實施例中,還可以包括以下步驟
客戶端在相應的客戶端服務聚合結(jié)果上疊加所述Web層服務聚合結(jié)果。
參考圖4,示出了本發(fā)明的一種位于Web服務器的服務聚合裝置實施 例的結(jié)構(gòu)框圖,所述Web服務器具有對應于第三方服務的類型設置的多 個服務訪問組件,所述的裝置包括
服務列表配置模塊401,用于預置服務列表配置文件,所述服務列 表配置文件用于記錄第三方服務的信息,所述第三方服務信息包括第三 方服務的地址信息和類型信息;
客戶端接口模塊402,用于接收客戶端發(fā)出的第三方服務聚合請 求,以及,向客戶端返回Web層服務聚合結(jié)果;
請求分析模塊403,用于判斷所述請求中是否包含需要在Web服務器 的第三方服務的信息;若是,則觸發(fā)組件調(diào)用模塊405;若否,則觸發(fā) 配置文件讀取模塊404;
配置文件讀取模塊404,用于讀取所述服務列表配置文件,獲得第 三方服務的信息;
組件調(diào)用模塊405,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件406,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
Web層服務聚合模塊407,用于提取所述第三方服務的數(shù)據(jù)信息在 Web服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果。
優(yōu)選的,在本實施例中,所述Web層服務聚合模塊可以包括以下子 模塊
類型轉(zhuǎn)換子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù) 據(jù)信息轉(zhuǎn)換成統(tǒng) 一 類型,獲得所述同 一 類型的Web服務數(shù)據(jù)信息為Web 層服務聚合結(jié)果。
或者,
二次處理子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù) 據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信
息為Web層服務聚合結(jié)果。
優(yōu)選的,在本實施例中,所述Web服務器與GIS服務器連接,所述 GIS服務器用于向Web服務器返回GIS層服務聚合結(jié)果,在這種情況下, 所述Web層服務聚合模塊還可以包括以下子模塊
Web層數(shù)據(jù)合并子模塊,用于Web層服務聚合結(jié)果與GIS數(shù)據(jù)和/或 所述GIS層服務聚合結(jié)果進行合并,將合并結(jié)果作為Web層服務聚合結(jié) 果。
步驟D1、服務列表配置模塊預置服務列表配置文件,所述服務列表 配置文件用于記錄第三方服務的信息,所述第三方服務信息包括第三方 服務的地址信息和類型信息;
步驟D2、客戶端接口模塊接收客戶端發(fā)出的第三方服務聚合請求, 請求分析模塊,用于判斷所述請求中是否包含需要在Web服務器的第三 方服務的信息;若是,則觸發(fā)組件調(diào)用模塊跳轉(zhuǎn)步驟D4;若否,則觸發(fā) 配置文件讀取^^莫塊跳轉(zhuǎn)步驟D3;
步驟D3、配置文件讀取模塊讀取所述服務列表配置文件,獲得第三 方服務的信息;
步驟D4、組件調(diào)用模塊依據(jù)所述第三方服務的類型信息調(diào)用相應的 服務訪問組件;
步驟D5 、服務訪問組件通過所述第三方服務的地址信息獲取相應的 第三方服務;
步驟D6、 Web層服務聚合模塊提取所述第三方服務的數(shù)據(jù)信息在 Web服務器進行服務聚合處理,荻得Web層服務聚合結(jié)果;
步驟D7、客戶端接口模塊向客戶端返回所述Web層服務聚合結(jié)果。 對于圖4所示的裝置實施例而言,由于其基本相應于圖3所示的方法 實施例,所以描述的比較簡單,相關(guān)之處參見所述方法實施例相關(guān)部分 的說明即可。
參考圖5,示出了本發(fā)明的一種GIS服務器的服務聚合方法實施例1 的流程圖,所述GIS服務器與Web服務器連接,具有對應于第三方服務的 類型設置的多個服務訪問組件,所述方法實施例可以包括以下步驟
步驟501、接收Web服務器提交的服務聚合請求,所述請求中包含需 要在GIS服務器聚合的第三方服務的信息,所述第三方服務信息包括第 三方服務的地址信息和類型信息;
步驟502、依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組 件,由當前服務訪問組件通過所述第三方服務的地址信息獲取相應的第 三方服務;
步驟503、提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得GIS層服務聚合結(jié)果;
步驟504、向Web服務器返回所述GIS層服務聚合結(jié)果。
在本發(fā)明實施例中,如果當前服務聚合請求中還包括需要在GIS服 務器聚合的第三方服務的信息,則需要進一步連接GIS服務器完成相應 的第三方服務的聚合,并將聚合之后的服務進行統(tǒng)一發(fā)布。
例如, 一種在實際中采用本發(fā)明的GIS服務器進行服務聚合的過程
為
在GIS服務器通過配置或擴展開發(fā)的接口指定需要聚合的服務;在 客戶端打開地圖頁面;客戶端向Web服務器發(fā)送指定服務的聚合請求; Web服務器將該請求發(fā)送至GIS服務器;GIS服務器調(diào)用并聚合指定的服 務;GIS服務器將聚合后的地圖和數(shù)據(jù)返回給Web服務器;Web服務器將 聚合后的地圖和數(shù)據(jù)返回給客戶端;在客戶端展示聚合以后的地圖和數(shù) 據(jù)信息。
優(yōu)選的,在本實施例中,所述步驟503可以包括以下子步驟 子步驟E1、提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)據(jù)信息轉(zhuǎn)換 成統(tǒng)一類型,獲得同一類型的第三方服務數(shù)據(jù)信息; 和/或,
子步驟E2、將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù)進行合并,將合 并結(jié)果作為GIS層服務聚合結(jié)果。其中,所述GIS數(shù)據(jù)可以為iServer服務
組件提供的自身服務的數(shù)據(jù),在實際中,iServer服務組件可以用于從數(shù)
據(jù)庫、文件等數(shù)據(jù)源獲取數(shù)據(jù)。
作為另一實施例中,所述步驟503也可以包括以下子步驟 子步驟E3、提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù)據(jù)信息進行
分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信息; 和/或,
子步驟E4、將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù)進行合并,將合 并結(jié)果作為GIS層服務聚合結(jié)果。。
在本發(fā)明實施例中,優(yōu)選的是,可以通過序列化處理在客戶端、 Web服務器和GIS服務器之間進行數(shù)據(jù)傳輸。所謂序列化,即指將數(shù)據(jù)對 象轉(zhuǎn)換成可傳輸?shù)淖址?;當目標對象得到字符流后,可以對字符流進 行反序列化,還原出數(shù)據(jù)對象。
在實際中,可以通過RMI協(xié)議(進程間遠程調(diào)用的協(xié)議)將所述 GIS層服務聚合結(jié)果返回給Web服務器。
當然,上述GIS服務聚合處理的方法僅僅用作示例,本領(lǐng)域技術(shù)人 員采用任一種GIS服務聚合處理方法都是可行的,本發(fā)明對此無需作出 限定。例如,在桌面工具(Deskpro)中配置(第三方服務的)網(wǎng)絡數(shù)據(jù) 源到地圖(數(shù)據(jù)源是地圖數(shù)據(jù)來源的統(tǒng)稱,它有很多種,比如數(shù)據(jù)庫數(shù) 據(jù)源、網(wǎng)絡數(shù)據(jù)源、文件數(shù)據(jù)源等。網(wǎng)絡數(shù)據(jù)源是將第三方服務作為數(shù) 據(jù)來源的數(shù)據(jù)源);然后將該網(wǎng)絡數(shù)據(jù)源跟其他類型的數(shù)據(jù)源進行序列 化并發(fā)布至Web服務器。
參考圖6,示出了本發(fā)明的一種GIS服務器的服務聚合方法實施例2 的流程圖,所述GIS服務器與Web服務器連接,所述Web服務器具有Web 層服務聚合結(jié)果,所述GIS服務器具有對應于第三方服務的類型設置的 多個服務訪問組件,所述方法實施例可以包括以下步驟
步驟601、接收Web服務器提交的服務聚合請求,所述請求中包含需 要在GIS服務器聚合的第三方服務的信息,所述第三方服務信息包括第 三方服務的地址信息和類型信息;
步驟602、依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組
件,由當前服務訪問組件通過所述第三方服務的地址信息獲取相應的第
三方服務;
步驟603、提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲
得GIS層服務聚合結(jié)果;
步驟604、向Web服務器返回所述GIS層服務聚合結(jié)果;
步驟605、 Web服務器將所述Web層服務聚合結(jié)果與GIS層服務聚合
結(jié)果和/或GIS數(shù)據(jù)進行合并處理,將合并結(jié)果作為向客戶端返回的服務
聚合結(jié)果。
參考圖7,示出了本發(fā)明的一種GIS服務器的服務聚合方法實施例3 的流程圖,所述GIS服務器與Web服務器連接,所述Web服務器與客戶端 連接,所述GIS服務器具有對應于第三方服務的類型設置的多個服務訪 問組件,所述方法實施例可以包括以下步驟
步驟701、客戶端向Web服務器提交服務聚合請求,所述請求中包含 需要在GIS服務器聚合的第三方服務的信息,所述第三方服務信息包括 第三方服務的地址信息和類型信息;
步驟702、 Web服務器將所述需要在GIS服務器聚合的第三方服務的 信息提交至GIS服務器;
步驟703、 GIS服務器依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件,由當前服務訪問組件通過所述第三方服務的地址信息獲取 相應的第三方服務;
步驟704、提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得GIS層服務聚合結(jié)果;
步驟705、向Web服務器返回所述GIS層服務聚合結(jié)果;
步驟706、 Web服務器將所述GIS層服務聚合結(jié)果返回至客戶端。
在實際中,如果客戶端存在本地地圖數(shù)據(jù),則會在所述地圖數(shù)據(jù)上 疊加所述GIS層服務聚合結(jié)果,以獲得最終的服務聚合結(jié)果;如果客戶 端存在客戶端服務聚合結(jié)果,則會在所述客戶端服務聚合結(jié)果上疊加所 述GIS層服務聚合結(jié)果。
參考圖8,示出了本發(fā)明的一種GIS服務器的服務聚合方法實施例4 的流程圖,所述GIS服務器與Web服務器連接,所述Web服務器與客戶端 連接,所述GIS服務器具有對應于第三方服務的類型設置的多個服務訪 問組件,所述Web服務器具有Web層服務聚合結(jié)果,所述客戶端具有結(jié) 果客戶端服務聚合結(jié)果,所述方法實施例可以包括以下步驟
步驟801、客戶端向Web服務器提交服務聚合請求,所述請求中包含 需要在GIS服務器聚合的第三方服務的信息,所述第三方服務信息包括 第三方服務的地址信息和類型信息;
步驟802、 Web服務器將所述需要在GIS服務器聚合的第三方服務的 信息提交至GIS服務器;
步驟803、 GIS服務器依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件,由當前服務訪問組件通過所述第三方服務的地址信息獲取 相應的第三方力良務;
步驟804、提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得GIS層服務聚合結(jié)果;
步驟805、向Web服務器返回所述GIS層服務聚合結(jié)果;
步驟806、 Web服務器將所述GIS層服務聚合結(jié)果和Web層服務聚合 結(jié)果返回至客戶端;
步驟807、客戶端在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果;
步驟808、客戶端展示所述最終服務聚合結(jié)果。
參考圖9,示出了本發(fā)明的一種位于GIS服務器的服務聚合裝置實施 例的結(jié)構(gòu)框圖,所述GIS服務器具有對應于第三方服務的類型設置的多 個服務訪問組件,所述裝置實施例可以包括以下模塊
Web服務器接口模塊901,用于接收Web服務器提交的服務聚合請 求,所述請求中包含需要在GIS服務器聚合的第三方服務的信息,所述 第三方服務信息包括第三方服務的地址信息和類型信息;以及,向所述 Web服務器返回所述GIS層服務聚合結(jié)果;
組件調(diào)用模塊902,用于依據(jù)所述第三方服務的類型信息調(diào)用相應
的服務訪問組件;
服務訪問組件903,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
GIS層服務聚合模塊904,用于提取所述第三方服務的數(shù)據(jù)信息進行 服務聚合處理,獲得GIS層服務聚合結(jié)果。
優(yōu)選的,在本實施例中,所述GIS層服務聚合模塊可以包括以下子 模塊
類型轉(zhuǎn)換子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù) 據(jù)信息轉(zhuǎn)換成統(tǒng)一類型,獲得同 一 類型的第三方服務數(shù)據(jù)信息; 和/或,
GIS層數(shù)據(jù)合并子模塊,用于將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù) 進行合并,將合并結(jié)果作為GIS層服務聚合結(jié)果。
作為另 一實施例,所述GIS層服務聚合模塊也可以包括以下子模
塊
二次處理子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù) 據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果數(shù)據(jù); 和/或,
GIS層數(shù)據(jù)合并子模塊,用于將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù) 進行合并,將合并結(jié)果作為GIS層服務聚合結(jié)果。
應用圖9所示的優(yōu)選實施例在GIS服務器進行服務聚合的過程可以包
括
步驟F1、 Web服務器接口模塊接收Web服務器提交的服務聚合請 求,所述請求中包含需要在GIS服務器的第三方服務的信息,所述第三 方服務信息包括第三方服務的地址信息和類型信息;
步驟F2、組件調(diào)用模塊依據(jù)所述第三方服務的類型信息調(diào)用相應的 服務訪問組件;
步驟F3、服務訪問組件通過所述第三方服務的地址信息獲取相應的 第三方服務;
步驟F4、 GIS層服務聚合模塊提取所述第三方服務的數(shù)據(jù)信息進行 服務聚合處理,獲得GIS層服務聚合結(jié)果;
步驟F5、通過所述Web服務器接口模塊向所述Web服務器返回所述 GIS層服務聚合結(jié)果;
對于圖9所示的裝置實施例而言,由于可以相應于圖5、圖6、圖7和 圖8所示的方法實施例,所以描述的比較簡單,相關(guān)之處參見所述方法 實施例相關(guān)部分的說明即可。
參考圖IO,示出了本發(fā)明的一種GIS服務聚合方法實施例1的流程 圖,所述服務聚合處理涉及客戶端、Web服務器和GIS服務器,所述客戶 端、Web服務器和GIS服務器分別具有對應于第三方服務的類型設置的多 個服務訪問組件,所述的方法實施例可以包括以下步驟
步驟IOOI、客戶端接收服務聚合請求,所述請求中包括需要在客 戶端、Web服務器和GIS服務器聚合的第三方服務的信息,所述第三方服 務信息包括第三方服務的地址信息和類型信息;
步驟1002、客戶端將所述需要在Web服務器聚合的第三方服務信息 提交至Web服務器;
步驟1003、所述Web服務器將所述需要在GIS服務器聚合的第三方服 務信息提交至GIS服務器;
步驟1004、所述GIS服務器依據(jù)相應的第三方服務的類型信息調(diào)用 對應的服務訪問組件,由所述服務訪問組件通過所述第三方服務的地址 信息獲取相應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得GIS層服務聚合結(jié)果并返回至Web服務器;
步驟1005、所述Web服務器依據(jù)相應的第三方服務的類型信息調(diào)用 對應的服務訪問組件,由所述服務訪問組件通過所述第三方服務的地址 信息獲取相應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得Web層服務聚合結(jié)果;
步驟1006、所述Web服務器將所述GIS層服務聚合結(jié)果和Web層服務 聚合結(jié)果返回至客戶端;
步驟1007、所述客戶端依據(jù)相應的第三方服務的類型信息調(diào)用對應 的服務訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息 獲取相應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲得客戶端服務聚合結(jié)果;
步驟1008、在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務聚合 結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
優(yōu)選的,所述步驟1006可以為,將所述GIS層服務聚合結(jié)果和Web層 服務聚合結(jié)果進行合并處理后再返回至客戶端。
優(yōu)選的,在本實施例中,還可以包括步驟
在客戶端展示所述最終的服務聚合結(jié)果。
參考圖ll,示出了本發(fā)明的一種GIS服務聚合系統(tǒng)實施例1的結(jié)構(gòu)框 圖,可以包括客戶端1101、 Web服務器1102和GIS服務器1103,所述客 戶端、Web服務器和GIS服務器分別具有對應于第三方服務的類型設置的 多個服務訪問組件,其中,所述客戶端可以包括以下模塊
請求提交模塊lll,用于接收服務聚合請求,所述請求中包括需要 在客戶端、Web服務器和GIS服務器聚合的第三方服務的信息,所述第三 方服務信息包括第三方服務的地址信息和類型信息;
Web接口模塊112,用于將所述需要在Web服務器聚合的第三方服務 信息提交至Web服務器,以及,接收Web服務器返回的GIS層服務聚合結(jié) 果和Web層服務聚合結(jié)果;
組件調(diào)用模塊113,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件114,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
客戶端服務聚合模塊115,用于提取所述第三方服務的數(shù)據(jù)信息進 行服務聚合處理,獲得客戶端服務聚合結(jié)果;
疊加模塊116,用于在所述客戶端服務聚合結(jié)果上疊加所述GIS層服 務聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果;
所述Web服務器可以包括以下模塊
客戶端接口模塊121,用于接收客戶端提交的需要在Web服務器聚合 的第三方服務信息;以及,向客戶端返回GIS層服務聚合結(jié)果和Web層服 務聚合結(jié)果;
GIS接口模塊122,用于將所述需要在GIS服務器聚合的第三方服務 信息提交至GIS服務器;以及,接收GIS服務器返回的GIS層服務聚合結(jié)果;
組件調(diào)用模塊123,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件124,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
Web層服務聚合模塊125,用于提取所述第三方服務的數(shù)據(jù)信息在 Web服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果; 所述GIS服務器可以包括以下模塊
Web服務器接口模塊131,用于接收Web服務器提交的需要在GIS服 務器聚合的第三方服務信息;以及,向所述Web服務器返回GIS層服務聚 合結(jié)果;
組件調(diào)用模塊132,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件133,用于通過所述第三方服務的地址信息獲取相應 的GIS服務;
服務聚合模塊134,用于提取所述第三方服務的數(shù)據(jù)信息進行服務 聚合處理,獲得GIS層服務聚合結(jié)果。
對于圖ll所示的裝置實施例而言,由于其基本相應于圖10所示的方 法實施例,所以描述的比較簡單,相關(guān)之處參見所述方法實施例相關(guān)部 分的說明即可。
參考圖12,示出了本發(fā)明的一種GIS服務聚合方法實施例2的流程 圖,所述服務聚合處理涉及客戶端、Web服務器和GIS服務器,所述客戶 端、Web服務器和GIS服務器分別具有對應于第三方服務的類型設置的多 個服務訪問組件,所述的方法實施例可以包括以下步驟
步驟1201、客戶端接收服務聚合請求,所述請求中包括需要在客 戶端和GIS服務器聚合的第三方服務的信息,所述第三方服務信息包括 第三方服務的地址信息和類型信息;
步驟1202、客戶端向Web服務器提交所述服務聚合請求;
步驟1203、所述Web服務器將所述需要在GIS服務器聚合的第三方服 務信息提交至GIS服務器;
步驟1204、所述GIS服務器依據(jù)相應的第三方服務的類型信息調(diào)用 對應的服務訪問組件,由所述服務訪問組件通過所述第三方服務的地址 信息獲取相應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得GIS層服務聚合結(jié)果并返回至Web服務器;
步驟1205、所述Web服務器從預置的服務列表配置文件中讀取第三 方服務的信息,依據(jù)所述第三方服務的類型信息調(diào)用對應的服務訪問組 件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的第 三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲得 Web層服務聚合結(jié)果;
步驟1206、所述Web服務器將所述GIS層服務聚合結(jié)果和Web層服務 聚合結(jié)果返回至客戶端;
步驟1207、所述客戶端依據(jù)相應的第三方服務的類型信息調(diào)用對應 的服務訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息 獲取相應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚 合處理,獲得客戶端服務聚合結(jié)果;
步驟1208、在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務聚合 結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
優(yōu)選的,所述步驟1206可以為,將所述GIS層服務聚合結(jié)果和Web層 服務聚合結(jié)果進行合并處理后再返回至客戶端。
優(yōu)選的,在本實施例中,還可以包括步驟
在客戶端展示所述最終的服務聚合結(jié)果。
參考圖13,示出了本發(fā)明的一種GIS服務聚合系統(tǒng)實施例2的結(jié)構(gòu)框 圖,可以包括客戶端1301、 Web服務器1302和GIS服務器1303,所述客 戶端、Web服務器和GIS服務器分別具有對應于第三方服務的類型設置的 多個服務訪問組件,其中,所述客戶端可以包括以下模塊
請求提交模塊211,用于接收服務聚合請求,所述請求中包括需
要在客戶端和GIS服務器聚合的第三方服務的信息,所述第三方服務信
息包括第三方服務的地址信息和類型信息;
Web接口模塊212,用于將所述服務聚合請求提交至Web服務器,以 及,接收Web服務器返回的GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果;
組件調(diào)用模塊213,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件214,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
客戶端服務聚合模塊215,用于提取所述第三方服務的數(shù)據(jù)信息進 行服務聚合處理,獲得客戶端服務聚合結(jié)果;
疊加模塊216,用于在所述客戶端服務聚合結(jié)果上疊加所述GIS層服 務聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
所述Web服務器可以包括以下模塊
客戶端接口模塊221,用于接收客戶端提交的所述服務聚合請求;
GIS接口模塊222,用于將所述需要在GIS服務器聚合的第三方服務 信息提交至GIS服務器;以及,接收GIS服務器返回的GIS層服務聚合結(jié) 果;
服務列表配置模塊223,用于預置服務列表配置文件,所述服務列 表配置文件用于記錄第三方服務的信息;
配置文件讀取模塊224,用于讀取所述服務列表配置文件,獲得第 三方服務的信息;
組件調(diào)用模塊225,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件226,用于通過所述第三方服務的地址信息獲取相應 的第三方服務;
Web層服務聚合模塊227,用于提取所述第三方服務的數(shù)據(jù)信息在 Web服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果; 所述GIS服務器可以包括以下模塊
Web服務器接口模塊231 ,用于接收Web服務器提交的需要在GIS服
務器聚合的第三方服務信息;以及,向所述Web服務器返回GIS層服務聚 合結(jié)果;
組件調(diào)用模塊232,用于依據(jù)所述第三方服務的類型信息調(diào)用相應 的服務訪問組件;
服務訪問組件233,用于通過所述第三方服務的地址信息獲取相應 的GIS服務;
服務聚合模塊234,用于提取所述第三方服務的數(shù)據(jù)信息進行服務 聚合處理,獲得GIS層服務聚合結(jié)果。
對于圖13所示的裝置實施例而言,由于其基本相應于圖12所示的方 法實施例,所以描述的比較簡單,相關(guān)之處參見所述方法實施例相關(guān)部 分的說明即可。
以下通過 一 個具體的例子來進 一 步說明本發(fā)明實施例。 以開發(fā)中國天氣預報地圖網(wǎng)站為例,假設要求
1) 系統(tǒng)本身有一個中國地圖作為底圖,該地圖由GIS服務器作為自 身服務發(fā)布;
2) 在所述中國地圖上能夠顯示出各城市的天氣預報信息;
3) 天氣預報的信息采用服務聚合的方式實現(xiàn)。天氣預報信息由第 三方服務提供。
4) 天氣預報信息服務可以是以WFS、 KML、 GeoRSS等網(wǎng)絡標準服 務方式發(fā)布。在本例中WFS為例進行說明。
應用本發(fā)明實施例,在客戶端進行服務聚合的過程為 al、客戶端從Web服務器獲取第三方服務列表,并呈現(xiàn)到客戶端界 面上,該列表中包含中國天氣預報服務的選項;
a2、用戶在客戶端界面上從服務列表里選擇添加中國天氣預報服
務;
a3、服務聚合器讀取服務列表中的中國天氣預報的WFS服務地址, 并將該服務地址分配給WFS服務訪問組件;
a4、 WFS服務訪問組件才艮據(jù)服務地址調(diào)用相應的第三方WFS服務, 并取得天氣預報信息;
a5、客戶端將天氣信息以圖片和文字的方式,在原有中國地圖上標 注出來。
在Web服務器端進行服務聚合的過程為
bl、 Web服務器接收到客戶端發(fā)送的查看中國天氣預報的請求,請 求里沒有指定服務列表;
b2、讀取Web層服務列表配置文件中的中國天氣預報服務的地址, 并將該服務地址分配給WFS服務訪問組件;
b3 、 WFS服務訪問組件根據(jù)服務地址調(diào)用相應的第三方WFS服務, 并取得天氣預報信息;
b4、 Web服務器將中國地圖與天氣預報信息聚合之后的服務進行統(tǒng) 一發(fā)布;
b5、客戶端得到Web服務器聚合發(fā)布之后的服務,并進行展現(xiàn),在 中國地圖上有相應的天氣預報的信息。
在GIS服務器端進行服務聚合的過程為
cl、 GIS服務器接收到Web服務器發(fā)出的聚合中國天氣預報服務的請 求,請求里包含該服務的信息;
c2、 GIS服務器將該服務信息中的WFS服務地址分配給WFS服務訪 問組件;
c3、 WFS服務訪問組件根據(jù)服務地址調(diào)用相應的第三方WFS服務, 并取得天氣預報信息;
c4、 GIS服務器將中國地圖與天氣預報信息聚合之后的服務進行統(tǒng) 一發(fā)布,并返回給Web服務器。
在實際中,還可以采用以下在GIS服務器端進行服務聚合的方式
dl、在系統(tǒng)的桌面工具(Deskpro)中配置天氣預報的WFS網(wǎng)絡數(shù)據(jù) 源到中國地d2、 GIS服務器將新的中國地圖進行發(fā)布;
d3、 Web服務器獲取到GIS服務器端聚合發(fā)布之后的服務,并返回給 客戶端;
d4、客戶端將服務結(jié)果信息呈現(xiàn),在中國地圖上有相應的天氣預報 的信息。
與傳統(tǒng)WebGIS不同的是,本發(fā)明提供了 一種GIS全功能的服務器, 而不僅僅局限于信息發(fā)布和基本的交互功能,同時在服務端提供了靈活 的服務聚合功能。通過本發(fā)明的服務聚合處理,可以把第三方服務聚合 在服務端再發(fā)布出去。再者,本發(fā)明支持發(fā)布服務的規(guī)范,包括 SuperMap自定義的服務規(guī)范,公認標準的服務規(guī)范,如WMS、 WCS、 WFS、 WPS,以及其他廠商的服務^見范,如Google的KML。這種ll務聚 合帶給應用開發(fā)商和應用單位的價值包括第一,降低系統(tǒng)中的數(shù)據(jù)成 本,可以直接調(diào)用相關(guān)部門,或者公眾電子地圖網(wǎng)站的地圖作為底圖; 第二,簡易,通過增強配置能力,減少二次開發(fā);第三,集成異地部署 的數(shù)據(jù)和功能;第四,高效重用,重組已有服務,快速滿足需求變化。
需要說明的是,對于本發(fā)明的方法實施例,為了簡單描述,故將其 都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應該知悉,本發(fā)明并 不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其 他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應該知悉,說明書中所 描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā) 明所必須的。
本說明書中的各個實施例之間相同相似的部分互相參見即可,每個 實施例重點說明的都是與其它實施例的不同之處。并且,本領(lǐng)域技術(shù)人 員根據(jù)實際需求任意組合應用本發(fā)明實施例都是可行的,但是由于篇幅 限制,本說明書在此就不——詳述了。
本發(fā)明可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如個 人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處 理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設備、網(wǎng) 絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計 算環(huán)境等等。
本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的 一般上下文中描 述,例如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽 象數(shù)據(jù)類型的例程、程序、對象、模塊、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布 式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡 而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊
可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
在本發(fā)明中,"模塊"、"裝置"、"系統(tǒng)"等等指應用于計算機的相關(guān) 實體,如硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件等。詳細地 說,例如,模塊可以、但不限于是運行于處理器的過程、處理器、對 象、可執(zhí)行模塊、執(zhí)行線程、程序和/或計算機。還有,運行于服務器上 的應用程序或腳本程序、服務器都可以是模塊。 一個或多個模塊可在執(zhí) 行的過程和/或線程中,并且模塊可以在一臺計算機上本地化和/或分布 在兩臺或多臺計算機之間,并可以由各種計算機可讀介質(zhì)運行。模塊還 可以根據(jù)具有一個或多個數(shù)據(jù)包的信號,例如,來自一個與本地系統(tǒng)、 分布式系統(tǒng)中另 一模塊交互的,和/或在因特網(wǎng)的網(wǎng)絡通過信號與其它系 統(tǒng)交互的數(shù)據(jù)的信號通過本地和/或遠程過程來進行通信。
以上對本發(fā)明所提供的 一種客戶端的服務聚合方法及裝置、 一種
Web服務器的服務聚合方法及裝置、 一種GIS服務器的服務聚合方法及裝 置、 一種GIS服務聚合方法及一種GIS服務聚合系統(tǒng)進行了詳細介紹,本
例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本 領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍 上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限 制。
權(quán)利要求
1、一種客戶端的服務聚合方法,其特征在于,所述客戶端具有對應于第三方服務的類型設置的多個服務訪問組件,所述的方法包括客戶端接收服務聚合請求,所述請求中包含需要在客戶端聚合的第三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和類型信息;依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務;提取所述第三方服務的數(shù)據(jù)信息在客戶端進行服務聚合處理,獲得客戶端服務聚合結(jié)果。
2、 如權(quán)利要求l所述的方法,其特征在于,所述請求中還包括需要 聚合的本地地圖數(shù)據(jù)信息,所述服務聚合處理的步驟進一步包括在所述地圖數(shù)據(jù)上疊加所述第三方服務的數(shù)據(jù)信息。
3、 如權(quán)利要求1或2所述的方法,其特征在于,還包括 在客戶端界面展示所述服務聚合處理結(jié)果。
4、 如權(quán)利要求1或2所述的方法,其特征在于,所述第三方服務信 息通過連接Web服務器而獲得。
5、 一種Web服務器的服務聚合方法,其特征在于,所述Web服務器 與客戶端連接,具有對應于第三方服務的類型設置的多個服務訪問組 件,所述的方法包括步驟S1、預置服務列表配置文件,所述服務列表配置文件用于記錄 第三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和 類型信息;步驟S2、接收客戶端提交的服務聚合請求,判斷所述請求中是否包 含需要在Web服務器聚合的第三方服務的信息;若是,則跳轉(zhuǎn)步驟S4; 若否,則跳轉(zhuǎn)步驟S3;步驟S3、從所述服務列表配置文件中讀取第三方服務的信息; 步驟S4、依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組 件,由當前服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務;步驟S5、提取所述第三方服務的數(shù)據(jù)信息在Web服務器進行服務聚 合處理,獲得Web層服務聚合結(jié)果步驟S6、將所述Web層服務聚合結(jié)果返回至客戶端。
6、 如權(quán)利要求5所述的方法,其特征在于,所述步驟S5進一步包括提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)據(jù)信息轉(zhuǎn)換成統(tǒng)一類 型,獲得同 一類型的第三方服務數(shù)據(jù)信息為Web層服務聚合結(jié)果。
7、 如權(quán)利要求5所述的方法,其特征在于,所述步驟S5進一步包括提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù)據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信息為Web層服務聚合結(jié)果。
8、 如權(quán)利要求5 6或7所述的方法,其特征在于,還包括 客戶端直接展示所述Web層服務聚合結(jié)果;或者,客戶端在本地地圖數(shù)據(jù)上疊加所述Web層服務聚合結(jié)果; 或者,客戶端在相應的客戶端服務聚合結(jié)果上疊加所述Web層服務聚合結(jié)果。
9、 一種GIS服務器的服務聚合方法,其特征在于,所述GIS服務器與Web服務器連接,具有對應于第三方服務的類型設置的多個服務訪問 組件,所述的方法包括接收Web服務器提交的服務聚合請求,所述請求中包含需要在GIS服務器聚合的第三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和類型信息;依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組件,由當前 服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務;提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲得GIS層服務聚合結(jié)果;向Web服務器返回所述GIS層服務聚合結(jié)果。
10、 如權(quán)利要求9所述的方法,其特征在于,通過以下步驟進行服 務聚合處理提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù)據(jù)信息轉(zhuǎn)換成統(tǒng)一類 型,獲得同 一類型的第三方服務數(shù)據(jù)信息為GIS層服務聚合結(jié)果。
11、 如權(quán)利要求9所述的方法,其特征在于,通過以下步驟進行服 務聚合處理提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù)據(jù)信息進行分析和/或查 詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信息為GIS層服務聚合結(jié) 果。
12、 如權(quán)利要求10或11所述的方法,其特征在于,所述服務聚合處 理步驟還包括將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù)進行合并,將合并結(jié)果作為 GIS層服務聚合結(jié)果。
13、 如權(quán)利要求9、 10或11所述的方法,其特征在于,所述Web服務 器與客戶端連接,所述的方法還包括所述Web服務器將所述GIS層服務聚合結(jié)果返回至客戶端。
14、 如權(quán)利要求14所述的方法,其特征在于,還包括 客戶端直接展示所述GIS層服務聚合結(jié)果;或者,客戶端在本地地圖數(shù)據(jù)上疊加所述GIS層服務聚合結(jié)果; 或者,客戶端在相應的客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果。
15、 一種GIS服務聚合方法,其特征在于,所述服務聚合處理涉及 客戶端、Web服務器和GIS服務器,所述客戶端、Web服務器和GIS服務 器分別具有對應于第三方服務的類型設置的多個服務訪問組件,所述方 法包括客戶端接收服務聚合請求,所述請求中包括需要在客戶端、Web 服務器和GIS服務器聚合的第三方服務的信息,所述第三方服務信息包 括第三方服務的地址信息和類型信息;客戶端將所述需要在Web服務器聚合的第三方服務信息提交至Web 服務器;所述Web服務器將所述需要在GIS服務器聚合的第三方服務信息提交 至GIS服務器;所述GIS服務器依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務 訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相 應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處 理,獲得GIS層服務聚合結(jié)果并返回至Web服務器;所述Web服務器依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務 訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相 應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處 理,獲得Web層服務聚合結(jié)果;所述Web服務器將所述GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果返 回至客戶端;所述客戶端依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務訪問 組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的 第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得客戶端服務聚合結(jié)果;在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務聚合結(jié)果和Web層 服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
16、 一種GIS服務聚合方法,其特征在于,所述服務聚合處理涉及 客戶端、Web服務器和GIS服務器,所述客戶端、Web服務器和GIS服務 器分別具有對應于第三方服務的類型設置的多個服務訪問組件,所述方 法包括客戶端接收服務聚合請求,所述請求中包括需要在客戶端和GIS 服務器聚合的第三方服務的信息,所述第三方服務信息包括第三方服務 的地址信息和類型信息;客戶端向Web服務器提交所述服務聚合請求;所述Web服務器將所述需要在GIS服務器聚合的第三方服務信息提交 至GIS服務器;所述GIS服務器依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務 訪問組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相 應的第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處 理,獲得GIS層服務聚合結(jié)果并返回至Web服務器;所述Web服務器從預置的服務列表配置文件中讀取第三方服務的信 息,依據(jù)所述第三方服務的類型信息調(diào)用對應的服務訪問組件,由所述 服務訪問組件通過所述第三方服務的地址信息獲取相應的第三方服務, 并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲得Web層服務 聚合結(jié)果;所述Web服務器將所述GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果返 回至客戶端;所述客戶端依據(jù)相應的第三方服務的類型信息調(diào)用對應的服務訪問 組件,由所述服務訪問組件通過所述第三方服務的地址信息獲取相應的 第三方服務,并提取所述第三方服務的數(shù)據(jù)信息進行服務聚合處理,獲 得客戶端服務聚合結(jié)果;在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務聚合結(jié)果和Web層 服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。
17、 一種位于客戶端的服務聚合裝置,其特征在于,所述客戶端具 有對應于第三方服務的類型設置的多個服務訪問組件,所述裝置包括請求提交模塊,用于接收服務聚合請求,所述請求中包含需要的第 三方服務的信息,所述第三方服務信息包括第三方服務的地址信息和類 型信息;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;客戶端聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在客戶端進 行服務聚合處理,獲得客戶端服務聚合結(jié)果。
18、 一種位于Web服務器的服務聚合裝置,其特征在于,所述Web 服務器具有對應于第三方服務的類型設置的多個服務訪問組件,所述的 裝置包括服務列表配置模塊,用于預置服務列表配置文件,所述服務列表配 置文件用于記錄第三方服務的信息,所述第三方服務信息包括第三方服 務的地址信息和類型信息;客戶端接口模塊,用于接收客戶端發(fā)出的第三方服務聚合請求,以 及,向客戶端返回Web層服務聚合結(jié)果;請求分析模塊,用于判斷所述請求中是否包含需要在Web服務器聚 合的第三方服務的信息;若是,則觸發(fā)組件調(diào)用模塊;若否,則觸發(fā)配 置文件讀取模塊;配置文件讀取模塊,用于讀取所述服務列表配置文件,獲得第三方 服務的信息;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;Web層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在Web 服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果。
19、 如權(quán)利要求18所述的裝置,其特征在于,所述Web層服務聚合 模塊進一步包括類型轉(zhuǎn)換子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù) 據(jù)信息轉(zhuǎn)換成統(tǒng)一類型,獲得同 一類型的第三方服務數(shù)據(jù)信息為Web層 服務聚合結(jié)果。
20、 如權(quán)利要求18所述的裝置,其特征在于,所述Web層服務聚合 模塊進一步包括二次處理子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù) 據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信 息為Web層服務聚合結(jié)果。
21、 如權(quán)利要求18或19所述的裝置,其特征在于,所述Web服務器 與GIS服務器連接,所述GIS服務器用于向Web服務器返回GIS層服務聚 合結(jié)果,所述Web層服務聚合模塊進一步包括Web層數(shù)據(jù)合并子模塊,用于Web層服務聚合結(jié)果與GIS數(shù)據(jù)和/或 所述GIS層服務聚合結(jié)果進行合并,將合并結(jié)果作為Web層服務聚合結(jié) 果。
22、 一種位于GIS服務器的服務聚合裝置,其特征在于,所述GIS服 務器具有對應于第三方服務的類型設置的多個服務訪問組件,所述的裝 置包括Web服務器接口模塊,用于接收Web服務器提交的服務聚合請求, 所述請求中包含需要在GIS服務器聚合的第三方服務的信息,所述第三 方服務信息包括第三方服務的地址信息和類型信息;以及,向所述Web 服務器返回所述GIS層服務聚合結(jié)果;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;GIS層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得GIS層服務聚合結(jié)果。
23、 如權(quán)利要求22所述的裝置,其特征在于,所述GIS層服務聚合 模塊進一步包括類型轉(zhuǎn)換子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,將所述數(shù) 據(jù)信息轉(zhuǎn)換成統(tǒng)一類型,獲得同一類型的第三方服務數(shù)據(jù)信息為GIS層 服務聚合結(jié)果。
24、 如權(quán)利要求22所述的裝置,其特征在于,所述GIS層服務聚合 模塊進一步包括二次處理子模塊,用于提取所述第三方服務的數(shù)據(jù)信息,對所述數(shù) 據(jù)信息進行分析和/或查詢操作,獲得操作結(jié)果對應的第三方服務數(shù)據(jù)信 息為GIS層服務聚合結(jié)果。
25、 如權(quán)利要求23或24所述的裝置,其特征在于,所述GIS層服務 聚合模塊還包括:GIS層數(shù)據(jù)合并子模塊,用于將所述第三方服務數(shù)據(jù)信息與GIS數(shù)據(jù) 進行合并,將合并結(jié)果作為GIS層服務聚合結(jié)果。
26、 一種GIS服務聚合系統(tǒng),其特征在于,包括客戶端、Web服務 器和GIS服務器,所述客戶端、Web服務器和GIS服務器分別具有對應于 第三方服務的類型設置的多個服務訪問組件,其中,所述客戶端包括請求提交模塊,用于接收服務聚合請求,所述請求中包括需要在 客戶端、Web服務器和GIS服務器聚合的第三方服務的信息,所述第三方 服務信息包括第三方服務的地址信息和類型信息;Web接口模塊,用于將所述需要在Web服務器聚合的第三方服務信 息提交至Web服務器,以及,接收Web服務器返回的GIS層服務聚合結(jié)果 和Web層服務聚合結(jié)果;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;客戶端服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得客戶端服務聚合結(jié)果;疊加模塊,用于在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果;所述Web服務器包括客戶端接口模塊,用于接收客戶端提交的需要在Web服務器聚合的 第三方服務信息;以及,向客戶端返回GIS層服務聚合結(jié)果和Web層服務 聚合結(jié)果;GIS接口模塊,用于將所述需要在GIS服務器聚合的第三方服務信息 提交至GIS服務器;以及,接收GIS服務器返回的GIS層服務聚合結(jié)果;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件; 服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第三方服務;Web層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在Web 服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果; 所述GIS服務器包括Web服務器接口模塊,用于接收Web服務器提交的需要在GIS服務器 聚合的第三方服務信息;以及,向所述Web服務器返回GIS層服務聚合結(jié) 果;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的 GIS服務;服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服務聚合 處理,獲得GIS層服務聚合結(jié)果。
27、 一種GIS服務聚合系統(tǒng),其特征在于,包括客戶端、Web服務 器和GIS服務器,所述客戶端、Web服務器和GIS服務器分別具有對應于 第三方服務的類型設置的多個服務訪問組件,其中,所述客戶端包括請求提交模塊,用于接收服務聚合請求,所述請求中包括需要在 客戶端和GIS服務器聚合的第三方服務的信息,所述第三方服務信息包 括第三方服務的地址信息和類型信息;Web接口模塊,用于將所述服務聚合請求提交至Web服務器,以 及,接收Web服務器返回的GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;客戶端服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服 務聚合處理,獲得客戶端服務聚合結(jié)果;疊加模塊,用于在所述客戶端服務聚合結(jié)果上疊加所述GIS層服務 聚合結(jié)果和Web層服務聚合結(jié)果,獲得最終的服務聚合結(jié)果。 所述Web服務器包括客戶端接口模塊,用于接收客戶端提交的所述服務聚合請求;以 及,向客戶端返回GIS層服務聚合結(jié)果和Web層服務聚合結(jié)果;GIS接口模塊,用于將所述需要在GIS服務器聚合的第三方服務信息 提交至GIS服務器;以及,接收GIS服務器返回的GIS層服務聚合結(jié)果;服務列表配置模塊,用于預置服務列表配置文件,所述服務列表配 置文件用于記錄第三方服務的信息;配置文件讀取模塊,用于讀取所述服務列表配置文件,獲得第三方 服務的信息;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服 務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的第 三方服務;Web層服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息在Web 服務器進行服務聚合處理,獲得Web層服務聚合結(jié)果; 所述GIS服務器包括Web服務器接口模塊,用于接收Web服務器提交的需要在GIS服務器 聚合的第三方服務信息;以及,向所述Web服務器返回GIS層服務聚合結(jié)果;組件調(diào)用模塊,用于依據(jù)所述第三方服務的類型信息調(diào)用相應的服務訪問組件;服務訪問組件,用于通過所述第三方服務的地址信息獲取相應的 GIS服務;服務聚合模塊,用于提取所述第三方服務的數(shù)據(jù)信息進行服務聚合 處理,獲得GIS層服務聚合結(jié)果。
全文摘要
本發(fā)明公開了一種GIS服務聚合系統(tǒng),包括客戶端、Web服務器和GIS服務器,所述客戶端、Web服務器和GIS服務器分別具有對應于第三方服務的類型設置的多個服務訪問組件,其中,所述客戶端包括請求提交模塊、Web接口模塊、組件調(diào)用模塊、服務訪問組件、客戶端服務聚合模塊和疊加模塊;所述Web服務器包括客戶端接口模塊、GIS接口模塊、組件調(diào)用模塊、服務訪問組件和Web層服務聚合模塊;所述GIS服務器包括Web服務器接口模塊、組件調(diào)用模塊、服務訪問組件和GIS層服務聚合模塊;本發(fā)明應用于GIS領(lǐng)域中,通過將不同類型、不同來源的服務通過標準化流程進行一體化整合,并通過統(tǒng)一的方式發(fā)布給GIS客戶端,更好地將SOA跟GIS結(jié)合,滿足GIS領(lǐng)域?qū)I(yè)務敏捷的需求。
文檔編號H04L29/08GK101388904SQ20081011733
公開日2009年3月18日 申請日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者宋志峰, 張偉力, 李云錦, 李瑋顧, 麗 焦, 王爾琪, 胡中南, 博 蘇, 賈柳靜, 陳洪波 申請人:北京超圖軟件股份有限公司