英語で読む

次の方法で共有


アダプター変数

すべてのカスタム アダプターで処理する必要のある変数がいくつか存在します。 これらの変数に代入される値は、アダプターに実装されるカスタム ロジックに影響します。 トランスポート固有またはアプリケーション固有の構成プロパティも、ソリューションのサポートに役立ちます。 このような共通の変数を次の表に示します。 それぞれの変数をカスタム アダプターでサポートするかどうかは個々に決定する必要があります。

作成するアダプターには、オプションごとに異なるインターフェイスを実装する必要があります。 次の表の後には、変数オプションの一覧と共に、デザインに関する意思決定をサポートするアダプター コードの記述方法を示す詳細情報へのリンクを記載しています。

アダプター変数 説明
通信の方向 受信。 受信アダプターは、プロトコル固有のアドレスで受信メッセージを待ち受けます。 受信アダプターが受信したメッセージはメッセージング エンジンに渡され、そこから受信パイプラインを経由して、最終的にはメッセージ ボックス データベースに保存されます。

Send。 メッセージング エンジンから特定のエンドポイントにメッセージを送信する必要がある場合、そのメッセージは送信パイプラインに渡されます。 送信アダプターは送信パイプラインからメッセージを受け入れ、送信ポートに送信します。
アダプターのホスト インプロセス。 インプロセス アダプターが作成され、BizTalk サービス プロセス内でホスト BTSNTSvc.exe。 ホストが 64 ビットの場合、プロセスには BTSNTSvc64.exe という名前が付けられます。 説明を簡単にするため、ここではこれ以上 64 ビット プロセスには触れません。

つまり、BizTalk Serverは、アダプターの有効期間を作成および管理し、トランスポート プロキシを使用して初期化し、アダプターの要求を処理し、サービスのシャットダウン時にアダプターを終了します。

インプロセス アダプターの場合、BizTalk Serverは、ハンドラー、送信ポート、受信場所の構成など、実行時にアダプターに構成情報を配信します。 さらに、構成のうちサービス時間帯などの側面はメッセージング エンジンによって処理されるため、受信場所や送信ポートがサービス時間外かどうかをアダプター側で確認する必要はありません。

送信アダプターはすべてインプロセス アダプターであり、BTSNTSvc.exe プロセスで実行する必要があります。

分離。 アダプターは、BizTalk Server ランタイムの一部ではない分離ホストに作成されます。 分離アダプターの例として、HTTP 受信アダプターがあります。このアダプターは、インターネット インフォメーション サービス (IIS) のプロセス領域で実行されます。

IIS のプロセス モデルでは、ASP.NET アプリケーションと ISAPI 拡張の有効期間は IIS で管理されるようになっています。 BizTalk Serverがアダプターの有効期間を管理できない場合、アダプターは分離アダプターと呼ばれます。

BizTalk Serverは分離アダプターのインスタンス化を管理しないため、アダプターは独自のトランスポート プロキシを作成し、そのトランスポート プロキシに登録する必要があります。

BizTalk Server アーキテクチャでは、不要なプロセス間通信が不要であることに注意してください。 分離アダプターと BizTalk スタックは同じプロセスにあるため、アダプターでメッセージング エンジンが呼び出されているときはプロセス間通信は発生しません。 唯一のプロセス間通信は、メッセージング エンジンとデータベースの間で行われます。これは回避できません。

COM+ アプリケーションでは、非マネージ コードで記述された送信アダプターはホストできません。
メッセージ交換パターン 一方向。 メッセージは受信または送信のいずれかになります。

Request-Response (双方向)。 要求応答アダプターは常にアダプターを受信します。 要求応答受信アダプターは、クライアントから要求メッセージを受信し、メッセージをBizTalk Serverに送信します。 BizTalk Serverが要求メッセージを処理すると、応答メッセージがアダプターに送信されます。 アダプターはその応答メッセージをクライアントに返します。

Solicit-Response (双方向)。 送信請求応答アダプターは常に送信アダプターです。 送信請求 - 応答送信アダプターは、BizTalk Server からの要求メッセージを相手に送信し、応答メッセージを待機して、その応答メッセージを BizTalk Server に返します。
送信ポートのバインド 動的送信ポートと受信場所。 動的バインドで使用する送信ポートや受信場所の URI 変数は、実行時に決定されます。

静的送信ポートと受信場所。 送信ポートや受信場所の URI 変数は静的であり、実行時前に構成されます。
同期送信アダプターと非同期送信アダプター 同期送信アダプター。 送信操作の実行中、メッセージング エンジンは、メッセージのバッチの送信が完了して制御が戻るまでトランスポート プロキシ スレッドをブロックします。 メッセージの送信、再試行、保留、または次の操作への移行の完了に伴うメッセージの削除は、トランスポート プロキシで処理されます。

非同期送信アダプター。 非同期送信アダプターは、トランスポート プロキシ スレッドをブロックせずに、個別のスレッドを使用して送信操作を実行します。 同期アダプターの場合とは異なり、削除と再試行のロジックはトランスポート プロキシでは処理されないため、すべてアダプター自体に実装する必要があります。

非同期メッセージを送信するアダプターを使用すると、同期メッセージを送信するアダプターよりもBizTalk Serverパフォーマンスが向上します。 これは、スレッドが受信操作や送信操作の完了を待機する時間が長いためです。 メッセージング エンジンは CPU に大きく依存しているため、メッセージング エンジン スレッドがブロックされるとアダプターのパフォーマンスが低下します。

