ページの先頭行へ戻る
Interstage Application Server V12.2.0 高信頼性システム運用ガイド
FUJITSU Software

3.3.1 J2EEアプリケーション

J2EEアプリケーションの配備と、プログラミング方法について説明します。


3.3.1.1 IJServerワークユニットの作成

EJBアプリケーションでIPCOMと連携する場合に必要な、環境設定について説明します。



アプリケーションサーバの環境設定

アプリケーションサーバのIJServerワークユニットのタイプは「Webアプリケーションのみを運用する」を選択して作成してください。


負荷分散対象サーバの環境設定

負荷分散対象サーバのIJServerワークユニットのタイプは「EJBアプリケーションのみを運用する」を選択し、仮想ホスト名と代表ポートを指定します。


注意

IJServerワークユニットのタイプが「EJBアプリケーションのみを運用する」の場合のみ負荷分散を使用することができます。


IJServerワークユニットを作成したときに、負荷分散ポリシーに設定した仮想IPアドレスに対応する仮想ホスト名と代表ポートを指定すると、作成したIJServerワークユニットに配備されたEJBアプリケーションの設定を自動的にIPCOMと連携可能な状態にセットアップします。
また、IJServerワークユニットの環境設定から仮想ホスト名と代表ポートを指定したあとに更新すると、環境設定の変更ができます。


IJServerワークユニットの作成

Interstage管理コンソールの[ワークユニット]の新規作成画面で、EJBコンテナ設定の以下の項目を設定してください。
EJBコンテナ設定は、isj2eeadminコマンドでも設定できます。詳細は、「リファレンスマニュアル(コマンド編)」を参照してください。

項目

説明

IPCOMのメソッド負荷分散設定

する

「する」を選択して、仮想ホスト名と代表ポートを設定してください。
デフォルトは「しない」です。

仮想ホスト名

IPCOMのサイト負荷分散ポリシーに設定した、仮想IPアドレスに対応する仮想ホスト名を設定してください。

代表ポート

IPCOMのCORBAサービスに設定した代表ポートの値を設定してください。
有効範囲は1~65535です。
IPCOMのメソッド負荷分散設定の「する」を選択して代表ポートを省略した場合は、8002が設定されます。


Interstage管理コンソールについて詳細は、Interstage管理コンソールのヘルプを参照してください。

EJBアプリケーションの配備、IJServerワークユニットの更新が失敗したときには、Interstage管理コンソールに詳細なメッセージが出力されます。「J2EE ユーザーズガイド(旧版互換)」の「EJBサービス使用時の異常」を参照して対処してください。


注意

IJServerワークユニットのEJBアプリケーションに対する負荷分散においては、メソッド呼び出し単位の負荷分散のみ実施できます。


3.3.1.2 アプリケーションの配備

Webアプリケーション、EJBアプリケーションともに留意点はありません。


配備手順

Interstage管理コンソールの[ワークユニット] > [ワークユニットごとの操作] > [IJServer]の[IJServer:配備]の画面で行います。詳細は、Interstage管理コンソールのヘルプを参照してください。


3.3.1.3 プログラミング方法

サーバ側の設計

特に留意点はありません。


クライアント側の設計

負荷分散方式ごとに説明します。


メソッド呼出し単位の負荷分散

EJBアプリケーションでメソッド呼出し単位の負荷分散を使用する場合において、負荷分散されるタイミングと、クライアント側のプログラミングの留意点について説明します。


負荷分散されるタイミング

負荷分散対象サーバは、Homeインタフェースのメソッドが実行されたタイミングで決定されます。HomeインタフェースのメソッドでEJB objectを取得し、EJB objectに対して処理を実行すると、Homeインタフェースのメソッドが割り振られたサーバで処理が実行されます。
Session Beanを呼び出す場合の処理において、createメソッドを実行後、Remoteインタフェースのremoveメソッドを実行するまで、同一のサーバに振り分けることが保証されます。createメソッドからremoveメソッド間に発行されるビジネスメソッドは常に同一のサーバに割り振られます。



プログラミングの留意点

「負荷分散されるタイミング」で説明したように、以下のようにプログラミングされたクライアントアプリケーションでは負荷分散されません。

したがって、新規に処理を実行する場合は、createメソッドから再実行し、処理が分散されるようにプログラミングしてください。