E 同期リクエスト/リプライのサポート

この付録では、Oracle JDeveloperとOracle B2Bを構成してOracle B2Bで同期リクエスト/リプライのサポートを有効化する方法について説明します。

この付録の内容は次のとおりです。

E.1 概要

Oracle B2Bでは、ファブリックからOracle B2Bへの同期リクエスト/リプライがサポートされています。ただし、初回リリースでサポートされているのは、HTTPトランスポートのみです。

図E-1に、エンドツーエンドのシナリオを示します。

図E-1 同期リクエスト/リプライ

図E-1の説明が続きます
「図E-1 同期リクエスト/リプライ」の説明

E.2 送信者の構成

送信者を構成するには、次のタスクを実行する必要があります。

E.2.1 Oracle JDeveloperの構成

Oracle JDeveloperでB2B構成ウィザードを使用して、同期リクエスト/リプライをサポートするための送信者を構成する必要があります。

  • 図E-2に示すように、B2B構成ウィザードの「操作」ページで、「同期リクエスト/リプライ」オプションを選択し、「アウトバウンド」を選択します。

    図E-2 B2B構成ウィザード: 「操作」ページ

    図E-2の説明が続きます
    「図E-2 B2B構成ウィザード: 「操作」ページ」の説明
  • B2B構成ウィザードの「ドキュメント定義」ページで、「リクエスト」と「リプライ」の両方の定義を指定します。

    ルーティングIDの選択は、リクエスト・ドキュメントにのみ表示されます。図E-3に示すように、レスポンスは同じリクエスト・コールでファブリックに返されるので、レスポンスのルーティングにルーティングIDは必要ありません。

    図E-3 B2B構成ウィザード: 「ドキュメント定義」ページ

    図E-3の説明が続きます
    「図E-3 B2B構成ウィザード: 「ドキュメント定義」ページ」の説明

E.2.2 Oracle B2Bの構成

Oracle B2Bコンソールで、次を実行する必要があります。

  • Oracle B2Bアグリーメントの設定: アグリーメントを2つ定義する必要があります。図E-4に示すように、一方のアグリーメントはリクエスト送信用、もう一方のアグリーメントはレスポンス受信用にそれぞれ必要です。ここで設定する必要があるOracle B2Bのプロパティはありません。ファブリックからOracle B2Bへのコールに基づいて、メッセージ・タイプは「同期リクエスト」に決定します。

    図E-4 Oracle B2Bのアグリーメントの設定

    図E-4の説明が続きます
    「図E-4 Oracle B2Bのアグリーメントの設定」の説明
  • 取引パートナ・チャネルの作成: 図E-5に示すように、リモート取引パートナ・チャネルを作成し、http://server:port/b2b/syncreceiverを指すように設定する必要があります。これは、2つのOracle B2B製品間で通信が行われる場合に必要です。通信が2つの異なるB2B製品間で行われる場合、URLが変わることに注意してください。

    図E-5 取引パートナ・チャネルの作成

    図E-5の説明が続きます
    「図E-5 取引パートナ・チャネルの作成」の説明

E.3 受信者の構成

受信者を構成するには、次のタスクを実行する必要があります。

E.3.1 Oracle JDeveloperの構成

Oracle JDeveloperでB2B構成ウィザードを使用して、同期リクエスト/リプライをサポートするための受信者を構成する必要があります。

  • 図E-6に示すように、B2B構成ウィザードの「操作」ページで、「同期リクエスト/リプライ」オプションを選択し、「インバウンド」を選択します。

    図E-6 B2B構成ウィザード: 「操作」ページ

    図E-6の説明が続きます
    「図E-6 B2B構成ウィザード: 「操作」ページ」の説明
  • B2B構成ウィザードの「ドキュメント定義」ページで、「リクエスト」と「リプライ」の両方の定義を指定します。

    ルーティングIDの選択は、リクエスト・ドキュメントにのみ表示されます。図E-7に示すように、レスポンスは同じリクエスト・コールでファブリックに返されるので、レスポンスのルーティングにルーティングIDは必要ありません。

    図E-7 B2B構成ウィザード: 「ドキュメント定義」ページ

    図E-7の説明が続きます
    「図E-7 B2B構成ウィザード: 「ドキュメント定義」ページ」の説明

E.3.2 Oracle B2Bの構成

Oracle B2Bコンソールで、次を実行する必要があります。

  • Oracle B2Bアグリーメントの設定: アグリーメントを2つ定義する必要があります。図E-8に示すように、一方のアグリーメントはリクエスト受信用、もう一方のアグリーメントはレスポンス送信用にそれぞれ必要です。このためにOracle B2Bプロパティを設定する必要はありませんが、From、To、DocVersion、DocTypeなどのオプションのB2Bヘッダーを構成する必要があります。同期HTTP受信者によって、メッセージ・タイプは「同期リクエスト」に決定します。

    図E-8 Oracle B2Bのアグリーメントの設定

    図E-8の説明が続きます
    「図E-8 Oracle B2Bのアグリーメントの設定」の説明
  • ダミー取引パートナ・チャネルの作成: ダミー・リモート取引パートナ・チャネルを作成する必要がありますが、このチャネルは実行時は使用されません。任意のURL値を指定できますが、図E-9に示すように、http://host:port/xyzの書式で指定する必要があります。

    図E-9 ダミー取引パートナ・チャネルの作成

    図E-9の説明が続きます
    「図E-9 ダミー取引パートナ・チャネルの作成」の説明

E.4 メッセージの再発行

同期リクエストまたは同期レスポンスの再発行は、アプリケーション側から実行する必要があります。Oracle B2Bコンソールで、Oracle B2Bからアプリケーション・メッセージまたはワイヤ・メッセージを再発行できますが、メッセージは非同期モードで再発行されます。

メッセージ処理ロジックが非決定性である場合があります。たとえば、送信者側であるOracle B2Bからアプリケーション・メッセージまたはワイヤ・メッセージが再発行された場合、このメッセージはhttp://server:port/b2b/syncreceiverにポストされます。受信者側のOracle B2Bはこのメッセージを非同期リクエストまたは非同期レスポンスとして処理します。送信者側ではレスポンス・メッセージは無視されます。