WebSphere Application Server の Web Services Addressing (WS-Addressing) サポートを使用することにより、ファイアウォールおよび中間ノードに分散できるエンドポイント参照を作成できます。
WS-Addressing サポートを使用するエンドポイント参照を作成するには、WS-Addressing API の com.ibm.websphere.wsaddressing.EndpointReferenceManager クラスを使用して、その参照が生成されるノード上のエンドポイント表すエンドポイント参照を自動的に生成します。 これらのエンドポイント参照には、エンドポイント用に構成された URL と、エンドポイントが存在するサーバーの有効なプロキシー構成に基づいた、適切なアドレス情報が含まれています。 クライアントからエンドポイント参照がターゲットとなったメッセージは、以下のトポロジー・シナリオで説明されているように、適切な中間ノード (複数可) を通じてエンドポイントに送付されます。
WS-Addressing プログラミング・モデルを使用して、例えばメモリー内の状態を維持するために、エンドポイント参照がワークロードで管理されないサービスを表すよう作成することもできます。ステートフル・セッション Bean を使用するサービスは、特定のサーバー・インスタンスへのルーティング・アフィニティーに基づくサービスの一例です。
そのようなサービスへのエンドポイント参照を作成するには、
EndpointReferenceManager.createEndpointReference(QName serviceName, String
endpointName, java.rmi.Remote statefulSessionBean) メソッドを使用します。
以下のトポロジー・シナリオで説明されているように、ステートフル・セッション Bean の高可用性を使用可能にし、このメソッドを使用してエンドポイント参照を作成する場合、
要求がバージョン 6.1 以降の WebSphere Application Server クライアントから発生するか、または同一の管理セルの Proxy Server for IBM WebSphere Application Server によって送付されるのであれば、たとえステートフル・セッション Bean
がフェイルオーバーしてもエンドポイント参照は依然として有効です。
IBM WebSphere Application Server トポロジー用のプロキシー・サーバーを持つ HTTP サーバーは、HTTP サーバー自身に、WS-Addressing エンドポイントへのアフィニティー・ルーティングのための総合的な機能がない場合に、便利です。
特定のサーバーにローカライズされるステートフル情報にアクセスしないサービスを参照するエンドポイント参照の場合は、以下のすべてのトポロジー・シナリオが適合します。
このトポロジーはクラスター構成以外の構成に使用してください。
エンドポイント参照が、ワークロード管理クラスターにデプロイされており、オプションで特定のサーバーにローカライズされているステートフル情報にアクセスし、さらにオプションで HA 構成でフェイルオーバーできるサービスを参照する場合は、このトポロジーを使用してください。
エンドポイント参照によりアドレス指定されるプロキシーが、バージョン 6.1 以降の IBM WebSphere
Application Server のプロキシー・サーバーであり、エンドポイントと同じ管理セルに存在する場合は、ワークロード管理されるエンドポイント参照へのメッセージが、クラスターに基づいてワークロード管理されます。
同様に、ステートフル・セッション Bean が別のサーバーにフェイルオーバーした場合、ステートフル・セッション Bean を表すエンドポイント参照をターゲットとした要求は、サーバーおよびそのステートフル・セッション Bean のインスタンスへのアフィニティーを保持し、HA ステートフル・セッション Bean を表すエンドポイント参照は有効なまま残ります。
エンドポイント参照によりアドレス指定されるプロキシーが、バージョン 6.1 以降の IBM WebSphere
Application Server のプロキシー・サーバーであり、エンドポイントと同じ管理セルに存在する場合は、ワークロード管理されるエンドポイント参照へのメッセージが、クラスターに基づいてワークロード管理されます。
エンドポイント参照が、ワークロード管理クラスターでデプロイされ、特定のサーバーにローカライズされるステートフル情報にアクセスしないサービスを参照する場合は、このトポロジーを使用してください。
このトポロジーでは、ステートフル・セッション Bean を表すエンドポイント参照をデプロイしないでください。これは、HTTP サーバーがそのステートフル・セッション Bean へのアフィニティーを保持せず、使用可能なサーバーに要求を分散してしまうからです。
ステートフル・セッション Bean のアフィニティーおよび高可用性を保持するには、以下のトポロジーで説明するように、HTTP サーバーに加えて Proxy Server for IBM WebSphere Application Server を使用します。
ワークロード管理クラスターでデプロイされ、オプションで特定のサーバーにローカライズされるステートフル情報にアクセスし、さらにオプションで HA 構成でフェイルオーバーできるサービスを、エンドポイント参照が参照する場合は、このトポロジーを使用してください。 このトポロジーは、IBM WebSphere Application Server 用プロキシー・サーバーのトポロジーに似ていますが、外部のリバース・プロキシーとしての HTTP サーバーの使用をサポートしています。
このトポロジーでは、WS-Addressing API は ターゲット Web サービス・モジュールのために構成された HTTP サーバーの URL 接頭部に基づいて、適切なエンドポイント参照を自動的に生成します。 ユーザーは HTTP のエンドポイント URL 情報を指定する必要があります。つまり、それぞれのアプリケーションの各デプロイメントに HTTP URL 接頭部を構成する必要があります。
エンドポイント参照によりアドレス指定されるプロキシーが、バージョン 6.1 以降の IBM WebSphere
Application Server のプロキシー・サーバーであり、エンドポイントと同じ管理セルに存在する場合は、ワークロード管理されるエンドポイント参照へのメッセージが、クラスターに基づいてワークロード管理されます。
同様に、ステートフル・セッション Bean が別のサーバーにフェイルオーバーした場合、ステートフル・セッション Bean を表すエンドポイント参照をターゲットとした要求は、サーバーおよびそのステートフル・セッション Bean のインスタンスへのアフィニティーを保持し、HA ステートフル・セッション Bean を表すエンドポイント参照は有効なまま残ります。
エンドポイント参照によりアドレス指定されるプロキシーが、バージョン 6.1 以降の IBM WebSphere
Application Server のプロキシー・サーバーであり、エンドポイントと同じ管理セルに存在する場合は、ワークロード管理されるエンドポイント参照へのメッセージが、クラスターに基づいてワークロード管理されます。