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

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管理コンソールに詳細なメッセージが出力されます。“トラブルシューティング集”の“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メソッドから再実行し、処理が分散されるようにプログラミングしてください。