4.2. プログラミング・開発ガイド

本節では、アプリケーションクライアントの作成について説明します。

4.2.1. アプリケーションクライアントの作成

下図が アプリケーション・クライアント・モジュール 設定ページです。


図4.2.1-1

入力内容について、以下に記述します。
表4.2.1-1
オプション
説明
デフォルト
プロジェクト名
アプリケーションクライアントプロジェクトの名前を指定します。
空白
デフォルトの使用
プロジェクトの生成箇所にデフォルト値を採用するかを指定します。
ON
ターゲット・ランタイム 
プロジェクトのランタイムサーバーを設定します。
ターゲット・ランタイムが存在していない場合はデフォルト値が<なし>です。ターゲット・ランタイムが存在している場合は新規追加されたランタイムが表示されます
アプリケーション・クライアント・モジュール パージョン
アプリケーションクライアントモジュールのバージョンを設定します。
6.0
構成
構成を選択します。
WebOTX Application Server v9(Local Default) デフォルト構成
EAR にプロジェクトを追加

EARプロジェクトを生成するか、アプリケーションクライアントプロジェクトをこのEARプロジェクトに追加するかを指定します。

OFF
下図が プロジェクト・ファセット  設定ページです。


図4.2.1-2


図4.2.1-3

入力内容について、以下に記述します。
表4.2.1-2
オプション
説明
デフォルト
構成
構成設定の予定設定です。
WebOTX Application Server v9(Local Default) デフォルト構成
プロジェクト・ファセット 
ターゲット・ランタイムがサポートするモジュールのタイプです。
ターゲット・ランタイムのサポートするモジュールのタイプが表示されます。
バージョン
ターゲット・ランタイムがサポートするモジュールのバージョンです。
ターゲット・ランタイムのサポートするモジュールのバージョンが表示されます。
詳細
作成するプロジェクトの説明を表示します。
アプリケーション・クライアント・モジュールの説明文が表示されます。
ランタイム
WebOTXに作成されたサーバーランタイムのリストです。
アプリケーションクライアント設定ページに選択されたランタイムが選択されます。
下図が Java 設定ページです。


図4.2.1-4

入力内容について、以下に記述します。
表4.2.1-3
オプション
説明
デフォルト
ビルド・パス上のソース・フォルダー
モジュールのソース・フォルダーを設定します。
appClientModule
デフォルト出力フォルダー   
モジュールでデフォルト出力フォルダーを設定します。   
build\classes

下図が アプリケーション・クライアント・モジュール  設定ページです。


図4.2.1-5

入力内容について、以下に記述します。
表4.2.1-4
オプション
説明
デフォルト
デフォルト・メイン・クラスの作成   
モジュールでメイン・クラスを生成するかを指定します。   
ON
application-client.xmlデプロイメント記述子の生成
デプロイメント記述子(META-INF\application-client.xml)を生成するかを指定します。
OFF

Caution
プロジェクト・ファセット 画面で アプリケーション・クライアント・モジュール のバージョンが1.4以下の場合、該当画面で application-client.xmlデプロイメント記述子の生成項目は表示されません。

4.2.2. EJBクライアント

4.2.2.1. クラスパスの設定

作成したクライアント・アプリケーションのコードをコンパイルして、クライアント・プログラムを 実行するためには、WebOTXが提供するJAR ファイルが必要になります。
表4.2.2.1-1
JARファイル名
${INSTALL_ROOT}/lib/wo-client.jar
${INSTALL_ROOT}は、WebOTXのインストールパスを表します。
その他にEJB を呼び出すためには、EJBのホーム、リモートインタフェースのスタブクラスファイルがクライアント側で必要になります。 スタブクラスはクライアントjar と呼ばれるjar ファイルに格納されます。 クライアントjar は配備されるときに生成されます。
1. 配備ツールで配備した場合
クライアントjar は配備ツールの設定に従って生成されます。
2. 運用管理コマンド(otxadmin)、または自動配備で配備した場合
クライアントjar はサーバ上の以下のディレクトリに生成されます。${basename}は各ear ファイル、jar ファイル名から拡張子を除いた文字列です。
・ ear ファイルの形で配備した場合
${INSTALL_ROOT}/domains/{ドメイン名}/applications/j2ee-apps/${basename}/${basename}Client.jar
・ ejb-jar ファイルの形で配備した場合
${INSTALL_ROOT}/domains/{ドメイン名}/applications/${basename}/${basename}Client.jar

4.2.2.2. 環境変数の設定

Linux の場合、以下の環境変数の設定が必要となります。
表4.2.2.2-1
環境変数名
設定値
LD_LIBRARY_PATH /usr/lib
LD_LIBRARY_PATH /usr/lib

4.2.2.3. Java システムプロパティ設定

Java システムプロパティの設定は不要です。

4.2.2.4. WebOTXが提供するサービスのアクセス

