2010年12月23日木曜日

5.2 サービス (Services)

OSGi サービスプラットフォームでは, バンドルは, 共用サービスレジストリーから取得可能な協調的サービス群の周辺に構築される. そのような OSGi サービスは, 意味論的にはサービスインターフェースにより定義され, サービスオブジェクトとして実装される.

In the OSGi Service Platform, bundles are built around a set of cooperating services available from a shared service registry. Such an OSGi service is defined semantically by its service interface and implemented as a service object.

サービスインターフェースは, できる限り実装の詳細を伴わない形で指定されるべきである. OSGi では, 共通の必要性を考慮して, 既に多くのサービスインターフェースを定義しており, また将来にわたっても定義していく.

The service interface should be specified with as few implementation details as possible. OSGi has specified many service interfaces for common needs and will specify more in the future.

サービスオブジェクトは, バンドルにより所有され, バンドル内で実行される. この種のバンドルは, そのサービス機能をフレームワークの管理下にある他のバンドルが利用できるようにするため, サービスオブジェクトをフレームワークサービスレジストリーに登録しなければならない.

The service object is owned by, and runs within, a bundle. This bundle must register the service object with the Framework service registry so that the service's functionality is available to other bundles under control of the Framework.

サービスを所有しているバンドルとそのサービスを使用しているバンドル間の依存関係はフレームワークにより管理される. 例えば, バンドルが止まると, そのバンドルがフレームワークに登録したサービスは全て, 自動的に登録解除されなければならない.

Dependencies between the bundle owning the service and the bundles using it are managed by the Framework. For exapmle, when a bundle is stopped, all the services registered with the Framework by that bundle must be automatically unregistered.

フレームワークは, サービスとサービスオブジェクトの対応を取り, バンドルが必要とするサービスを要求するのを可能とする単純だが協力な問い合わせ機構を提供する. フレームワークはまた, 登録・変更・登録解除されたサービスに関するイベントをバンドルが受け取れるようにするためのイベント機構も提供する.

The Framework maps services to their underlying service objects, and provides a simple but powerful query mechanism that enables a bundle to request the services it needs. The Framework also provides an event mechanism so that bundles can receive events of services that are registered, modified, or unregistered.


5.2.1 サービスリファレンス (Service References)
5.2.2 サービスインターフェース (Service Interfaces)
5.2.3 サービスの登録 (Registering Services)
5.2.4 ServiceRegistration オブジェクトの早期必要性 (Early Need for ServiceRegistration Object)
5.2.5 サービスプロパティー (Service Properties)
5.2.6 永続識別子 (Persistent Identifier (PID))
5.2.7 サービスの特定 (Locating Services)
5.2.8 サービスプロパティーの取得 (Getting Service Properties)
5.2.9 サービスオブジェクトの取得 (Getting Service Objects)
5.2.10 サービスに関する情報 (Information About Services)
5.2.11 サービス例外 (Service Exceptions)
5.2.12 サービスと並行処理 (Services and Concurrency)