Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

6.8.2 制御方法ごとにWebアプリケーションを分けない場合

ここでは,グローバルセッションの制御方法ごとにWebアプリケーションを分けない場合のシステム構成として,次の2種類の構成について説明します。

<この項の構成>
(1) リクエストの受信ポートをWebクライアントがHTTP Cookieを使用できるかどうかによって分ける場合
(2) リクエストの受信ポートをWebクライアントがHTTP Cookieを使用できるかどうかによって分けない場合

(1) リクエストの受信ポートをWebクライアントがHTTP Cookieを使用できるかどうかによって分ける場合

グローバルセッションの制御方法に関係なく同一のWebアプリケーションを使用する場合に,リクエストがWebクライアントのHTTP Cookieサポート有無によって分かれているときの,システムの構成例を次に示します。

図6-21 リクエストの受信ポートをWebクライアントがHTTP Cookieを使用できるかどうかによって分ける場合(制御方法をWebアプリケーションごとに分けないとき)

[図データ]

それぞれのJ2EEサーバに配置されたWebアプリケーションは,HTTP Cookieによるセッション制御,およびURL書き換えによるセッション制御の両方に対応しています。ただし,グローバルセッションの制御方法ごとにリクエストの受信ポートを分けているため,実際にはWebアプリケーションごとにWebクライアントの種類が決まります。このため,それぞれのWebアプリケーションには,リクエストを送信するWebクライアントがHTTP Cookieを使用できるかどうかに応じて,グローバルセッションの制御方法を設定します。

図6-21の場合は,J2EEサーバ1およびJ2EEサーバ2がHTTP Cookieを使用できないWebクライアントからのリクエストを受け付けます。また,J2EEサーバ3とJ2EEサーバ4がHTTP Cookieを使用できるWebクライアントからのリクエストを受け付けます。

ポイント
冗長化した同じWebアプリケーションに対して,異なるグローバルセッションの制御方法を設定した場合,同一のSFOサーバ上でのネゴシエーションは失敗します。このため,この例では,SFOサーバを,グローバルセッションの制御方法ごとに二つのプロセスとしています。
どのSFOサーバを使用するかは,それぞれのJ2EEサーバで設定します。接続先のSFOサーバの設定方法については,「6.14 J2EEサーバの設定」を参照してください。

また,同じWebアプリケーションに対して異なるグローバルセッションの制御方法を混在させて管理する場合に,SFOサーバを1プロセスだけで運用したいときには,制御方法ごとに,J2EEアプリケーションの名称を変更する方法があります。メモリセッションフェイルオーバ機能では,J2EEアプリケーションのアプリケーションが一致するかどうかによって,Webアプリケーションを同じアプリケーションであると判断します。このため,J2EEアプリケーションの名称を変更することで,異なるWebアプリケーションだと判断され,ネゴシエーションが失敗しなくなります。

異なるグローバルセッションの制御方法を混在させて管理する場合に,SFOサーバを1プロセスだけで運用する場合のシステム構成例を次の図に示します。

図6-22 異なるグローバルセッションの制御方法を混在させて管理する場合に,SFOサーバを1プロセスだけで運用する場合のシステム構成例

[図データ]

この例では,グローバルセッションの制御方法ごとに,J2EEアプリケーションの名称を変更しています。

(2) リクエストの受信ポートをWebクライアントがHTTP Cookieを使用できるかどうかによって分けない場合

グローバルセッションの制御方法に関係なく同一のWebアプリケーションを使用する場合に,リクエストがWebクライアントのHTTP Cookieサポート有無によって分かれていないときの,システムの構成例を次に示します。

図6-23 リクエストの受信ポートをWebクライアントがHTTP Cookieを使用できるかどうかによって分けない場合(制御方法をWebアプリケーションごとに分けないとき)

[図データ]

この例の場合は,リクエストの受信ポートがグローバルセッションの制御方法によって分かれていないため,それぞれのWebアプリケーションには,HTTP Cookieを使用したリクエストとURL書き換えを利用したリクエストの両方が送信されます。これに対応するため,それぞれのWebアプリケーションでは,セッションの制御方法として「both」を設定します。

なお,グローバルセッションの制御方法に関係なく,J2EEサーバ1およびJ2EEサーバ2で作成したすべてのグローバルセッション情報は,SFOサーバ1(SFOServer01)で冗長化して管理します。