1.Open Service Gateway Initiative的簡稱,旨在建立一個開放的服務規範,爲通過網絡向設備提供服務建立開放的標準。
3.OSGi時開發和部署模塊化軟件程序和庫的Java框架。每一個bundle是緊耦合的,動態加載那些聲明外部依賴的類文件、jar包盒配置文件等。
4.架構:
(1)Bundles:有額外目錄頭的jar包組件
(2)Services:通過爲POJIs(plain old Java Interfaces)或者POJOs(plain old Java objects)通過一種publish-find-bind模型,動態地連接bundles。
OSGi框架有一箇中心化的註冊表,這個註冊表遵循publish-find-bind模型。
一個提供服務的bundle可以發佈POJO作爲服務的實體;一個使用服務的bundle可以通過中心化的服務註冊表找到和綁定服務。
服務動態性:當一個bundle發現並開始使用OSGi中的一個服務之後,這個服務可能在任何時候改變或者消失。
(3)Service Registry:管理服務的API。
(4)life-cycle:管理bundle生命週期的API(安裝、開始、停止、更新、卸載)
(5)Modules:定義依賴性的封裝和聲明的層。(bundle如何導入和導出代碼)
(6)Security:解決由功能上限制預定義能力的安全方面。