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的補充。
版本
- R1 2000年5月
- R2 2001年10月
- R3 2003年3月
- R4 2005年10月
- R5 2013年12月
- R6 2015年6月
參見
參考
- OSGi Service Platform, Release 3, IOS Press, ISBN 1-58603-311-5
外部連結
- OSGI中文社區 --促進Java模塊化開發技術傳播
- OSGi官方網站——可下載標準規範,提供各種信息
- Archive.is的存檔,存檔日期2013-05-03
- OSGi World Congress(頁面存檔備份,存於網際網路檔案館) - 2004 congress in October in Barcelona
- ProSyst Software GmbH(頁面存檔備份,存於網際網路檔案館) - Leading OSGi Software Provider for Remote Management and Service Delivery
- aQute: OSGi Info(頁面存檔備份,存於網際網路檔案館) - Information about OSGi and access to seminars
- Oscar: An OSGi framework implementation(頁面存檔備份,存於網際網路檔案館) - Open Source OSGi framework implementation under BSD license
- Oscar Bundle Repository (OBR)(頁面存檔備份,存於網際網路檔案館) - A community-oriented bundle repository and incubator for OSGi bundle developers
- Knopflerfish OSGi(頁面存檔備份,存於網際網路檔案館) Open Source OSGi implementation under BSD license
- Oxygen Project(頁面存檔備份,存於網際網路檔案館)
- ServiceBinder(頁面存檔備份,存於網際網路檔案館) - Automated Service Dependency Management for the OSGi services platform
- Dependency Manager - Automatically managing service dependencies in OSGi
- Makewave(頁面存檔備份,存於網際網路檔案館) - Leading OSGi Technology Provider, maintains the open source OSGi implementation Knopflerfish(頁面存檔備份,存於網際網路檔案館)