OSGi 4.2 規範發布(2009 年 9 月)一個多月來,生態系統呈現全面開花:三大運行時(Equinox、Felix、Knopflerfish)全面支援、Karaf 提供開箱即用分發、Spring dm Server / GlassFish / WebLogic / Jetty 等中間件深度整合、建構工具鏈(Maven/Pax、Sigil、B3)突破 IDE 綁定、IntelliJ 9 內建支援、Eclipse 3.6/E4 推進異步與 JS 運行時。本文彙總關鍵進展,勾勒 OSGi 邁向主流標準的軌跡。
| 運行時 | 版本/狀態 | 關鍵進展 |
|---|---|---|
| Equinox | 3.5 (GA) / 3.6 M2 | 3.5 實作 4.2 草案;3.6 M2 內建 EventAdmin、支援載入期織入、多會話控制台 |
| Apache Felix | 2.0 GA | 完整支援 4.2 核心,Web Console、Gogo Shell 體驗優化 |
| Knopflerfish | 3.0 Beta | 除框架載入器外已實作 4.2 核心 |
OSGi Enterprise Expert Group 定義 JNDI、Web Servlet 等企業服務規範,遠程服務 已納入 4.2 核心,支援跨 JVM 服務透明調用,預計 2010 初發布企業規範 1.0。
| 工具/方案 | 定位 | 進展 |
|---|---|---|
| Pax Construct + bnd | Maven 構建 OSGi Bundle 事实標準 | 整合 bnd 自動生成 Manifest,Felix Maven Bundle Plugin 底層同源 |
| Apache Sigil (Incubating) | IDE 中立的 OSGi 建構引擎 | 支援 Eclipse/NetBeans,已能自我構建,年內發布 1.0 |
| Eclipse B3 | Eclipse 官方新一代建構系統 | 整合 PDE、Buckminster、Hudson,不改變現有構建流程 |
| Maven → Eclipse | 從 Central Repository 直接構建 Eclipse 目標平台 | 早期探索,展示統一製品庫潛力 |
netisgo 外掛仍在開發,尚未原生支援。旨在為 OSGi 與 Jigsaw 建立共同元數據格式,但運行時類路徑模型(扁平 vs 嵌套)分歧大,專家組尚無共識,Neil Bartlett 將在 DevCon London 專題討論。
從運行時成熟度、中間件整合、建構工具標準化、IDE 支援、社群活躍度五個維度看,OSGi 正從「嵌入式/客戶端小眾」轉向「服務端主流標準」。對 Java 團隊而言,現在是評估引入 OSGi 進行模組化架構重構的最佳窗口期——工具鏈已就緒,遷移風險可控,生態紅利正釋放。