コネクター処理

コネクターには、イベント処理を行うプロトコル・リスナー・フレームワークと要求処理を行うプロトコル・ハンドラー・フレームワークがあります。コネクター・フレームワークでは、この双方向の機能を利用して以下のことが可能になります。

イベント処理の概要

コネクター・イベント処理 (またはイベント通知) は、HTTP クライアントからの要求を処理するために使用します。このイベント処理機能は、以下のコンポーネントを含む、プロトコル・リスナー・フレームワークを採用しています。これらのコンポーネントについては、この章の後半でさらに詳しく説明します。

コネクターは、これらのコンポーネントを使用して、トランスポートで クライアントからコラボレーションへの呼び出しを listen します。

クライアントからの要求が到着すると、リスナーは、要求メッセージをビジネス・オブジェクトに変換し、コラボレーションを呼び出します。これが同期要求である場合、コネクターは同一タイプの応答ビジネス・オブジェクトを、要求ビジネス・オブジェクトとして受信します。リスナーは、応答ビジネス・オブジェクトを応答メッセージに変換します。リスナーは、次に応答メッセージをクライアントにトランスポートします。イベントの順序付けは、このコネクターの要件ではないので注意してください。つまり、コネクターはイベントをどのような順序でも配信できます。

HTTP コネクターは、構成されたデータ・ハンドラーを使用して、着信した要求メッセージをビジネス・オブジェクトに変換します。着信した要求メッセージをどのビジネス・オブジェクトで解決すべきか、データ・ハンドラーが判別できるように、コネクターは、サポートされているビジネス・オブジェクトに関するメタ情報をデータ・ハンドラーに提供します。コネクターはまず最初に、サポートされているビジネス・オブジェクトの中から変換の候補となるすべてのビジネス・オブジェクトのリストを作成します。 このリストは、サポートされている TLO のみで構成されます。 サポートされている TLO ビジネス・オブジェクトは、オブジェクト・レベル ASI が ws_eventtlo=true のビジネス・オブジェクトです。

プロトコル・リスナーは、以下のようにして TLO のオブジェクト・レベル ASI を読み取ります。

コネクターはデータ・ハンドラーから戻された要求ビジネス・オブジェクトを検査します。 コネクターは、このビジネス・オブジェクトの ws_tloname ASI を使用して、親 TLO の名前を抽出します。この TLO はインスタンス化され、要求ビジネス・オブジェクトが TLO に設定されます。最後に、構成されたこの TLO がコラボレーションの 呼び出しに使用されます。

コラボレーションを同期実行する場合、コネクターはデータ・ハンドラーを使用して、クライアントに戻す応答または障害メッセージを作成します。 この場合、コネクターは、単に、ビジネス・オブジェクト (TLO の子) をデータ・ハンドラー に渡します。データ・ハンドラーは、渡されたビジネス・オブジェクトに基づいてメッセージを戻します。

要求処理の概要

コネクターは、コラボレーションのために、HTTP(S) を介して HTTP サービスを呼び出すことができます。この要求処理機能は、プロトコル・ハンドラー・フレームワークによってサポートされています。 プロトコル・ハンドラー・フレームワークは、HTTP-HTTPS プロトコル・ハンドラーで構成される 構成可能ランタイム・モジュールです。後から、この章でこれについて詳しく説明します。

プロトコル・ハンドラー・フレームワークは、コラボレーションの要求ビジネス・オブジェクト (常に TLO に設定されている) を受信すると、プロトコル・ハンドラーをロードします。プロトコル・ハンドラーは、HTTP サービスの呼び出しおよび (オプションで) 応答の保護に必要なトランスポート・レベルの詳細を管理し、コラボレーション要求ビジネス・オブジェクトの要求メッセージへの変換、要求メッセージによるエンドポイント Web サービスの呼び出し、および応答メッセージのビジネス・オブジェクトへの変換ならびにそのオブジェクトのコラボレーションへのリターン (要求/応答 (同期) モードの場合)、という 3 つのメインタスクを実行します。

HTTP コネクターは常に TLO を使用してコラボレーションから呼び出されます。コネクターは、TLO から要求ビジネス・オブジェクトを判別して、このビジネス・オブジェクトによりデータ・ハンドラーを呼び出します。データ・ハンドラーは、コネクターにより送信された要求メッセージを HTTP サービスに戻します。

同期実行する場合、コネクターはデータ・ハンドラーを使用して、応答および障害メッセージをそれぞれ応答ビジネス・オブジェクトおよび障害ビジネス・オブジェクトに変換します。データ・ハンドラーが、これらの応答/障害をビジネス・オブジェクトに変換する際に、どのビジネス・オブジェクトにより解決すべきかを判別できるようにするために、コネクターは、特定のメタ情報をデータ・ハンドラーに提供します。具体的には、コネクターは、呼び出し側の TLO の子であるすべての応答および障害ビジネス・オブジェクトのリストを作成します。応答ビジネス・オブジェクトは 1 つだけ存在している必要があり、オプションで多数の障害ビジネス・オブジェクトが存在します。デフォルトの障害ビジネス・オブジェクトが 1 つだけ存在している場合もあります。デフォルトの障害ビジネス・オブジェクトの場合、コネクターは、データ・ハンドラーにデフォルトの障害ビジネス・オブジェクトの名前を通知するだけです。この変換で解決する障害ビジネス・オブジェクトが他にない場合、最後の手段として、データ・ハンドラーによってデフォルトの障害ビジネス・オブジェクトを解決する必要があります。

Copyright IBM Corp. 2004, 2005