PC 由 Wintel 統一,應用可直接遷移。但嵌入式設備(機頂盒、車載電腦、工業控制器、消費電子)硬件/OS 完全不同,應用必須為每種設備定制。OSGi 聯盟(1999 成立)旨在建立開放服務規範,屏蔽底層差異,提供通用 Java 軟件運行平台。
OSGi 假設 運營商 控制服務平台,部署來自 服務提供者 的 服務應用(由多個 Bundle 組成)。關鍵實體:
流向:製造商 → 擁有者 → 網絡提供商 → 運營商控制平台 → 部署管理器部署集成後的應用 → 消費者訂閱 → 用戶使用。
OSGi 將 Java 從「面向對象」推向「面向組件與服務」。Bundle 生命週期管理、服務註冊發現、動態安裝/更新/協作,成為 Eclipse、GlassFish、Spring DM、Apache Karaf 等主流產品的內核基石。JSR 291 推動其納入 Java SE 標準。