メッセージのライフサイクル
次の図は、メッセージングという観点から捉えた BizTalk Server アーキテクチャの概要を示しています。
する
この簡単な図でいえば、メッセージは特定の受信ポートの定義された受信場所を介して受信されます。 このメッセージは、受信場所によって処理され、BizTalk Server で永続化およびルーティングを行うメインのメカニズムであるメッセージ ボックス データベースに公開されます。 メッセージ ボックスはアクティブなサブスクリプションを評価し、一致するサブスクリプションのあるオーケストレーションおよび送信ポートにメッセージをルーティングします。 メッセージがオーケストレーションによって処理され、メッセージ ボックスを経由して送信ポートにメッセージが公開されて、そこから最終的な送信先に転送される場合もあります。
BizTalk Server メッセージ処理に関連する主要なコンポーネントは次のとおりです。
受信ポートと受信場所
受信ポートは、BizTalk Serverへの特定のエントリ ポイントを定義する 1 つ以上の受信場所のコレクションです。 受信場所は、メッセージを受信する単一のエンドポイント (URL) の構成です。 受信場所には、受信アダプターと受信パイプラインの両方に関する設定情報が含まれています。 アダプターは、メッセージの受信のトランスポートと通信の部分を担当します。 たとえば、ファイル アダプターや SOAP アダプターなどがあり、それぞれさまざまな種類のソースからメッセージを受信します。 受信パイプラインは、メッセージ ボックスにメッセージを公開する準備を行います。 パイプラインは順番に実行される一連のコンポーネントであり、それぞれが暗号化解除/暗号化、解析、検証などの特定の処理をメッセージに提供します。 パイプライン、受信ポート、受信場所の詳細については、「 成果物」を参照してください。
送信ポートと送信ポート グループ
送信ポートは、送信パイプラインと送信アダプターの組み合わせです。 送信ポート グループは送信ポートの集まりであり、電子メール配信リストのように機能します。 送信ポート グループに送信されたメッセージは、そのグループ内のすべての送信ポートに送信されます。 送信パイプラインを使用して、BizTalk Server から受信したメッセージを、他のサービスに送信する準備を行います。 送信アダプターは、SOAP や FTP のような特定のプロトコルを使用して、実際にメッセージを送信します。 送信ポートと送信ポート グループの詳細については、「 成果物」を参照してください。
オーケストレーション
オーケストレーションは、メッセージ ボックスを使用してメッセージをサブスクライブ (受信) および公開 (送信) できます。 また、オーケストレーションは新しいメッセージを構築することもできます。 メッセージは、前述のサブスクリプションおよびルーティング機構を使用して受信されます。 オーケストレーションに対応するサブスクリプションが到着すると、新しいインスタンスがアクティブ化され、メッセージが配信されます。インスタンス サブスクリプションの場合は、必要に応じてインスタンスが復元されてメッセージが配信されます。 オーケストレーションからメッセージが送信されると、適切なプロパティを持つ受信場所に到着するメッセージがルーティングで使用するためにデータベースに挿入されるのと同じ方法で、メッセージが MessageBox に発行されます。 オーケストレーションの詳細については、「 Artifacts」を参照してください。
メッセージ ボックス データベース
BizTalk Server の公開/サブスクライブ エンジンの中心となるのは、メッセージ ボックス データベースです。 MessageBox は、1 つ以上の Microsoft SQL Server データベースとメッセージ エージェントの 2 つのコンポーネントで構成されます。 SQL Server データベースは、メッセージ、メッセージ プロパティ、サブスクリプション、オーケストレーションの状態、追跡データ、ルーティングのためのホスト キューなどの多くの要素に永続的なストアを提供します。 MessageBox データベースの詳細については、「MessageBox データベース」を参照してください。
ホストとホスト インスタンス
ホストは、送信ポートやオーケストレーションなどのBizTalk Server成果物を実行する Microsoft Windows プロセスの論理的な表現です。 ホスト インスタンスは、特定のサーバー上のホストの物理的な表現です。 ホストには、インプロセス ホストと分離ホストがあります。インプロセス ホストとは、BizTalk Server が所有、管理していることを意味します。分離ホストとは、BizTalk Server が制御していないプロセスで BizTalk Server コードが実行されることを意味します。 分離ホストの代表的な例として、インターネット インフォメーション サービス (IIS) があります。このサービスでは、HTTP アダプターと SOAP アダプターの受信機能をホストします。 ホストは BizTalk Server グループ全体、すなわち設定、メッセージ ボックス、ポートなどを共有する BizTalk Server の集まりに対して定義されます。 ホストとホスト インスタンスの詳細については、「 エンティティ」を参照してください。
メッセージ本文の保存
メッセージ本文を保存する方法は 3 つあります。
管理 MMC の [グループ ハブ] ページのクエリから
この方法は、メッセージ ボックス データベース内のメッセージ専用です。
サービス インスタンスを表示します。
[ サービス インスタンスの詳細] ダイアログ ボックスを開きます。
[ メッセージ] タブ をクリックして、このインスタンスに関連付けられているメッセージの一覧を表示します。
メッセージを右クリックし、[保存] をクリック します。
または
メッセージをダブルクリックしてメッセージ ビューアーで開き、[ 保存] をクリックします。
操作オブジェクト モデルから
GetInstance を使用して、サービス インスタンス オブジェクトを取得します。
Instance.Messages [ ] を使用して、サービス インスタンスが現在参照しているすべてのメッセージを列挙します。
Message.BodyPart [ ] や Message.Context [ ] などのメッセージ オブジェクトのメソッドを使用してアクセスし、保存します。
DTA から
- GetTrackedInstance API 呼び出しと GetTrackedmessage API 呼び出しを使用して、DTA からメッセージを取得します。