送信および受信 ASPX ページ
Microsoft BizTalk Accelerator for RosettaNet (BTARN) ASPX ページは、BTARN とインターネット間の直接インターフェイスです。 受信ページ (RNIFReceive.aspx) と送信ページ (RNIFSend.aspx) の 2 つの ASPX ページで構成されています。 各 ASPX ページは、対応する BTARN パイプラインの拡張機能です。 パイプラインは ASPX ページに対して、RNIF (RosettaNet Implementation Framework) ヘッダーの処理を要求します。 ほとんどの HTTP 処理はパイプラインが実行しますが、RNIF ヘッダーの HTTP 処理は各 ASPX ページが実行します。 ページは、BizTalk Server HTTP アダプターの機能を拡張します。
各 ASPX ページは、ユーザー インターフェイスのない ASP.NET Web アプリケーションです。 ASP.NET Web セキュリティを使用して、外部関係者との安全な接続を確保します。 フォールト トレランス、スケーラビリティ、可用性の高いサービスを実装できるレイヤを備えています。
BTARN セットアップでは、BTARN の各展開に RNIFSend.aspx ページと RNIFReceive.aspx ページがインストールされます。 発信側またはレスポンダーが取引先とメッセージを交換すると、BTARN は ASPX ページを使用して、パートナー URL との間でメッセージを送信または受信します。 イニシエーターとレスポンダーの両方が BTARN を使用する場合、イニシエーター上の 2 つの ASPX ページは、レスポンダー上の 2 つの ASPX ページとメッセージを交換します。 詳細については、下の「開始側と応答側の ASPX ページの相互作用」を参照してください。
送信 ASPX ページ
RNIFSend.aspx ページは、BizTalk HTTP アダプターからメッセージを受信します。 RNIF ヘッダーを作成してメッセージに追加し、インターネット経由でパートナーにメッセージを送信します。 HTTP アダプターは、次のコマンドを使用して RNIFSend.aspx を呼び出します。
http://localhost:<port number>/RNIFSend.aspx?<query string>
クエリ文字列には、以下に示すように、送信ページがメッセージをパートナーに送信するために必要なデータ、およびパートナーがメッセージを処理するために必要なデータが含まれます。
取引先 URL: http://www.<address.com>/RNIFReceive.aspx
応答タイプ : 同期または非同期
RNIF バージョン : 1.1 または 2.0
BizTalk HTTP アダプターは、BTARN 送信パイプラインによって生成された MIME メッセージをイニシエーター RNIFSend.aspx ページに送信します。 RNIFSend.aspx では、次のようにメッセージが処理されます。
送信ページがメッセージを検証します。
コンテンツ タイプ、長さ、ID、MIME バージョンに基づいて、送信ページが MIME (Multipurpose Internet Mail Extensions) ヘッダーを作成します。 さらに、MIME ヘッダー、および MIME の上位と下位の境界をメッセージに追加します。
RNIF 2.01 では、送信ページは次のように HTTP ヘッダーのプロパティを設定します。
X-RN-Version プロパティを、プロセス構成設定のバージョン プロパティに入力されているバージョンに設定します。
X-RN-ResponseType プロパティを、プロセス構成設定の IsSynchronous プロパティの設定に基づいて sync または async のいずれかに設定します。
Content-Length プロパティを、メッセージ全体のサイズに設定します。
送信ページは HTTP Post を使用して、取引先アグリーメント内のアクション URL またはシグナル URL の設定に基づいて、パートナーの送信先 URL にメッセージを送信します。
送信ページは、HTTP 応答を待ちます。 送信ページは応答を受信すると、HTTP アダプターにルーティングします。
接続が非同期の場合、送信ページは接続を閉じて処理を終わらせます。
接続が同期の場合、送信ページは返信メッセージ用に接続を開いたままにしておきます。 送信ページはメッセージを受け取ると、RNIFReceive.aspx ページが受信メッセージに対して実行する処理と同じ処理を実行して、受信メッセージを HTTP アダプターに送信してから接続を閉じます。
受信 ASPX ページ
RNIFReceive.aspx ページは、インターネット経由でパートナーから HTTP メッセージを受信します。 RNIF ヘッダーの処理、検証、削除を行った後で、メッセージを HTTP アダプターに送信します。 受信ページが受け取るメッセージは、RNIF HTTP トランスポートに準拠している必要があります。 受信ページでは、次のようにメッセージが処理されます。
応答側の RNIFReceive.aspx ページが開始側からメッセージを受信します。 メッセージには、MIME ヘッダーと上位および下位の境界が含まれます。
受信ページが MIME ヘッダーを検証します。
受信ページが MIME ヘッダーと境界をメッセージから削除します。
受信ページが HTTP の受信場所を使用して、HTTP アダプターにメッセージを送信します。 受信ページが HTTP 応答を受信し、開始側の送信ページに HTTP 応答を返します。
接続が非同期の場合、受信ページは接続を閉じます。
接続が同期の場合、受信ページは接続を開いたまま返信メッセージを待ちます。
HTTP アダプターから返信メッセージを受け取ると、受信ページが RNIFSend.aspx ページと同じ処理を実行して、返信メッセージを開始側の送信ページに送信します。 HTTP 応答を受信した後で接続を閉じます。
開始側と応答側の ASPX ページの相互作用
イニシエーターとレスポンダーの両方が BTARN を使用する場合、イニシエーターとレスポンダーの 4 つの ASPX ページは、接続が非同期か同期か、およびメッセージが単一アクションかダブルアクションかに応じて異なります。 以下に、それぞれの場合の動作について説明します。
非同期のダブル アクション
このシナリオでは、手順ごとに異なる HTTP 接続 (つまり合計で 4 つの HTTP 接続) を使用します。
開始側の送信ページがアクション要求メッセージを応答側の受信ページに送信します。
Note
システムの負荷によっては、手順 2. と 3. の順序が入れ替わる場合があります。
応答側の送信ページが要求シグナル メッセージを開始側の受信ページに送信します。
応答側の送信ページがアクション応答メッセージを開始側の受信ページに送信します。
開始側の送信ページが応答シグナル メッセージを応答側の受信ページに送信します。
非同期のシングル アクション
このシナリオでは、手順ごとに異なる HTTP 接続 (つまり合計で 2 つの HTTP 接続) を使用します。 このシナリオは、非同期のダブル アクションのシナリオの手順 1. と 2. から構成されています。
開始側の送信ページがアクション要求メッセージを応答側の受信ページに送信します。
応答側の送信ページが要求シグナル メッセージを開始側の受信ページに送信します。
同期のダブル アクション
このシナリオでは、1 つの HTTP 接続を使用します。
開始側の送信ページがアクション要求メッセージを応答側の受信ページに送信します。
応答側の受信ページは手順 1. と同じ接続を使用して、アクション応答メッセージ (問題がある場合は例外) を開始側の送信ページに送信します。
同期のシングル アクション
このシナリオでは、1 つの HTTP 接続を使用します。
開始側の送信ページがアクション要求メッセージを応答側の受信ページに送信します。
応答側の受信ページは同じ接続を使用して、要求シグナル メッセージ (問題がある場合は例外) を開始側の送信ページに送信します。