クライアントは、WebOTX が提供する以下のサービスを使用します。
JNDI アクセス
JNDIサーバにアクセスするためには、アクセス先のネーミングプロバイダURLを 指定しなければなりません。例えば、クライアントはEnterprise Bean のホーム・リファレンスを 得るためにJNDI ルックアップを呼び出します。クライアント・プログラムは、JNDI に関連する クラスをインスタンス化する前に次のプロパティを設定することで、アクセス先を決定できます。
表4.2.2.4-1
プロパティ名
設定値
java.naming.provider.url
rmiiiop://<ホスト名>:<組み込みIIOPリスナポート番号>
セキュリティ制御
クライアントはサーバ側のEnterprise Bean に接続するために、Java ポリシー・ファイルを指定する必要があります。アプリケーション クライアント コンテナをインストールすると、以下の場所にEnterpriseBean を呼び出すために最低限必要なアクセス権を定義したポリシー・ファイルがインストールされます。
このポリシー・ファイルをクライアント実行時にプロパティとして指定していれば、EnterpriseBean を呼び出すために必要なアクセス権が許可されます。 プロパティ指定せずに明示的にポリシーファイルを与える場合は、以下のシステムプロパティで指定します。
表4.2.2.4-2
プロパティ名
設定値
java.security.policy
Javaポリシー・ファイルのパス
ポリシー・ファイル内には、動作に必要なJAR ファイルへのアクセスを許可する定義がされます。この定義を有効にするために、次のプロパティ指定が必要となります。
表4.2.2.4-3
プロパティ名
設定値
com.nec.webotx.installRoot
WebOTX をインストールしたディレクトリ
クライアント・アプリケーションを起動する際に、これらの設定をJava 起動時の-D オプションで指定してください。

4.2.2.5. EJBインスタントへのリファレンスの取得

EJB2.1までは、EJBを利用する際、JNDI APIを経由して、JNDIサーバから該当EJB のホーム・インタフェースのリファレンスをルックアップします。
EJB3.0から、簡単に@EJB アノテーションを利用して、EJBインスタントへのリファレンスを取得できます。
例えば、以下のようなステートレスセッションBeanと該当Beanのリモートビジネスインターフェースが定義されます。
(1). ステートレスセッションBeanの名前は「TestStatelessSesstionBean」です。
(2). 該当ステートレスセッションBeanのリモートビジネスインターフェースは「TestStatelessRemote」です。
(3). リモートビジネスインターフェースにpublic String testString(String param)というメソッドが定義されます。
(4). ステートレスセッションBeanに該当ビジネスメソッドを実装しています。
該当ステートレスセッションBeanのビジネスメソッドを呼び出す方法は、以下のとおりです。
import javax.ejb.EJB;
. . . .
// ビジネスインターフェースの声明
@EJB
private static TestStatelessRemote remoteBizInterface;
. . . .
// ビジネスメソッドの呼び出し
String resultFromBean =remoteBizInterface.testString(“testparameter”);
. . . .



4.2.2.6. クライアントによるトランザクション管理

クライアントでトランザクション管理を行うには、UserTransaction インタフェースを使用します。
EJB2.1まで、UserTransactionインタフェースは、ホーム オブジェクトリファレンス と同様に、 JNDIサーバから取得しなければなりません。
EJB3.0から、リソースの依存性注入によって、トランザクション管理ができようになります。
以下にコード例を示します。
import javax.annotation.Resource;
. . . .
// トランザクションの依存性注入
@Resource
UserTransaction ut;
. . . .
// トランザクションの開始
ut.begin();
. . . .
// トランザクションのコミット
ut.commit();


4.2.2.7. SSL通信の設定

配備記述子でBean がSSL通信を必要とするように設定される場合、そのBean のクライアント実行時には、以下のObject Broker のシステムプロパティの設定が必要です。
表4.2.2.7-1
プロパティ名
設定値
jp.co.nec.orb.UseCSI
true(既定値false)
jp.co.nec.orb.SSLProvider
“SSL-J”もしくは”JSSE”
jp.co.nec.orb.ClientCartKey
クライアント証明書のファイル名(フルパス)
jp.co.nec.orb.ClientCartKeyPassPhrase
クライアント証明書ファイルのパスワード
jp.co.nec.orb.ClientCertAlias
クライアント証明書の鍵の別名(JKS のみ)
jp.co.nec.orb.ClientCertAliasPassPhrase
クライアント証明書の鍵の別名のパスワード(JKSのみ)
jp.co.nec.orb.ClientCertKeyType
クライアント証明書の鍵タイプDSA,RSA など
jp.co.nec.orb.ClientCertKeyFileType
クライアント証明書のファイル形式PKCS12 もしくはJKS
jp.co.nec.orb.TrustedCACers
信頼するCA 証明書のファイル名(フルパスで指定)
jp.co.nec.orb.TrustedCACertsPassPhrase
信頼するCA 証明書ファイルのパスワード(JKS のみ)
jp.co.nec.orb.TrustedCACertsFileType
信頼するCA 証明書のファイル形式DERもしくはJKS(PEM の場合もDER と指定する)

4.2.3. アプリケーションクライアントのデプロイ

作成したアプリケーションクライアントの配備について説明します。
アプリケーションクライアントのアーカイブ
完成したアプリケーションクライアントをアーカイブし、統合運用管理ツールや運用管理コマンド(otxadmin)を使用してデプロイできるようにします。
プロジェクト・エクスプローラで、アーカイブするアプリケーションクライアントプロジェクトを選択します。
右クリックメニュー エクスポート > アプリケーション・クライアント JARファイルを選択し、エクスポートダイアログを起動します。
宛先を入力し、完了をクリックします。

4.2.3.1. 統合運用管理ツールを利用したデプロイ

アプリケーションクライアントの配備には「統合運用管理ツール」を使用することができます。
統合運用管理ツールはWebOTX Developerのパースペクティブとして組み込まれています。
統合運用管理ツールの使用方法については、 「統合運用管理ツール(WebOTX Administrator) 」を参照してください。

4.2.3.2. 「サーバで実行」機能を利用したデプロイ

アプリケーションクライアントは本機能の対象外です。

4.2.3.3. 運用管理コマンド(otxadmin)を利用したデプロイ

アプリケーションクライアントの配備には「運用管理コマンド(otxadmin)」を使用することができます。
運用管理コマンド(otxadmin)の使用方法については、「リファレンス集 運用管理・設定編」- 「運用管理コマンドリファレンス」を参照してください。