メッセージ強化サンプルのしくみ
メッセージ エンリッチメント サンプルは、統合パターンを汎用再利用可能なサービスとしてカプセル化できる方法を示しています。 この場合、サンプルは Content Enricher パターンを実装します。 Content Enricher パターンには、一般に、変換を使用して、情報を検索するために外部サービスに送信するメッセージを準備し、別の変換を使用して、元のメッセージからのデータも含む新しいメッセージに応答を組み込みます。 一般的な方法でパターンを実装するために、メッセージ エンリッチメント サンプルでは、最大 2 つのリゾルバーを使用して、外部ソースからの情報を使用してメッセージのエンリッチメントを構成できるオーケストレーション ベースのスケジュール サービスを提供します。
最初のリゾルバーはルーティング情報を返す必要があります。また、一緒に変換情報を返すこともできます。 指定した場合、リゾルバーによって指定された場所にルーティングされる前に、変換が受信メッセージに適用されます。 指定されたサンプル スケジュールでは、WCF-Custom アダプター プロバイダーを使用して、GetOrderDetails という名前の GlobalBankESB データベース内で SQL ストアド プロシージャを実行し、結果を返します。
必要に応じて、2 つ目のリゾルバーを含めることができます。 指定した場合、2 番目のリゾルバーには変換情報を含める必要があります。 この変換には、元のメッセージと、どのデータ ソースに接続されたかによって返される結果が入力として与えられます。 サンプル スケジュールでは、テーブル ループ Functoid を使用して元のメッセージとストアド プロシージャの結果から情報をプルし、結果の InventoryOrder メッセージ内に含めるマップが参照されます。