IT用語集 › プログラミング › OSGi

OSGi

プログラミング Svenska → 更新: 2026-10-21
詳細情報
種類
Java向けモジュールシステム
公開年
1999
管理元
Eclipse Foundation(以前はOSGi Alliance)
後継
JPMS(Java 9)

Java向けの動的モジュール。依存関係にバージョンを持たせ、プロセスを動かしたままコードを入れ替えられる。

始まりは1999年の「Open Services Gateway initiative」で、ホームオートメーションやセットトップボックスが狙いだった。後に組織はこの名称を静かにやめている。単位はバンドルで、どのパッケージをエクスポートし、どのバージョン範囲をインポートするかを厳密に記したマニフェスト付きのJARである。実行環境は各バンドルに専用のクラスローダーを与えるので、同じライブラリの二つのバージョンを一つのプロセスに共存させられる。

代償は複雑さだ。Eclipseはバージョン3.0(2004年)からOSGi実装のEquinoxの上に作られており、Apache KarafやLiferayも今なおこれに依存している。新規システムでは、この発想は事実上敗れた。2017年のJava 9でJPMSが登場し、多くのチームはJVM内のモジュールシステムより、サービスごとに一つのコンテナで分離するほうが単純だと結論づけた。

← 用語集に戻る