Menu Close

1.4.2. OSGi サービスレジストリー

OSGi フレームワークでは、パブリッシュ、検索、およびバインドサービスモデルを使用して 「OSGi バンドル」 と含まれるコンポーネントとの間の通信を提供します。サービスレイヤーには、次のようなサービスレジストリーが含まれています。

  • サービスプロバイダーは、他のバンドルによって使用されるフレームワークにサービスを登録します。
  • サービスリクエスターはサービスを見つけ、サービスプロバイダーにバインドします。

サービスはバンドルによって所有され、バンドル内で実行されます。バンドルは、1 つ以上の Java インターフェース下のフレームワークサービスレジストリーでサービスの実装を登録します。そのため、サービスの機能はフレームワークの制御下にある他のバンドルで利用可能であり、他のバンドルはサービスを検索および使用できます。検索は、Java インターフェースおよびサービスプロパティーを使用して実行されます。

各バンドルは、そのインターフェースとプロパティーの完全修飾名を使用して、サービスレジストリーの複数のサービスを登録できます。バンドルは LDAP 構文の名前とプロパティーを使用して、サービスのサービスレジストリーをクエリーします。

バンドルは、公開、検出、バインドなどの、ランタイムサービスの依存関係管理アクティビティーを担当します。バンドルは、バンドルにバインドされるサービスの動的な可用性 (到着または出発) から生じる変更にも適用できます。