OSGi 仕様は、オープン・スタンダード組織である OSGi Alliance により定義および保守されています。この仕様には、音声、データ、およびマルチメディア・ワイヤレス・ネットワークと有線ネットワークの管理についてのオープン・スタンダードの概要がまとめられています。OSGi サービス・プラットフォーム仕様は、バンドルを使用したサービスの配信と管理についての、公開された共通のアーキテクチャーを定義しています。
OSGi アプリケーション・フレームワークは、Java™ EE と OSGi テクノロジーの両方を使用したモジュラー・アプリケーションをバンドルとして開発、アセンブル、およびデプロイするためのプログラミング・モデルを提供します。
OSGi 仕様について詳しくは、OSGi Alliance Specifications を参照してください。
Java エンタープライズ・アプリケーション用 OSGi は、OSGi 仕様バージョン 4.2 の注目すべき点です。
OSGi 仕様バージョン 4.2 には、Spring Framework アセンブリー・モデルの標準化バージョンである、ブループリント・コンポーネント・モデルの定義が含まれています。ブループリント・コンポーネント・モデルは、コンポーネントがバンドル内でどのようにつなげられるか、ブループリント・コンポーネント・コンテナーが構成と依存関係をどのようにランタイム環境に注入するかを記述します。
コンポーネント、およびコンポーネントが消費する参照は、XML モジュール・ブループリント・ファイルで宣言されます。これは Spring アプリケーション・コンテキストを標準化したものです。このファイルは、コンポーネントがサービス・レジストリーに対してサービスとして自動的に公開でき、サービス・レジストリーからディスカバーされたサービスとして参照を自動的に解決できるように、OSGi 環境に対して拡張されます。
ブループリント・コンポーネント・モデルにより、サーバー環境から分離された単体テストを形成する機能を含む、Spring Framework の簡便性が提供されます。ブループリントによって構成メタデータが標準化され、それによってコンポーネント・モデルの仕様にガバナンスがもたらされます。