方法: メッセージを変換し、スケジュール ルーティング スリップを利用してファイルの場所に送信する
目標
このセクションでは、ESB Designer ドメイン固有言語 (DSL) を使用して、BizTalk マップを呼び出してメッセージ変換を実装するスケジュールを作成し、Microsoft BizTalk ESB Toolkit FILE アダプターを使用してメッセージをルーティングする方法について説明します。
このハウツー トピックでは、次の手順を実行します。
BizTalk マップを実装する変換スケジュール サービスを使用して、スケジュール ルーティング スリップを作成します。
変換されたメッセージをファイルの場所にルーティングするようにスケジュールを構成します。
スケジュール テスト クライアント サンプル アプリケーションを使用して、スケジュールをテストします。
前提条件
このハウツー トピックの手順では、 開発アクティビティの前提条件を完了する必要があります。
手順
ESB スケジュール DSL モデルを作成するには
Visual Studio で、C:\HowTos\Patterns\Patterns.sln を開きます。
ソリューション エクスプローラーで、ItineraryLibrary プロジェクトを右クリックし、[追加] をポイントして、[新しいスケジュール] をクリックします。
[ 新しい項目の追加 ] ダイアログ ボックスの [テンプレート] ウィンドウで [ ItineraryDsl ] をクリックします。
[ 名前 ] ボックスに「 DataModelTransformation」と入力し、[ 追加] をクリックします。
スケジュールのプロパティを構成するには
Visual Studio で、 DataModelTransformation.itinerary のデザイン画面をクリックします。 DataModelTransformation プロパティ ウィンドウで、次のプロパティを構成します。
[ モデル エクスポーター ] ドロップダウン リストで、[ XML スケジュール エクスポーター] をクリックします。
[ エクステンダー設定] セクションの [ スケジュール XML ファイル ] プロパティの横にある省略記号ボタン (...) をクリックします。
[ XML ファイルの選択 ] ダイアログ ボックスの [ ファイル名 ] ボックスに「 C:\HowTos\Itineraries\DataModelTransformation」と入力し、[ 保存] をクリックします。
Note
この手順では、スケジュールを XML としてローカル ファイルの場所にエクスポートできます。 スケジュール をスケジュール データベースではなくローカル ファイルの場所にエクスポートすることで、ESB テスト クライアント アプリケーションを使用して旅程のテストを行えます。 このプロセスは、このハウツー トピックの後半で完了します。
旅程の構造を定義するには
ツールボックスから、 On-Ramp モデル要素をデザイン サーフェイスにドラッグします。 OnRamp1 プロパティ ウィンドウで、次のプロパティを構成します。
Name プロパティをクリックし、「ReceiveNAOrder」と入力します。
[ エクステンダー ] ドロップダウン リストで、[ On-Ramp ESB サービス拡張機能] をクリックします。
[BizTalk アプリケーション] ドロップダウン リストで、[Microsoft.Practices.ESB] をクリックします。
[ 受信ポート ] ドロップダウン リストで、[ OnRamp.Itinerary] をクリックします。
ツールボックスから、 Itinerary Service モデル要素をデザインサーフェイスにドラッグし、 On-Ramp モデル要素の右側に配置します。 ItineraryService1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「MapNAOrderToCNOrder」と入力します。
[ スケジュール サービス エクステンダー ] ドロップダウン リストで、[ メッセージング エクステンダー] をクリックします。
Note
このプロパティは、プロセスがパイプライン (メッセージング) で実行されることを定義します。 または、プロセスがオーケストレーションで行われる場合は、 スケジュール サービス エクステンダー プロパティを オーケストレーション エクステンダーに設定します。
[ コンテナー ] ドロップダウン リストで、[ ReceiveNAOrder] を展開し、[ Receive Handlers]\(ハンドラーの受信\) をクリックします。
[ サービス名 ] ドロップダウン リストで、[ Microsoft.Practices.ESB.Services.Transform] をクリックします。
MapNAOrderToCNOrder モデル要素の Resolver コレクションを右クリックし、[Add new Resolver]\(新しいリゾルバーの追加\) をクリックします。 Resolver1 プロパティ ウィンドウで、次のプロパティを構成します。
Name プロパティをクリックし、「StaticallySpecifyTheMap」と入力します。
[ リゾルバーの実装 ] ドロップダウン リストで、[ Static Resolver Extension]\(静的リゾルバー拡張機能\) をクリックします。
[ 変換の種類 ] ドロップダウン リストで、[ GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN] をクリックします。
[ トランスポート名 ] ドロップダウン リストで、[ ファイル] をクリックします。
ツールボックスで、[ コネクタ] をクリックします。 ReceiveNAOrder モデル要素から MapNAOrderToCNOrder モデル要素に接続をドラッグします。
ツールボックスから 、Off-Ramp モデル要素をデザインサーフェイスにドラッグし、 MapNAOrderToCNOrder モデル要素の右側に配置します。 OffRamp1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「SendCNOrder」と入力します。
[ エクステンダー ] ドロップダウン リストで、[ Off-Ramp ESB エクステンダー] をクリックします。
[BizTalk アプリケーション] ドロップダウン リストで、[GlobalBank.ESB] をクリックします。
[ 送信ポート ] ドロップダウン リストで、[ DynamicResolutionOneWay] をクリックします。
ツールボックスから、 Itinerary Service モデル要素をデザインサーフェイスにドラッグし、 MapNAOrderToCNOrder モデル要素と SendCNOrder モデル要素の間に配置します。 ItineraryService1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「SendPortFilter」と入力します。
[ スケジュール サービス エクステンダー ] ドロップダウン リストで、[ オフランプ エクステンダー] をクリックします。
[ オフランプ ] ドロップダウン リストで、[ SendCNOrder] を展開し、[ハンドラーの 送信] をクリックします。
SendPortFilter モデル要素の Resolver コレクションを右クリックし、[新しい競合回避モジュールの追加] をクリックします。 Resolver1 プロパティ ウィンドウで、次のプロパティを構成します。
Name プロパティをクリックし、「ConfigureFolderSettings」と入力します。
[ トランスポート名 ] ドロップダウン リストで、[ ファイル] をクリックします。
[ トランスポートの場所 ] プロパティをクリックし、「 C:\HowTos\Out\%MessageID%.xml」と入力します。
Note
各オフランプには、それに関連付けられた旅程サービスがあります。スケジュール サービスのプロパティとオフランプのプロパティの組み合わせによって、動的送信ポートのサブスクリプションが定義されます。
ツールボックスで、[ コネクタ] をクリックします。 接続を MapNAOrderToCNOrder モデル要素から SendPortFilter モデル要素にドラッグします。
ツールボックスで、[ コネクタ] をクリックします。 接続を SendPortFilter モデル要素から SendCNOrder モデル要素にドラッグします。
スケジュール テスト クライアントで使用するモデルをエクスポートするには
Visual Studio で、 DataModelTransformation スケジュールのデザイン画面を右クリックし、[ モデルのエクスポート] をクリックします。
Note
スケジュールの XML バージョンが Visual Studio で開きます。
すべてのプロジェクト成果物を保存します。
Windows エクスプローラーで、C:\HowTos\Itineraries に移動し、旅程 XML (DataModelTransformation.xml) の作成に注目します。
旅程をテストするには
開発アクティビティの前提条件 (C:\HowTos\ESB.Itinerary.Test.exe - ショートカット) の間に作成されたショートカットを使用して、Itinerary Test Client サンプル アプリケーションを開きます。
[スケジュール テスト クライアント] で、[WCF サービス チェックを使用する] ボックスをオフにし、[スケジュールの読み込み] をクリックします。
[ スケジュール ファイルを開く ] ダイアログ ボックスで、C:\HowTos\Itineraries に移動します。 [DataModelTransformation.xml] を選択し、[開く] をクリックして旅程を読み込みます。
[ OK] をクリックして 、 スケジュールが正常に読み込まれた というメッセージをクリアします。
[スケジュール テスト クライアント] で、[ メッセージの読み込み ] ボックスの横にある省略記号ボタン (...) をクリックします。
[ 読み込む XML ドキュメントの選択 ] ダイアログ ボックスで、C:\HowTos を参照します。 [NAOrderDoc.xml] を選択し、[開く] をクリックしてテスト メッセージを読み込みます。
[ 要求の送信] ボタンをクリックします。 テストが完了したら、[ OK] をクリックして 、表示される確認を閉じます。
Windows エクスプローラーで、C:\HowTos\Out に移動します。%MessageID%.xml メッセージがディレクトリに書き込まれたことを確認します。
その他のリソース
詳細については、次の関連トピックを参照してください。