アダプターのホスト モデル
一般に、BizTalk アダプターは BizTalk サービスでホスト Btsntsvc.exe。 つまり、BizTalk Serverはアダプターの有効期間を管理します。 状況によっては、次に説明するように、他のプロセスがこのアダプターを管理する場合もあります。
インプロセス アダプター
BizTalk Serverによって管理されるアダプターは、インプロセス アダプターと呼ばれます。 BizTalk Serverでは、これらのアダプターに対して次の処理が行われます。
BizTalk Serverの起動時にアダプターをインスタンス化する
初期化時にアダプターのトランスポート プロキシをアダプターに渡します。
アダプターの要求を処理します。
BizTalk Server サービスのシャットダウン時にアダプターを終了します
BizTalk Serverは、実行時にハンドラー構成とエンドポイント構成情報をアダプターに配信します。 アダプターが要求をアクティブに処理できる特定の期間を定義するサービス時間帯などの、構成のその他の要素が指定されます。
BizTalk サービスは、BizTalk Server管理コンソールまたはサービス コントロール マネージャーを使用して、手動でシャットダウンできます。 BizTalk Server データベースへの接続が失われた場合、サービス自体は自動的にリサイクルされます。
一般的なホスト モデルでは、受信側アダプターと送信側アダプターが、メッセージング エンジンおよびオーケストレーション エンジンと共に、BizTalk サービスと同じプロセスでホストされます。 このホスト モデルでは、受信、送信、オーケストレーションの各ホストを柔軟に分離したり組み合わせたりすることができます。 次の図では、ホストが 3 つすべてを同じプロセスで実行しています。
多様なホスト モデルのため、アダプターを開発する際には、送信アダプターと受信アダプターを同じホストで構成できないことに留意する必要があります。 これらのアダプターは、別々のコンピューターで稼働するように構成される場合もあります。
インプロセス アダプターのホスト モデル
分離アダプター
シナリオによっては、BizTalk サービスで受信アダプターをホストできない場合があります。 たとえば、インターネット インフォメーション サービス (IIS) のプロセス モデルでは、ASP.NET アプリケーションと ISAPI 拡張の有効期間が IIS で管理されるようになっています。 BizTalk SOAP アダプターは IIS と同じプロセス空間内で実行する必要があるため、BizTalk Serverが SOAP アダプターのインスタンスの有効期間を制御できなくなります。
これらのアダプターには、分離受信アダプター、または単に分離アダプターと呼ばれる別のホスト モデルが用意されています。 分離送信アダプターという概念は存在しません。
BizTalk Server分離アダプターを作成できないため、アダプターは独自のトランスポート プロキシを取得し、そのトランスポート プロキシに自身を登録する必要があります。
次の図は、BizTalk Server ホスティング アーキテクチャを示しています。 パフォーマンスを確保するために、分離ホスト アーキテクチャでは不要なプロセス間通信が削除されます。 分離アダプターと BizTalk メッセージング エンジン スタックは同じプロセスにあるため、アダプターでメッセージング エンジンが呼び出されているときはプロセス間通信は発生しません。 このシナリオでは、唯一のプロセス間通信は、メッセージング エンジンとデータベースの間で行われます。これは回避できません。
分離アダプターのホスト モデル