OSGiフレームワークとは

OSGiフレームワークとは、Javaのモジュール組み立てを可能にするプラットフォームです。

OSGiとは

OSGi Allianceは標準化団体であり、Javaで構築されたソフトウェアのモジュール組立を可能にするオープンな仕様を作成している。

OSGiではJavaモジュールを「バンドル(Bundle)」と呼び、このバンドルの実行基盤を「OSGiフレームワーク」と呼んでいる。

OSGiフレームワークは、動的にバンドルを後から追加できるのが特徴である。

たとえば、Eclipseのプラグインはバンドルとして作成されており、Eclipseを再起動しなくても追加したプラグインを有効にできる。

バンドル

バンドルは、複数のクラスファイルとリソースファイルをアーカイブとしてひとつにまとめたJARファイルである。

通常のJARファイルとの違いは、マニフェストファイルにOSGiの仕様に特有な属性を加えていることである。

Apache Felix

Apache Felixは、OSGiコアフレームワーク仕様のオープンソース実装である。