メッセージ ルーティング パターン
メッセージ ルーティング パターンでは、メッセージをターゲット エンドポイントにルーティングするための実証済みのガイドラインを定義します。 ルーティングは、静的構成の結果である場合も、さまざまな条件に基づいて、さまざまな方法を使用して動的に構成することもできます。
メッセージ ルーター
メッセージ ルーター パターンは、一連の条件に基づいてメッセージの受信者を決定します。 このパターンの詳細については、Enterprise Integration Patterns サイトの メッセージ ルーター (https://go.microsoft.com/fwlink/?LinkId=186844) を参照してください。
スケジュール Designerでのこのパターンの実装は、Microsoft BizTalk ESB Toolkit のスケジュール ルーティング サービスと 1 つのコンテンツ ベースの競合回避モジュールの組み合わせです。 スケジュール ルーティング サービスは、Microsoft BizTalk メッセージ コンテキストでのメッセージ ルーティング プロパティの昇格またはメッセージの明示的なルーティングを担当します。
Microsoft BizTalk ESB Toolkit によって提供されるスケジュール ルーティング サービスは、次のように選択できます。
スケジュール Designerを使用して BizTalk パイプラインで実行するメッセージング エクステンダーを使用して、スケジュール ルーティング サービスを定義します。
BizTalk 送信ポートを使用してルーティングを実行する Itinerary Designerを使用してオーケストレーションとして実行するオーケストレーション エクステンダーを使用して、スケジュール ルーティング サービスを定義します。
スケジュール ルーティング サービスに関連付けられている競合回避モジュールによって、メッセージの内容に基づいてメッセージの受信者が決定されます。 Microsoft BizTalk ESB Toolkit によって提供されるコンテンツ ベースのルーティングをサポートするリゾルバーから選択することも、独自のリゾルバーを実装することもできます。
Microsoft BizTalk ESB Toolkit でこのパターンを実装する例については、次のリソースを参照してください。
コンテンツ ベースのルーター
コンテンツ ベースのルーター パターンは、メッセージの内容に基づいてメッセージの受信者を決定します。 このパターンの詳細については、Enterprise Integration Patterns サイト のコンテンツ ベースルーター (https://go.microsoft.com/fwlink/?LinkId=186839) を参照してください。
スケジュール Designerでのこのパターンの実装は、Microsoft BizTalk ESB Toolkit のスケジュール ルーティング サービスと 1 つのコンテンツ ベースの競合回避モジュールの組み合わせです。 スケジュール ルーティング サービスは、BizTalk メッセージ コンテキストでメッセージ ルーティング プロパティを昇格させたり、メッセージを明示的にルーティングしたりする役割を担います。
Microsoft BizTalk ESB Toolkit によって提供されるスケジュール ルーティング サービスは、次のように選択できます。
スケジュール Designerを使用して BizTalk パイプラインで実行するメッセージング エクステンダーを使用して、スケジュール ルーティング サービスを定義します。
BizTalk 送信ポートを使用してルーティングを実行する Itinerary Designerを使用してオーケストレーションとして実行するオーケストレーション エクステンダーを使用して、スケジュール ルーティング サービスを定義します。
スケジュール Designerを使用して BizTalk パイプラインで実行するブローカー メッセージング エクステンダーを使用して、スケジュール ブローカー サービスを定義します。
スケジュール ルーティング サービスに関連付けられている競合回避モジュールは、メッセージの内容に基づいてメッセージの受信者を決定します。 Microsoft BizTalk ESB Toolkit によって提供されるコンテンツ ベースのルーティングをサポートする次のリゾルバーから選択できます。
XPATH リゾルバー。 このリゾルバーを使用すると、XPATH クエリを使用してメッセージ コンテンツをルーティングできます。
BRE リゾルバー。 このリゾルバーを使用すると、BizTalk ルール エンジンを使用してメッセージ コンテンツからルーティング情報を取得できます。
メッセージ コンテキスト リゾルバー。 このリゾルバーを使用すると、メッセージが Microsoft BizTalk ESB Toolkit スケジュール ブローカー サービスに関連付けられているときに、BizTalk メッセージ コンテキストからメッセージの内容を取得できます。
Note
上記の実装シナリオに加えて、カスタム コンテンツ ベースのリゾルバーとスケジュール ルーティング ソリューションをメッセージング ベースまたはオーケストレーション ベースのサービスとして開発できます。 この場合は、Microsoft BizTalk ESB Toolkit リゾルバーとスケジュール サービスのエクステンダーを実装して、スケジュール Designerと相互運用することが必要になる場合があります。
この実装の例については、次のリソースを参照してください。
ルーティング スリップ
ルーティング スリップ パターンは、事前に定義された順序で一連のコンポーネントを介してメッセージをルーティングする必要があるシナリオを表します。これは、デザイン時には不明な場合があります。 このパターンの詳細については、「エンタープライズ統合パターン」サイトの 「ルーティング スリップ (https://go.microsoft.com/fwlink/?LinkId=186840)」を参照してください。
このパターンの実装は、Microsoft BizTalk ESB Toolkit によって提供されます。その実装は、スケジュールベースの処理のためにメッセージを送信するクライアント アプリケーションの種類によって異なります。
サービス プロキシ。 この種類のアプリケーションでは、Microsoft BizTalk ESB Toolkit のオンランプをスケジュール セレクター パイプライン コンポーネントと共に構成し、スケジュール リゾルバーを関連付けて、適切な Microsoft BizTalk ESB Toolkit のスケジュールを選択します。 スケジュール プロパティは、ITINERARY リゾルバーを使用して静的プロパティとして構成することも、BizTalk ルール エンジンと BRI リゾルバーを使用して動的プロパティとして構成することもできます。
高度なクライアント。 この種類のアプリケーションでは、スケジュール セレクター パイプライン コンポーネントと ITINERARY-STATIC リゾルバーを使用して、Microsoft BizTalk ESB Toolkit on-ramp を構成します。 クライアント アプリケーションは、スケジュール名、バージョン、追跡識別子を含むスケジュール参照ヘッダーを含むメッセージを送信します。
アダプティブ クライアント。 この種類のアプリケーションでは、クライアント アプリケーションがリゾルバー サービスを呼び出します。これにより、クライアント状態を要求メッセージとして渡すことによって、スケジュール参照が識別されます。 スケジュールが解決された場合、クライアント アプリケーションは、前の高度なクライアント シナリオと同じ方法で、スケジュール参照を含むメッセージを送信します。
このパターンの実装の詳細については、次のリソースを参照してください。
方法: メッセージを変換し、スケジュール ルーティング スリップを利用してファイルの場所に送信する
Note
上記のシナリオに加えて、カスタム スケジュール リゾルバーとスケジュール ルーティング サービスを開発できます。 [スケジュール] Designerで使用するカスタム スケジュール サービス用のデザイナー エクステンダーを作成することを検討できます。
Scatter-Gather
Scatter-Gather パターンを使用すると、メッセージを複数の受信者に送信し、応答を集計できます。これにより、1 つのメッセージが作成されます。 このパターンの詳細については、「エンタープライズ統合パターン」サイト の「散布図 (https://go.microsoft.com/fwlink/?LinkId=186841)」を参照してください。
このパターンの実装例については、「 Scatter-Gather サンプルのインストールと実行」を 参照してください。
受信者リスト
受信者リスト パターンは、メッセージが 1 つ以上の受信者にルーティングされるシナリオ ソリューションに対処します。 受信者リストは、静的 (つまり、受信者の固定リストを持つ) または動的に定義できます。 このパターンの詳細については、「エンタープライズ統合パターン」サイトの 「受信者リスト (https://go.microsoft.com/fwlink/?LinkId=186842)」を参照してください。
スケジュール Designerでのこのパターンの実装は、Microsoft BizTalk ESB Toolkit のスケジュール ルーティング サービスと複数のリゾルバーの組み合わせです。 スケジュール ルーティング サービスは、メッセージを複製し、その BizTalk メッセージ コンテキスト プロパティを使用してメッセージを明示的にルーティングする役割を担います。
Microsoft BizTalk ESB Toolkit によって提供されるスケジュール ルーティング サービスは、次のように選択できます。
スケジュール Designerを使用して BizTalk パイプラインで実行するメッセージング エクステンダーを使用して、スケジュール ルーティング サービスを定義します。
BizTalk 送信ポートを使用してルーティングを実行する Itinerary Designerを使用してオーケストレーションとして実行するメッセージング エクステンダーを使用して、スケジュール ルーティング サービスを定義します。
スケジュール ルーティング サービスに関連付けられている競合回避モジュールは、メッセージの内容に基づいてメッセージの受信者を決定します。 このシナリオを実装するには、Microsoft BizTalk ESB Toolkit によって提供されるリゾルバーのセットを選択できます。 このパターンの実装の詳細については、次のリソースを参照してください。
スプリッター
分割パターンは、1 つのメッセージを複数のメッセージに分割する必要がある場合の問題に対処します。 このパターンの詳細については、「Enterprise Integration Patterns」サイトの 「Splitter (https://go.microsoft.com/fwlink/?LinkId=186843)」を参照してください。 このパターンの実装の詳細については、次のリソースを参照してください。