基於OSGi的統一通信平臺服務集成框架的製作方法
2023-12-11 19:51:57 3
專利名稱:基於OSGi的統一通信平臺服務集成框架的製作方法
技術領域:
本發明屬於通信技術領域,涉及一種基於OSGi的統一通信平臺服務集成框架。
背景技術:
統一通信以融合的IP(Internet Protocol,網絡互連協議)網絡為基礎,以創新的IP通信與應用為關聯機制,不僅將電話、傳真、即時通信、VoIP(Voice over InternetProtocol,網絡電話)等各種溝通方式進行融合,更重要的是提供一個桌面門戶和平臺,將其他企業應用有機集成到平臺中,實現企業信息的互通和共享,打破「信息孤島」,這是企業用戶的迫切需求。現有的集成方式中,通信平臺需要針對每一種外部應用,花費大量的精力進行私有協議的建立、定義消息格式和建立通信鏈路等開發,降低了集成效率。
發明內容
本發明的目的是提供一種基於OSGi (Open Service Gateway initiative)的統一通信平臺服務集成框架,解決了通信平臺與外部應用無法高效率的集成的問題,實現了平臺對第三方應用的動態集成與卸載。本發明的技術方案是基於OSGi的統一通信平臺服務集成框架,包括三個層面( I)客戶終端服務層,作為客戶終端的接入入口,並提供插件接口,用於實現客戶端與第三方集成業務在接入層的交互工作;(2)內部交互層,為客戶終端服務層和應用容器創建消息通道,用於簡化平臺的管理,均衡平臺的負載;(3)應用容器,對外為第三方集成服務提供統一的接口,對內管理消息的傳輸以及和第三方集成業務系統的交互。其中,客戶終端服務層提供的插件接口的實現過程為a.註冊第三方集成業務的命名空間;b.解析客戶終端發送到伺服器的請求並封裝;C.建立JMS (Java Message Service, Java消息服務)連接,建立消息隊列應用的連接;d.將封裝的報文消息傳遞給內部交互層。其中,內部交互層採用消息隊列集群技術,建立起客戶終端服務層與應用容器的連接,客戶終端服務層封裝的報文消息在此處加入到消息隊列中,應用容器從消息隊列中取出消息,達到通信的目的。其中,應用容器是基於OSGi服務的,包括JMS構件、接口服務構件、服務控制構件、線程池服務構件和第三方集成業務構件。其中,JMS構件用於應用容器中消息的接收和發送。其中,接口服務構件用於為應用容器內部構件及第三方業務系統提供接口服務,包括JMS消息傳輸服務、消息分發服務、業務的拉取/推送服務、線程池服務和第三方業務系統的統一接口服務。其中,服務控制構件主要用於插接時註冊服務、移除時刪除服務、根據註冊時的命名空間分發不同的業務以及對第三方業務統一接口的實現。其中,線程池服務構件用於為消息的路由提供線程池服務。其中,第三方集成業務構件用於處理應用容器和第三方集成業務系統的交互。本發明的有益效果是I.本發明通過統一通信平臺和應用集成分離以及採用消息隊列機制,降低了統一通信平臺因為和應用反覆交互導致的負載,並且在負載進一步增大時,可以通過分布式部署多個應用容器實現擴展。 2.本發明針對不同的應用系統集成,開發可以動態部署到集成框架的集成業務構件,並且集成業務構件只需要關心具體應用業務邏輯,通信、可靠性、線程池等都由集成框架提供,這節省了開發時間,減小了編碼工作量,降低了開發成本,此外集成業務構件可以動態安裝或者卸載,也可以多版本共用,實現了系統的動態性和靈活性。
圖I是本發明基於OSGi的統一通信平臺服務集成框架的結構示意圖;圖2是本發明中應用容器的構件關係圖;圖3是本發明中主動查詢流程圖;圖4是本發明中應用推送流程圖。
具體實施例方式下面結合附圖和具體實施方式
對本發明進行詳細說明。基於OSGi的統一通信平臺服務集成框架,參見附圖1,基於OSGi的統一通信平臺服務集成框架,包括三個層面( I)客戶終端服務層,作為客戶終端的接入入口,並提供插件接口,用於實現客戶端與第三方集成業務在接入層的交互工作;本發明米用的是開源的基於XMPP (extensible Messaging andPresenceProtocol,可擴展通訊和表示協議)協議的實時協作伺服器作為客戶終端服務層。以辦公自動化為例,伺服器插件實現集成辦公自動化業務的主要過程如下a.註冊辦公自動化業務的命名空間;b.與內部交互層建立JMS連接,建立與消息隊列應用的連接;c.對客戶終端的消息和內部交互層的JMS消息進行監聽,監聽到與本業務的命名空間相匹配的消息後,解析收到的消息後並封裝。將來自客戶終端的消息封裝成JMS消息格式,將來自內部交互層的消息封裝成平臺與客戶終端交互的XMPP通信格式;d.將來自消息隊列集群的消息發送給客戶終端,將來自客戶終端的消息發布給內部交互層。(2)內部交互層,為客戶終端層和應用同期創建消息通道,用於簡化平臺的管理,均衡平臺的負載;內部交互層採用消息隊列集群技術,建立起客戶終端服務層與對外接口層的連接,客戶終端服務層封裝的報文消息 在此處加入到消息隊列中,對外接口層從消息隊列中取出消息,達到通信的目的。本發明採用阿帕奇的開源項目Active MQ作為客戶終端服務層與應用容器之間消息傳輸的總線。(3)應用容器,對外為第三方業務系統提供統一的接口,對內管理消息的傳輸以及和第三方集成業務系統的交互。應用容器是基於OSGi服務的,包括JMS構件、接口服務構件、服務控制構件、線程池服務構件和第三方集成業務構件,如圖2所示。應用容器的所有服務接口都封裝在接口服務構件中,圖2中,①為JMS消息服務接口 定義了向內部交互層發布消息的方法,由JMS構件實現,服務控制構件調用;②為消息分發服務接口 定義了應用容器收到消息後進行分發處理的方法,由服務控制構件實現,JMS構件調用為業務的拉取/推送服務接口 定義了主動查詢、推送消息方法,由集成業務構件實現,服務控制構件調用;④為線程池服務接口 定義了線程池服務的所有方法,由線程池構件實現,服務控制構件調用為第三方業務統一服務接口 定義了第三方業務系統對平臺推送消息服務的方法,由服務控制構件實現,第三方業務系統調用。JMS構件用於應用容器中消息的接收和發送;所有註冊到應用容器中的集成業務構件消息的接收和發送都通過該構件來實現。JMS構件職能的具體說明如下a.與內部交互層建立JMS的連接、建立與消息隊列應用的連接,並對消息隊列應用的連接進行監聽,若斷線則立即重連;b.對JMS消息進行監聽,若接收到JMS消息,則調用消息分發服務接口 ;c.服務控制構件是對消息分發服務接口的實現,在服務控制構件中調用線程池服務接口,獲取一個線程,並在該線程中完成業務的分發,並調用業務的拉取/推送接口 ;d.第三方集成業務構件實現拉取/推送接口後,將處理結果返還給JMS構件,並由JMS構件將結果發布到內部交互層的消息隊列集群中,最後結束該線程。服務控制構件主要用於插接時註冊服務、移除時刪除服務、根據註冊時的命名空間分發不同的業務以及對第三方業務統一接口的實現。服務控制構件職能的具體說明如下a.綁定對外提供的統一接口的地址;b.若是主動查詢請求的消息,則先解析出消息中的命名空間,若註冊的服務中有匹配的命名空間,則根據命名空間將查詢請求消息分發至相應的集成業務構件去處理;c.若是推送服務請求,則在解析出命名空間並匹配成功後,從線程池中啟動一個線程,在該線程內,完成業務的分發、業務的處理以及向內部交互層發送相應的消息。線程池服務構件用於為消息的路由提供線程池服務,避免平臺資源的浪費,提高平臺系統的工作效率,利用線程池來控制線程的數量。第三方集成業務構件用於處理應用容器和第三方集成業務系統的交互。具體處理方式如下a.若是主動查詢請求消息,則將查詢請求進行解析,並通過解析結果和相應的第三方業務系統進行交互,在第三方業務系統中進行業務的查詢,並將查詢結果返回給JMS構件。b.若是推送請求消息,則將第三方業務系統中推送過來的消息封裝成平臺中報文消息的傳輸格式,然後將查詢結果返回給JMS構件。如圖3所示,主動查詢的流程如下①接入伺服器中的辦公自動化業務插件把查詢請求發布到消息隊列中後,應用容器中的JMS構件將監聽到該請求,並接收查詢請求;②JMS構件通過消息分發服務接口,將此查詢請求消息發送至服務控制構件中處理;③在服務控制構件中獲取一個線程,然後匹配辦公自動化業務的命名空間,若匹配成功,則分發到辦公自動化的業務構件中;
④辦公自動化業務構件向辦公自動化系統進行待辦項目或通知個數的查詢,並將查詢結果返還給JMS構件。該構件將查詢結果發布到消息隊列中,並結束該線程。最後由客戶終端服務層的插件從消息隊列中監聽並提取到該查詢結果,並將查詢結果返還給客戶終端。如圖4所示,應用推送的流程如下①推送時,辦公自動化業務系統調用應用容器的提供的第三方業務統一服務接口將待辦項或通知的個數消息發送到平臺的應用容器中;②服務控制構件獲取該消息並根據命名空間進行匹配,匹配成功後,啟動一個線程,在此線程內,將消息分發到辦公自動化業務構件中;③辦公自動化業務構件通過接口服務提供的JMS消息服務接口調用JMS構件中的發送JMS消息方法,將消息封裝成JMS消息,並將消息發布到消息隊列中,並結束該線程。最後客戶終端服務層的插件從消息隊列中監聽並獲取到消息後,將消息推送給客戶終端。本發明基於OSGi的統一通信服務平臺集成框架可以同時接收大量的客戶終端發出的查詢請求和第三方集成業務發出的業務提醒,並且進行同時處理,大大提高了集成效率,由於OSGi服務框架中同時接入了不同的集成業務構件,並且可任意擴展集成業務構件,因此降低了通信平臺的開發成本。內部交互層採用了消息隊列集群技術,防止信息堵塞的發生,在負載較大的情況下起到均衡負載,同時在集成的第三方應用較多時可以分布式的部署多個應用容器以起到均衡負載的效果。
權利要求
1.基於OSGi的統一通信平臺服務集成框架,其特徵在於,包括三個層面 (1)客戶終端服務層,作為客戶終端的接入入口,並提供插件接口,用於實現客戶端與第三方集成業務在接入層的交互工作; (2)內部交互層,為客戶終端服務層和應用容器創建消息通道,用於簡化平臺的管理,均衡平臺的負載; (3)應用容器,對外為第三方集成服務提供統一的接口,對內管理消息的傳輸以及和第三方集成業務系統的交互。
2.根據權利要求I所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述客戶終端服務層提供的插件接口的實現過程為 a.註冊第三方集成業務的命名空間; b.解析客戶終端發送到伺服器的請求並封裝; c.建立JMS(JavaMessage Service, Java消息服務)連接,建立消息隊列應用的連接; d.將封裝的報文消息傳遞給內部交互層。
3.根據權利要求I或2所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述內部交互層採用消息隊列集群技術,建立起客戶終端服務層與應用容器的連接,客戶終端服務層封裝的報文消息在此處加入到消息隊列中,應用容器從消息隊列中取出消息,達到通信的目的。
4.根據權利要求3所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述應用容器是基於OSGi服務的,包括JMS構件、接口服務構件、服務控制構件、線程池服務構件和第三方集成業務構件。
5.根據權利要求4所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述JMS構件用於應用容器中消息的接收和發送。
6.根據權利要求4所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述接口服務構件用於為應用容器內部構件及第三方業務系統提供接口服務,包括JMS消息傳輸服務、消息分發服務、業務的拉取/推送服務、線程池服務和第三方業務系統的統一接口服務。
7.根據權利要求4所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述服務控制構件主要用於插接時註冊服務、移除時刪除服務、根據註冊時的命名空間分發不同的業務以及對第三方業務統一接口的實現。
8.根據權利要求4所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述線程池服務構件用於為消息的路由提供線程池服務。
9.根據權利要求4所述的基於OSGi的統一通信平臺服務集成框架,其特徵在於,所述第三方集成業務構件用於處理應用容器和第三方集成業務系統的交互。
全文摘要
本發明公開了一種基於OSGi的統一通信平臺服務集成框架,包括三個層面客戶終端服務層,作為客戶終端的接入入口,並提供插件接口,用於實現客戶端與第三方集成業務在接入層的交互工作;內部交互層,為客戶終端層和應用容器創建消息通道,用於簡化平臺的管理,均衡平臺的負載;應用容器,對外為第三方集成服務提供統一的接口,對內管理消息的傳輸以及和第三方集成業務系統的交互。本發明基於OSGi的統一通信服務平臺集成框架可以同時接收大量的客戶終端發出的查詢請求和第三方集成業務發出的業務提醒,並且進行同時處理,大大提高了集成效率。
文檔編號H04L29/08GK102946425SQ20121043530
公開日2013年2月27日 申請日期2012年11月5日 優先權日2012年11月5日
發明者薛濤, 王鵬 申請人:西安工程大學