OSGi 分布式通訊組件 R-OSGi
R-OSGi 是一套適用于任意滿足 OSGi 架構的分布式通訊組件。它以 jar 的形式發布,部署容易,使用也較為便捷。
概括下用戶只需要完成如下幾步。
在 Server 端:
- OSGi 容器內啟動 R-OSGi 的 Bundle
- Service 的 Bundle 里 MENIFEST 文件中 import 對 R-OSGi 的引用
- 將需要被 Client 調用的接口暴露給 R-OSGi 模塊即可。
在 Client 端:
- OSGi 容器內啟動 R-OSGi 的 Bundle
- Client 的 Bundle 里 MENIFEST 文件中 import 對 R-OSGi 的引用
- 取得 R-OSGi 暴露的 Service 調用接口即可
R-OSGi 運行流程
下圖簡要說明了 R-OSGi 實現的流程及原理:
圖 2. R-OSGi 實現流程
- 遠程 Service 通過 R-OSGi 框架注冊到 OGSi 容器。
- R-OSGi 在 OS 上打開一個端口(默認 9278)來創建 Socket 監聽器。
- Client 端 Bundle 啟動時調用指定 Server 的默認端口,請求 Socket 通信。
- 在本 OSGi 容器內生成一個代理 Bundle,用于本地 Client 調用。
- 在 Client 端注冊簽名一樣的 Service。
- 客戶端調用 Service,實際上調用的是通過代理 Bundle 調用遠程的 Service,等待通訊返回。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!