首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Equinox OSGi 系列(一)入門:Eclipse 內核的模塊化基石

     編輯:Java 相關知識

Equinox 簡介

Equinox 是 Eclipse 基金會提供的 OSGi R4 核心框架實現。Eclipse 3.0 將內核遷移至 OSGi,憑藉強大的 Bundle 生命週期管理、服務動態交互能力,實現跳躍式發展。OSGi 亦因 Eclipse 巨大用戶群進入快速發展期。本系列以 Equinox 為基礎,講解基於 OSGi 的應用開發。

項目模組全景

1. OSGi 核心框架實現

  • org.eclipse.osgi:規範核心實現。為復用 Eclipse 3.0 前代碼,結構相對繁瑣。研習源碼建議參考 Oscar/Felix/Knopflerfish。
  • org.eclipse.equinox.launcher:框架啟動支持。原 startup.jar 遷移為 Fragment,建立類加載路徑、運行配置參數等環境。
  • Equinox 啟動可執行程序:eclipse.exe,原生啟動器,部分功能下沉至 launcher 共享 DLL。

2. OSGi 標準服務 Bundle 實現

Equinox 提供大部分 R4 標準服務,並擴展 Eclipse 特有工具類:

Bundle服務備註
org.eclipse.equinox.logLog Service標準日志服務
org.eclipse.equinox.eventEvent Admin Service事件管理
org.eclipse.equinox.httpHTTP Service支援 Servlet 2.3
org.eclipse.equinox.dsDeclarative ServicesProsyst 實現,宣告式服務
org.eclipse.equinox.metatypeMetatype Service元類型描述
org.eclipse.equinox.preferencesPreferences Service偏好設置
org.eclipse.equinox.registryExtension RegistryEclipse 擴展點註冊表
org.eclipse.equinox.useradminUser Admin Service用戶管理
org.eclipse.equinox.wireadminWire Admin Service服務通信拓撲管理
org.eclipse.osgi.servicesOSGi Services API聯盟定義標準介面
org.eclipse.osgi.utilOSGi Utilities工具類介面與實現

3. J2EE / 服務端整合

Equinox 推動 OSGi 進入 J2EE 領域:

  • 內嵌運行 Web 應用:http、http.registry、servletbridge、http.servlet、http.servletbridge、javax.servlet、javax.servlet.jsp、org.mortbay.jetty、org.eclipse.equinox.http.jetty — 支援 JSP/Servlet/Struts 運行於 Equinox,或將 Equinox 嵌入 Tomcat/Jetty/WebSphere/WebLogic。
  • Jetty 版本限制 5.x,6.x 需參考 ops4j 實現。

4. Equinox p2 部署更新框架

Eclipse 插件分組/更新/遠程維護機制遷移至 OSGi 環境,稱為 equinox p2。Eclipse 3.4 整合發布,支援遠程更新站點安裝/升級功能。

5. 研究方向

  • 資源監控(JMX 基礎輕量級框架,已有演示實現)
  • 安全管理(JCA/JAAS 整合:消息摘要、數字簽名、密鑰/證書存儲、Bundle 簽名驗證、代碼權限)
  • 面向方面開發(OSGi 環境下加載編排、模塊化 AOP 技術問題)

結語與展望

JSR 291 推動 OSGi 納入 Java SE 標準,未來開發者可在基礎編程中直接使用 OSGi 動態模塊化能力。Equinox 源碼位於 Eclipse CVS org.eclipse.equinox.* 及 equinox-incubator。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved