OSGi アプリケーションを Java EE 7 テクノロジーで使用可能にする
OSGi アプリケーションを主要な Java™ Platform, Enterprise Edition (Java EE) 7 テクノロジーで使用可能にすることができます。 WebSphere® Application Server Liberty バージョン 8.5.5.6 以降は、 Java EE 7 フル・プラットフォームに認定された実動可能サーバーです。
マイグレーションをゼロにするために、新規のフィーチャーが作成され、既存のフィーチャーは未変更のままです。 例えば、servlet 3.1 のサポートが追加された際には、servlet-3.1 フィーチャーが作成されました。 既存のサーバー・デプロイメントで動作の変更がないようにするために、servlet-3.0 はそのまま保持されています。
Java EE 7 がサポートされる前の環境では、OSGi アプリケーションをデプロイできるようにするために、 blueprint-1.0、またはそれに依存するものを構成する必要がありました。 その後、その他の OSGi 固有のフィーチャー (wab-1.0 など) や汎用のフィーチャー (jpa-2.0 など) を構成して、他の機能を取り込んでいました。
Java EE 7 環境では、OSGi 構成は、次の 2 つのステップで行われます。
- OSGi バンドルをデプロイすることを決定する。
- それらの OSGi バンドルの実装に使用するテクノロジーを決定する。
OSGi バンドルをデプロイすることをサーバーに伝える
最初のステップでは、server.xml に osgiBundle-1.0 フィーチャーを追加します。
<featureManager>
<feature>osgiBundle-1.0</feature>
</featureManager>
osgiBundle-1.0 フィーチャーを追加すると、
OSGi アプリケーションの一部として OSGi バンドルをデプロイすることができます。使用するコンポーネント・モデルをサーバーに伝える
wab-1.0 のような OSGi 固有のフィーチャーを取り込むのではなく、Java EE の場合と同じコンポーネント・モデルを構成するようになりました。
この構成により、Web アプリケーション・バンドルなどのバンドル内のサーブレットや HTTP ホワイトボード・サーブレットの使用が可能になります。
<featureManager>
<feature>osgiBundle-1.0</feature>
<feature>servlet-3.1</feature>
</featureManager>
詳しくは、『OSGi Web アプリケーション・バンドル (OSGi Web Application Bundles)』および『OSGi HTTP ホワイトボード (OSGi Http Whiteboard)』を参照してください。以下のサーバー構成では、パーシスタンス・バンドルの jpa-2.1 を使用する機能を追加します。
<featureManager>
<feature>osgiBundle-1.0</feature>
<feature>servlet-3.1</feature>
<feature>jpa-2.1</feature>
</featureManager>
詳しくは、
『Java Persistence API を使用したデータへのアクセス (Accessing data using Java Persistence API)』を参照してください。オプションで、blueprint-1.0 を含めることも引き続き可能です。
<featureManager>
<feature>osgiBundle-1.0</feature>
<feature>servlet-3.1</feature>
<feature>jpa-2.1</feature>
<feature>blueprint-1.0</feature>
</featureManager>