OSGi ブループリント・コンテナー仕様

OSGi ブループリント・コンテナー仕様は、Spring 動的モジュール・プロジェクトから派生した OSGi 用依存関係注入フレームワークを定義します。この仕様は、XML モジュール・ブループリント により OSGi バンドルが補強されるコア Spring Framework に基づいて OSGi 用のコンポーネント・モデルを定義します。 モジュール・ブループリントは、細かいコンポーネントがどのようにしてバンドル内でつなげられるのかを記述する構成ファイルです。OSGi ブループリント・コンテナー仕様について詳しくは、OSGi Alliance Web サイトにある Compendium の仕様を参照してください。

モジュール・コンポーネントは、Spring アプリケーション・コンテキスト・コンテナーと直接に対応するモジュール・コンテキスト・コンテナーにより管理されます。このモジュール・コンテキスト・コンテナーは、構成された依存関係をコンポーネントに注入し、それらのコンポーネントのライフサイクルを管理します。モジュール・ブループリントの書式は、Spring アプリケーション構成ファイルに基づいています。 Spring Framework から大幅に進歩した点は、OSGi バンドルと呼ばれるデプロイメント単位、およびモジュール・ブループリントを介しての OSGi サービス・レジストリーとの統合です。 バンドルのクライアントに公開される OSGi サービス、およびバンドルが消費する OSGi サービスは、モジュール・ブループリント内で宣言され、ランタイム・モジュール・コンテキスト・コンテナーによって、OSGi サービス・レジストリーに登録されるか、OSGi サービス・レジストリーから取得されます。

ブループリント・アプリケーション内ではモジュール・コンポーネントは、そのライフサイクルをモジュール・コンテキスト・コンテナーが管理する、Java™ コンポーネントです。モジュール・コンポーネント構成には、それが依存するリソースおよびコンポーネントへの参照が含まれています。 モジュール・コンテキスト・コンテナーは、構成をモジュール・コンポーネントに注入します。コンポーネントが外部のファクトリーおよびサービスに依存するようにするのではなく、コンポーネントに構成を注入すると、分離しているコンポーネントのテストがより容易になります。

モジュール・コンテキスト・コンテナーは、OSGi バンドルにアセンブルされる管理コンポーネントのセットです。 モジュール・コンテキストは、そこに含まれる管理コンポーネントのライフサイクルの管理と、コンポーネント構成の注入を扱います。

OSGi ブループリント概念についてさらに学習したい方に:
OSGi ブループリント・コンテナー仕様には、以下の概念が定義されています。
管理コンポーネント
管理コンポーネントは、Java コンポーネントで、そのライフサイクルはコンテナーにより管理され、その構成 (管理コンポーネントが依存するリソースやその他のコンポーネントへの参照も含む) はコンテナーにより管理コンポーネントに注入されます。コンポーネントが外部のファクトリーおよびサービスに依存するようにするのではなく、コンポーネントに構成を注入するようにすると、分離しているコンポーネントのテストが容易になります。
モジュール・コンテキスト
モジュール・コンテキストは、OSGi バンドルにアセンブルされる管理コンポーネントのセットのコンテナーです。そこに含まれる管理コンポーネントのライフサイクルの管理と、コンポーネント構成の注入を扱います。この用語は、 Spring Framework の「アプリケーション・コンテキスト」コンテナーから派生したもので、特に ブループリント仕様で「モジュール・コンテキスト・コンテナー」と「モジュール・コンテキスト構成ファイル」の両方の略語として「モジュール・コンテキスト」が使用されているため、分かりづらくなっています。EBA プログラミング・モデルでは、モジュール・コンテキスト・コンテナーと同じ意味で「EBA コンテナー」という用語が使用されます。
モジュール・ブループリント
モジュール・ブループリントは、モジュール・コンテキスト・コンテナーにより処理された、OSGi バンドル内の管理コンポーネントのセットと関連付けられた宣言構成です。ブループリント仕様において、モジュール・ブループリントは、ブループリント仕様が拡張 XML スキーマを定義している、1 つ以上の XML モジュール・コンテキスト構成ファイルの書式になっています。
管理バンドル
管理バンドルとは、管理対象バンドル内の管理対象コンポーネントのセットを記述するモジュール・ブループリントを含んでいる OSGi バンドルです。

モジュール・ブループリント内の宣言構成では、 バンドルのうちの特定の管理コンポーネントが OSGi サービス・レジストリー内のサービス としてエクスポートされる必要があることも指定できます。さらに、バンドルの管理対象コンポーネントが、サービス・レジストリーを介して 取得される 1 つまたは複数のサービスに依存することや、 それらのサービスが管理対象コンポーネントに注入されることを宣言することも可能です。

総じて言うと、OSGi ブループリント・コンテナー仕様は、モジュール・ブループリント (構成情報) およびそのブループリントから作成されたランタイム・コンテキストを持つ OSGi バンドルとしてアプリケーション・モジュールが実装されるアプリケーション・アーキテクチャーを記述します。モジュールは、サービス・レジストリーを介して相互作用する同等物です。

トピックのタイプを示すアイコン 概念のトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: cosgiblueprint.html