OSGi

開放服務網關倡議 （ OSGi ， Open Service Gateway Initiative ） 有雙重含義 。 一方面它指OSGi Alliance組織 ； 另一方面指該組織制定的一個基於Java語言的服務 （ 業務 ） 規範 — — OSGi服務平臺 （ Service Platform ） 。 OSGi Alliance是一個由Sun Microsystems 、 IBM 、 愛立信等於1999年3月成立的開放的標準化組織 ， 最初名爲Connected Alliance 。 該組織及其標準原本主要目的在於使服務提供商通過住宅網關 ， 爲各種家庭智能設備提供各種服務 。 目前該平臺逐漸成爲一個爲室內 、 交通工具 、 移動電話和其他環境下的所有類型的網絡設備的應用程序和服務進行傳遞和遠程管理的開放式服務平臺 。 該規範和核心部分是一個框架 ， 其中定義了應用程序的生命週期模式和服務註冊 。 基於這個框架定義了大量的OSGi服務 ： 日誌 、 配置管理 、 偏好 ， HTTP （ 運行servlet ） 、 XML分析 、 設備訪問 、 軟件包管理 、 許可管理 、 星級 、 用戶管理 、 IO連接 、 連線管理 、 Jini和UPnP 。 這個框架實現了一個優雅 、 完整和動態的組件模型 。 應用程序 （ 稱爲bundle ） 無需重新引導可以被遠程安裝 、 啓動 、 升級和卸載 （ 其中Java包 ／ 類的管理被詳細定義 ） 。 API中還定義了運行遠程下載管理政策的生命週期管理 。 服務註冊允許bundles去檢測新服務和取消的服務 ， 然後相應配合 。 OSGi原先關注於服務網關 ， 其實可用於多個方面 。 現在OSGi規範已經用於從移動電話到開源的Eclipse （ 其中包括了與IBM的OSGi框架SMF兼容的開源版本 ） 。 OSGi服務平臺的應用包括 ： 服務網關 、 汽車 、 移動電話 、 工業自動化 、 建築物自動化 、 PDA 網格計算 、 娛樂 （ 如iPronto ） 、 和IDE 。 OSGi規範是由成員通過公開的程序開發 ， 對公衆免費而且沒有許可證限制 。 但是OSGi Alliance的兼容性程序只對成員開放 ， 目前有12個兼容的實現 。 2003年Eclipse選擇OSGi作爲其插件的底層運行時架構 。 Equinox project對該理念進行了實驗 ， 2004年6月在Eclipse3 R3中發佈 。 ProSyst是面向OSGi開發者的Eclipse插件 。 2003年10月 ， 諾基亞 、 摩托羅拉 ， ProSyst和其他OSGi成員組建了Mobile Expert Group （ MEG ） 爲下一代智能手機規範業務平臺 ， 做爲對MIDP和CDC的補充 。