OSGi
OSGi Alliance(従来の名称は Open Services Gateway initiative)は、1999年3月に設立された標準化団体。遠隔から管理できるJavaベースのサービスプラットフォームを定義している。この仕様の中心となるのは、アプリケーションライフサイクルのフレームワークとサービスレジストリである。そのフレームワークに基づいて、多数のOSGiサービスが定義された(ログ、構成管理、HTTPサービス(Java Servlet)、XML構文解析、機器アクセス、パッケージソフトウェア管理、基本パーミッション管理、ユーザー管理、I/O接続、結線管理、Jini、UPnP エクスポート、アプリケーション監視、宣言型サービス、消費電力管理、機器管理、セキュリティポリシー、診断/監視、フレームワーク階層化など)。
開発元 | OSGi Alliance |
---|---|
最新版 |
8.0
/ 2020年10月[1] |
対応OS | Java |
種別 | 標準化団体 |
ライセンス | OSGi Specification License, Version 2.0 |
公式サイト | www.osgi.org |
OSGi フレームワークの範囲
編集このフレームワークは、スタンドアロンの Java/VM 環境に欠けている完全で動的なコンポーネントモデルを実装している。アプリケーションソフトウェアや(「バンドル; bundle」形式で配布される)コンポーネントは遠隔からインストール・起動・停止・(リブートせずに)アンインストールできる。Javaのパッケージやクラスの管理は詳細に規定されている。ライフサイクル管理は、遠隔から管理ポリシーをダウンロードすることでAPIを経由して行われる。サービスレジストリにより、バンドルが新たなサービスや消滅したサービスを自動検出して適切に対応する。
当初の目的はサービスゲートウェイの仕様だったが、適用範囲が広がっていった。OSGi の仕様は、携帯電話からオープンソースのEclipse IDEまで幅広く応用されている。他にも、自動車、ファクトリーオートメーション、ビル管理システム、携帯情報端末、グリッド・コンピューティング、エンターテインメント(例えば iPronto)、アプリケーションサーバなどに応用されている。
仕様策定プロセス
編集OSGi の仕様はメンバーによりオープンな形で開発され、OSGi Specification License により配布後の変更も自由となっている。OSGi Alliance はメンバー企業向けに認証プログラムを実施している。2010年11月現在、認証されたOSGi実装は R4.0で6 例、R4 V4.2で3例である(list of certified)。
組織
編集OSGi Alliance は1999年3月、サン・マイクロシステムズ、IBM、エリクソンなどにより設立された(それ以前に母体となった Connected Alliance という提携関係が存在した)。
2006年現在、25社以上が様々な業種から参加している(IBM、Bosh Software、ドイツテレコム、NTT、オラクル、レッドハット、日立製作所、 Adobe、Huaweiなど)。
各分野に委員会を設置しており、それぞれの分野の役員が選出されている。商業化に関しては別に委員会を設けており、それとは別に仕様策定は専門グループが行っている。
専門グループは、エンタープライズ、IoT、中核プラットフォームが現在活動中である。
コミュニティ
編集2003年10月、ノキア、モトローラ、ProSyst などのOSGiメンバー企業が新たにモバイル専門グループ(Mobile Expert Group)を結成し、MIDPに基づいた新世代携帯電話向けのサービスプラットフォームの策定を行っている。ここでは、CLDCが管理できない部分への対応を行っている。この仕様は OSGi Release 4 の一部として公表されている。
2003年、Eclipseは、IDEプラットフォームおよびEclipse Rich Client Platformでのプラグイン・アーキテクチャの実行環境として OSGi 仕様を採用した。Eclipse には OSGi バンドル開発用ツールが含まれており、そのためのプラグインも各種用意されている(特に ProSyst と Knopflerfish が OSGi開発者向けの Eclipse プラグインを提供している)。
OSGi 仕様に関連したフリーソフトウェアの開発もされている。例えば、Equinox OSGi、Apache Felix、 mBS Equinox Editionなど。
仕様バージョン履歴
編集- 中核仕様
- OSGi Release 1 (R1): 2000年5月
- OSGi Release 2 (R2): 2001年10月
- OSGi Release 3 (R3): 2003年3月
- OSGi Release 4, Version 4.0: 2005年10月
- OSGi Release 4, Version 4.0.1: 2006年9月
- OSGi Release 4, Version 4.1: 2007年5月
- OSGi Release 4, Version 4.2: 2009年9月
- OSGi Release 5 (R5): 2012年6月
- OSGi Release 6 (R6): 2015年8月
- OSGi Release 7: 2018年4月
- モバイル仕様
- OSGi Release 4, Version 4.0.1: 2006年9月
関連情報入手先
編集関連RFCおよびJava標準
編集- RFC 2608 (Service Location Protocol)
- Sun Jini™ (Java Intelligent Network Infrastructure)
- Sun JCP JSR-8 (Open Services Gateway Specification)
- Sun JCP JSR-232 (Mobile Operational Management)
- Sun JCP JSR-246 (Device Management API)
- Sun JCP JSR-249 (Mobile Service Architecture for CDC)
- Sun JCP JSR-277 (JavaTM Module System)
- Sun JCP JSR-291 (Dynamic Component Support for JavaTM SE)
関連標準規格
編集書籍
編集- OSGi Service Platform, Release 3, IOS Press, ISBN 1-58603-311-5
脚注
編集- ^ “OSGi Alliance | Specifications / HomePage”. osgi.org (2020年). 2022年10月3日閲覧。
関連項目
編集外部リンク
編集- OSGi ユーザフォーラムJapan
- OSGi web site General Information
- OSGi enRoute
- OSGi Tutorial: A Step by Step Introduction to OSGi Programming Based on Knopflerfish
- Getting started with OSGi: tutorials from EclipseZone
- Belgian Java User Group video presentation on Spring OSGi by Costin Leau
- OSGi and Gravity Service Binder Tutorial
- ApacheCon EU 2006 presentation about OSGi best practices by Marcel Offermans.
- Enterprise OSGi Professional Services (www.4enterprise.org)