Liberty の Liberty フィーチャーの作成
Liberty フィーチャーは、フィーチャー・マニフェスト・ファイルと 1 つ以上の OSGi バンドルから成ります。 Liberty サーバーにフィーチャーがインストールされると、OSGi バンドルには、特定の機能を提供するクラスとサービスが含まれます。
このタスクについて
Liberty フィーチャーは、以下のいずれかの方法で作成できます。
- フィーチャーを手動で作成します。手動による Liberty フィーチャーの作成を参照してください。
- WebSphere® Application Server Developer Tools を使用します。『開発者ツールを使用した Liberty フィーチャーの作成』を参照してください。
Liberty フィーチャー作成の全詳細については、以下のサブトピックを参照してください。
サブトピック
- 手動による Liberty フィーチャーの作成
Liberty フィーチャーを手動で作成して、Liberty にインストールすることができます。 - 開発者ツールを使用した Liberty フィーチャーの作成
WebSphere Application Server Developer Tools を使用して、独自のフィーチャーを作成して、そのフィーチャーを既存の Liberty サーバーにインストールしたり、ユーザーに配信するためにそのフィーチャーをパッケージ化したりすることができます。 - 単純なアクティベーションを使用した OSGi バンドルの開発
ご使用のバンドル内のいずれかのクラスに org.osgi.framework.BundleActivator インターフェースを実装することで、OSGi バンドル・コードのライフサイクルを最も簡単に制御することができます。 サーバーがバンドルを開始および停止すると、 BundleActivator インターフェースの start および stop メソッドが呼び出されます。 - OSGi Declarative Services を使用した拡張フィーチャーの構成
単純なフィーチャーは、バンドル・アクティベーター・クラスを使用し、ManagedService や ServiceTracker などのインターフェースを直接実装することで制御できます。 バンドル間の関係が複雑になると、OSGi Declarative Services (DS) のような機能を使用して、1 つのフィーチャーを個々のサービスに分解する方が良い場合もあります。DS (Service Component Runtime (SCR) と呼ばれることもある) は OSGi サービスのライフサイクルおよび注入管理を提供します。 - 拡張構成
拡張構成には、構成の説明とデフォルト値の指定、および OSGi Metatype Service の拡張に関する情報が含まれます。 - アプリケーション・エンドポイントの提供
フィーチャーに 1 つ以上の Web アプリケーション・バンドル (WAB) を組み込むことによって、 Liberty フィーチャーを Web アプリケーションとして利用可能にすることができます。 WAB は、Web-ContextPath マニフェスト・ヘッダーが指定された OSGi バンドルです。 - Liberty SPI ユーティリティー
Liberty では、各種タスクを実行するためのサービス・プログラミング・インターフェース (SPI) が用意されています。 - 保護された (protected) フィーチャーの組み込み
フィーチャーには、フィーチャー・マニフェスト・ファイルの Subsystem-Content ヘッダーに他の 1 つ以上のフィーチャーをリストすることによって、それらを組み込むことができます。 ユーザー固有のフィーチャーとして同じ製品拡張内の任意のフィーチャーを組み込むことができます。組み込まれるフィーチャーが、別の製品拡張、または Liberty に含まれる場合、その可視性は public または protected でなければなりません。 - OSGi アプリケーションの探索
org.apache.aries.blueprint パッケージ内 のクラスを使用して、OSGi アプリケーション・プログラミング・モデルを拡張できます。 このサード・パーティー SPI は blueprint-1.0 サーバー・フィーチャー を通して提供されます。拡張を適用するには、OSGi アプリケーション・バンドルに アクセスする必要があります。Liberty では、OSGi アプリケーションはサブシステムとして実行されます。OSGi アプリケーションを見つけるために、 ユーザー・フィーチャー内に ServiceTracker を作成できます。 - Liberty フィーチャー内の JDNI デフォルト名前空間を使用した開発
デフォルトの Java™ Naming and Directory Interface (JNDI) 名前空間でオブジェクトを使用可能にすることができます。そのためには、osgi.jndi.service.name サービス・プロパティーを使用して OSGi サービス・レジストリーにそれを登録する必要があります。osgi.jndi.service.name の値は、必須の JNDI 名です。同様に、デフォルトの JNDI 名前空間でオブジェクトを検索するには、osgi.jndi.service.name サービス・プロパティーを使用して OSGi サービス・レジストリー内を検索することができます。osgi.jndi.service.name の値は JNDI 名です。 - Liberty フィーチャーとしてのカスタム TAI の開発
Liberty サーバーで提供される com.ibm.wsspi.security.tai.TrustAssociationInterceptor インターフェースを実装し、製品拡張を作成することによって、カスタム TAI を Liberty フィーチャーとして開発することができます。 - 動的コンテンツ管理
通常、バンドルをランタイム環境にインストールするには、フィーチャー・マニフェスト・ファイルの Subsystem-Content ヘッダーにバンドルをリストします。ただし、ユーザー作成フィーチャーの Subsystem-Content の一部としてユーザー作成バンドルをインストールすることで、OSGi バンドルを動的に追加したり削除したりすることもできます。 ユーザー作成バンドルは、OSGi バンドル・コンテキストを獲得して、追加のバンドルをインストールおよび制御します。
親トピック: Liberty の拡張
関連概念:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_feat_develop
ファイル名: twlp_feat_develop.html