OSGi 【OSG】 Open Services Gateway
Javaプログラムを対象としたもので、Java仮想マシン(JVM:Java Virtual Machine)の上でソフトウェアの実行基盤であるOSGiプラットフォーム(OSGi Service Platform)を動作させ、そこに「バンドル」(bundle)と呼ばれるソフトウェア部品を追加することができる。
OSGiではこのプラットフォームとバンドルが備えるべき仕様や、それらの間の連携方法などの標準を定めており、開発元が異なるプラットフォームやバンドルを繋ぎあわせてシステムを構成することができる。バンドルの追加や削除、起動、停止などはプラットフォームの停止や再起動を伴わず動的に実行することができるのも大きな特徴となっている。
もとは家庭内ネットワークなどでコンピュータやデジタル家電などをゲートウェイ機器を中心に連携させ、インターネットを通じて動的に制御ソフトウェアを更新したり、新しい機能を配信したりするためのソフトウェア基盤を構築することを目指して策定された。
その後、様々な環境でJavaプログラムをモジュール化して動的に追加、実行するソフトウェア環境の標準として普及し、著名な採用例に統合開発環境(IDE)の「Eclipse」などがある。当初は規格名が「Open Services Gateway」、団体名が「Open Services Gateway Initiative」だったが、2003年に規格名が「OSGi」、団体名が「OSGi Alliance」にそれぞれ改められた。
(2022.9.8更新)