非同期送信を使用することを強くお勧めします。非同期送信の使用はパフォーマンスの向上をもたらします。
非同期受信アダプター すべての受信アダプターは非同期です。 したがって、アダプターが BizTalk メッセージング エンジンに新しいメッセージを送信する際、それらのメッセージが完全に処理されるまで待機することなく制御が戻ります。
トランザクションのサポート トランザクション アダプター。 メッセージのトランザクション送信とトランザクション受信をサポートします。 送信側でトランザクションをサポートするのはバッチ化された非同期送信アダプターのみです。

トランザクション以外のアダプター。 明示的なトランザクションのスコープ内でメッセージの送受信を行わないアダプターです。 アダプターの多くは、トランザクションをサポートしない Windows ファイル システムなどのシステムから送受信を行うため、トランザクション以外のアダプターになります。
バッチ処理に対応した送信アダプターとバッチ処理非対応の送信アダプター バッチ処理に対応したアダプター。 送信アダプターでは、複数の操作をまとめてメッセージをバッチ処理することができます。

どのアダプターも送信可能なメッセージをすべて収集してから一度にメッセージ ボックス データベースに送信できるので、データベースの更新回数が少なくて済みます。 場合によっては、バッチの長さが 1 になることもあります。 同様に、送信アダプターは送信可能なメッセージをすべて収集し、抽出して、それぞれの宛先に一度に送信します。

一般に、BizTalk Serverはバッチをデータベース更新の作業単位として扱います。 アダプターは、一方向、要求 - 応答、および送信請求 - 応答のメッセージの送信、メッセージの保留、メッセージの削除、メッセージの再送信要求、またはバックアップ トランスポートへのメッセージの移動要求を同じバッチ内で行うことができます。 可能な限り、バッチ転送を使用するようにしてください。

送信アダプターと受信アダプターはいずれもバッチ化できますが、トランザクションをサポートするのはバッチ化された非同期送信アダプターのみです。

バッチ処理非対応のアダプター。 メッセージごとに個別にサーバーを呼び出す必要があります。
バッチでサポートされる受信アダプター すべての受信アダプターでバッチ処理がサポートされます。
動的デザイン時アダプター構成と静的デザイン時アダプター構成 動的デザイン時アダプター構成。 アダプターで動的デザイン時構成をサポートするには、アダプター メタデータの追加ウィザードで使用するカスタム ユーザー インターフェイス (UI) を開発する必要があります。 このインターフェイスは、ユーザーが BizTalk プロジェクトに追加するスキーマを選択できるようにするもので、Web Services Description Language (WSDL) ファイルを通じてサービス説明を返します。 スキーマを取得するためのカスタム UI はアダプターによって提供されます。 アダプター メタデータの追加ウィザードでサービスをインポートすると、スキーマに加え、ポートの種類、メッセージの種類、およびオーケストレーションが BizTalk プロジェクトに追加されます。

詳細については、「 静的 Design-Time アダプターの構成」を参照してください。

静的デザイン時アダプター構成。 アダプターで静的デザイン時構成をサポートするには、標準インターフェイスを実装して、BizTalk プロジェクトに追加するスキーマをアダプター メタデータの追加ウィザードで選択できるようにします。 アダプター用の UI は BizTalk アダプター フレームワークによって提供されます。

サンプル ファイル アダプターの変更の詳細については、「 動的 Design-Time アダプターの構成」を参照してください。
トランスポート アダプターとアプリケーション アダプター トランスポート アダプター。 トランスポート アダプターは特定のプロトコルをサポートし、スキーマは使用しません。 12 個のネイティブ アダプターのうち、9 個はトランスポート アダプターです。MSMQ、MQ シリーズ、ファイル、FTP、HTTP、SMTP、POP3、SOAP です。

アプリケーション アダプター。 アプリケーション アダプターは、データ スキーマを使用して、指定されたアプリケーションにデータを送信します。 ネイティブ アダプターのうち、アプリケーション アダプターは Windows SharePoint Services と SQL の 2 つです。

カスタム アダプター コードに実装するインターフェイスについては、次の表のリンクをクリックして、作成するアダプターの種類に応じた情報を参照してください。 場合によっては、あるページに要件として記載されているインターフェイスを、別のページに別の要件として記載されているインターフェイスと組み合わせる必要があります。

変数 詳細情報
アダプターを送信する 送信アダプターのインスタンス化と初期化
Synchronous 同期送信アダプター用のインターフェイス
非同期 非同期送信アダプター用のインターフェイス
バッチ処理に対応した同期送信アダプター バッチ処理に対応した同期送信アダプター用のインターフェイス
バッチ処理に対応した非同期送信アダプター バッチ処理に対応した非同期送信アダプター用のインターフェイス
バッチ処理に対応したトランザクションとしての非同期送信アダプター バッチ処理に対応したトランザクションとしての非同期送信アダプター用のインターフェイス
送信請求 - 応答送信アダプター 送信請求 - 応答送信アダプター用のインターフェイス
アダプターを受信する 受信アダプターのインスタンス化と初期化
通常 インプロセス受信アダプター用のインターフェイス
Isolated 分離受信アダプター用のインターフェイス
バッチ処理に対応した受信アダプター バッチ処理に対応した受信アダプター用のインターフェイス
バッチ処理に対応したトランザクション受信アダプター バッチ処理に対応したトランザクション受信アダプター用のインターフェイス
要求 - 応答の同期受信アダプター 要求 - 応答の同期受信アダプター用のインターフェイス

参照

カスタム アダプターの開発
アダプターの使用
アダプタ サンプル - 開発