返回

軟體架構 OSGi 介紹

軟體架構 OSGi 介紹

OSGi(Open Services Gateway initiative)規範定義出 Java 動態化模組的標準,已符合大型分散式系統與嵌入式系統使用, 有效的減少了系統的複雜度。

軟體架構OSGi介紹

OSGi 框架中的概念分為幾個結構

  • Application / Bundles : 一般Jar檔
  • Services : 透過 Java Interfaces (POJIs  ) 或 Java Objects(POJOs  ).兩種介面來整合各模組
  • Service Registry : 管理個服務介面
  • Lifecycle : 管理 bundle 的生命週期
  • Modules : 定義模組的依賴性
  • Sercurity : 定義個模組預設的安全性

OSGi 優點

OSGi 框架中每一個應用程式都是支援熱部屬方式,因此對單一應用程式修改時並不會影響到伺服器上的其他應用程式,部署時也不需要重啟伺服器,可減少部署應用程式所花費的整體時間。由於 OGSi 核心由數個jar組成,且因系統本身可分可合的特性不會因為部分應用程式發生錯誤而導致整體系統崩潰,若發生問題只會相關應用程式無法運作,可有效減少系統崩潰的風險。

OSGi 缺點

第三方 jar 檔案引入複雜,需要另行操作引入。常用的方向為將 jar 作為 bundle 入 OSGi 儲存庫中再進行引入。由於 OSGi 框架本身與現有的框架具有許多差異,彼此之間的兼容性較低,如果加上 Hibernate 則會使 OSGi 動態載入的特性無法正常運行。

Liferay 7 對 OSGi 支援

Liferay 7 起對 OSGi 架構提供完全支援,Modules 開發部署亦依循指定的模式程序,享受更高彈性的模組化平台


內容關鍵字 內容關鍵字