[發明專利]一種基于Hessian服務的OSGi分布式部署方法在審
| 申請號: | 201410682767.7 | 申請日: | 2015-08-04 |
| 公開(公告)號: | CN104506341A | 公開(公告)日: | 2015-07-29 |
| 發明(設計)人: | 張宏偉 | 申請(專利權)人: | 北京銳安科技有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L29/08 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 余功勛 |
| 地址: | 100044 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 hessian 服務 osgi 分布式 部署 方法 | ||
技術領域
本發明涉及計算機軟件開發與部署領域,具體地說,本發明公開了一種要求在分布式環境中部署符合OSGi規范的插件應用的方法。
技術背景
OSGi是業界知名的Java模塊化規范,得到了主流的應用服務器提供商如Oracle、IBM、SUN等的支持,已經成為事實上的Java模塊化標準。
OSGi的模塊化規范中除硬件和操作系統外,明確了執行環境層、模塊層、生命周期層、服務層和安全層。其中服務層提供了對于組件所發布服務的管理功能,包括服務的注冊、搜索、和注銷等的管理,組件之間通過組件對外發布的服務進行通訊。OSGi在進行服務注冊時,需要將服務接口信息保存在一個共享的服務注冊表對象中。
在單機環境中,需要引用服務的組件只需要使用服務層的接口即可從服務注冊表中查找到所需服務的實現。在分布式部署中,由于每臺機器上的服務注冊表都無法對其他機器共享,所以就存在OSGi服務無法跨機器訪問的問題。針對該問題,有重量級的解決方法,如使用Eclipse的ECF分布式支持,或者使用Apache的CXF分布式支持。雖然這兩種方案均能解決本文所提出的問題,但都過于龐大,且使用復雜。另外一點就是和本文所描述的問題也不盡相同。只要能實現OSGi的分布式部署,就可以解決跨機器訪問OSGi服務的目的,不需要分布式的其他特性支持。
發明內容
針對現有技術中存在的技術問題,本發明的目的是提供一種基于輕量級服務的OSGi分布式部署方法。本發明是一種在分布式環境中部署OSGi服務的輕量級解決方法,不需要真正的分布式支持即可實現OSGi服務的導出與導入,實現部署OSGi服務機器之間的通訊。
為實現上述目的,本發明的解決方案是:
一種基于輕量級Hessian服務的OSGi分布式部署方法,其步驟為:
1)將服務器A中需要部署到其他服務器上的每一服務對象在服務器A上注冊成一Hessian服務并發布;其中,服務器A為具有OSGi服務的服務器;
2)服務器B查找服務器A上發布的OSGi服務,服務器B使用Hessian導入接口,將選取的Hessian服務導入服務器B并在服務器B上為所選該Hessian服務生成一個Spring?Bean,然后將生成的Spring?Bean注入到所需的調用者里。
進一步的,所述服務器A首先根據需要導出的服務接口在OSGi系統中查找到實現該服務的對象,然后將該對象注冊為Hessian服務。
進一步的,所述服務器B采用Spring的IOC機制,將所選取的Hessian服務導入服務器B,然后將生成的Spring?Bean注入到所需的調用者里。
進一步的,所述Hessian導入接口為Spring集成的Hessian導入接口。
本發明提供了一種將在單機發布的OSGi服務部署在分布式環境中的方法,它包括:
a.OSGi服務的導出:將需要部署到服務器B上的服務在服務器A上注冊成Hessian?Servlet。其中,服務器A為具有OSGi服務的服務器。
b.OSGi服務的導入:服務器B查找服務器A上發布的Hessian?Servlet,服務器B使用Spring集成的Hessian導入接口,將服務器A生成的Hessian?Servlet導入服務器B并在服務器B上生成一個Spring?Bean;在使用該服務的位置進行Spring?bean的注入。
與現有技術相比,本發明的優點和積極效果為:
由于本發明中,采用了輕量級的Hessian服務導入導出功能,即能實現了OSGi服務的導出與導入功能,解決了多臺OSGi服務器之間服務調用的問題,因而部署起來非常簡單且易于理解。另外,因為沒有引入分布式框架,所以也能有效降低系統部署的復雜度和成本,提高在分布式部署環境中解決問題的效率。
附圖說明
圖1是本發明的部署方法流程圖;
圖2是OSGi服務導出部署示意圖;
圖3是OSGi服務導入部署示意圖。
具體實施方式
本發明分為兩個部分,分別是OSGi的服務導出和OSGi的服務導入。
本發明的部署方法流程如圖1所示,其步驟為:
首先,將服務器A中需要部署到其他服務器上的每一服務在服務器A上注冊成一Hessian?Servlet并發布;其中,服務器A為具有OSGi服務的服務器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京銳安科技有限公司,未經北京銳安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410682767.7/2.html,轉載請聲明來源鉆瓜專利網。





