次の方法で共有


方法: ESB スケジュール サービスで BAM 追跡を有効にする

目標

このセクションでは、既存のスケジュールに対してビジネス アクティビティ モニター (BAM) 追跡を有効にする方法について説明します。

このハウツー トピックでは、次の手順を実行します。

  • ビジネス アクティビティ モニターを使用してスケジュール サービスを追跡するために使用される プロパティを有効にします。

  • スケジュール テスト クライアント サンプル アプリケーションを使用して BAM 追跡をテストします。

  • SQL クエリを使用して BAM の結果を確認します。

前提条件

このハウツー トピックの手順では、 開発アクティビティの前提条件を完了する必要があります。

はじめに

この操作方法に関するトピックで後述する手順を実行する前に、次のタスクを完了してください。

  • ESB スケジュール ドメイン固有言語 (DSL) モデルを作成します。

  • スケジュールのプロパティを構成します。

  • スケジュールの構造を定義します。

    次の手順では、これらのそれぞれを実行する方法について説明します。

ESB スケジュール DSL モデルを作成するには

  1. Visual Studio で、C:\HowTos\Patterns\Patterns.sln を開きます。

  2. ソリューション エクスプローラーで、ItineraryLibrary プロジェクトを右クリックし、[追加] をポイントして、[新しいスケジュール] をクリックします。

  3. [ 新しい項目の追加 ] ダイアログ ボックスの [テンプレート] ウィンドウで [ ItineraryDsl ] をクリックします。

  4. [ 名前 ] ボックスに「 BamTracking」と入力し、[ 追加] をクリックします。

スケジュールのプロパティを構成するには

  1. Visual Studio で、 BamTracking.itinerary のデザイン画面をクリックします。 BamTracking プロパティ ウィンドウで、次のプロパティを構成します。

    1. [ モデル エクスポーター ] ドロップダウン リストで、[ XML スケジュール エクスポーター] をクリックします。

    2. [ エクステンダー設定] セクションの [ スケジュール XML ファイル ] プロパティの横にある省略記号ボタン (...) をクリックします。

    3. [ XML ファイルの選択 ] ダイアログ ボックスの [ ファイル名 ] ボックスに「 C:\HowTos\Itineraries\BamTracking 」と入力し、[ 保存] をクリックします。

      Note

      この手順では、スケジュールを XML としてローカル ファイルの場所にエクスポートできます。 スケジュール をスケジュール データベースではなくローカル ファイルの場所にエクスポートすることで、ESB テスト クライアント アプリケーションを使用して旅程のテストを行えます。 このプロセスは、このハウツー トピックの後半で完了します。

旅程の構造を定義するには

  1. ツールボックスから、 On-Ramp モデル要素をデザイン サーフェイスにドラッグします。 OnRamp1 プロパティ ウィンドウで、次のプロパティを構成します。

    1. Name プロパティをクリックし、「ReceiveNAOrder」と入力します。

    2. [ エクステンダー ] ドロップダウン リストで、[ On-Ramp ESB サービス拡張機能] をクリックします。

    3. [BizTalk アプリケーション] ドロップダウン リストで、[Microsoft.Practices.ESB] をクリックします。

    4. [ 受信ポート ] ドロップダウン リストで、[ OnRamp.Itinerary] をクリックします。

  2. ツールボックスから、 Itinerary Service モデル要素をデザインサーフェイスにドラッグし、 On-Ramp モデル要素の右側に配置します。 ItineraryService1 プロパティ ウィンドウで、次のプロパティを構成します。

    1. [名前] プロパティをクリックし、「MapNAOrderToCNOrder」と入力します。

    2. [ Itinerary Service Extender]\(スケジュール サービス エクステンダー \) ドロップダウン リストで、[ Messaging Itinerary Service Extension]\(メッセージング スケジュール サービス拡張機能\) をクリックします。

      Note

      このプロパティは、プロセスがパイプライン (メッセージング) で実行されることを定義します。 または、プロセスがオーケストレーションで行われる場合は、 スケジュール サービス エクステンダー プロパティを オーケストレーション スケジュール サービス拡張機能に設定します。

    3. [ コンテナー ] ドロップダウン リストで、[ ReceiveNAOrder] を展開し、[ Receive Handlers]\(ハンドラーの受信\) をクリックします。

    4. [ サービス名 ] ドロップダウン リストで、[ Microsoft.Practices.ESB.Services.Transform] をクリックします。

  3. MapNAOrderToCNOrder モデル要素の Resolver コレクションを右クリックし、[Add new Resolver]\(新しいリゾルバーの追加\) をクリックします。 Resolver1 プロパティ ウィンドウで、次のプロパティを構成します。

    1. Name プロパティをクリックし、「StaticallySpecifyTheMap」と入力します。

    2. [ リゾルバーの実装 ] ドロップダウン リストで、[ Static Resolver Extension]\(静的リゾルバー拡張機能\) をクリックします。

    3. [ 変換の種類 ] ドロップダウン リストで、[ GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN] をクリックします。

    4. [ TransportName ] ドロップダウン リストで、[ ファイル] をクリックします。

  4. ツールボックスで、[ コネクタ] をクリックします。 ReceiveNAOrder モデル要素から MapNAOrderToCNOrder モデル要素に接続をドラッグします。

  5. ツールボックスから 、Off-Ramp モデル要素をデザインサーフェイスにドラッグし、 MapNAOrderToCNOrder モデル要素の右側に配置します。 OffRamp1 プロパティ ウィンドウで、次のプロパティを構成します。

    1. [名前] プロパティをクリックし、「SendCNOrder」と入力します。

    2. [ エクステンダー ] ドロップダウン リストで、[ Off-Ramp ESB サービス拡張機能] をクリックします。

    3. [BizTalk アプリケーション] ドロップダウン リストで、[GlobalBank.ESB] をクリックします。

    4. [ 送信ポート ] ドロップダウン リストで、[ DynamicResolutionOneWay] をクリックします。

  6. ツールボックスから、 Itinerary Service モデル要素をデザインサーフェイスにドラッグし、 MapNAOrderToCNOrder モデル要素と SendCNOrder モデル要素の間に配置します。 ItineraryService1 プロパティ ウィンドウで、次のプロパティを構成します。

    1. [名前] プロパティをクリックし、「SendPortFilter」と入力します。

    2. [ スケジュール サービス エクステンダー ] ドロップダウン リストで、[ Off-Ramp Itinerary Service Extension] をクリックします。

    3. [ オフランプ ] ドロップダウン リストで、[ SendCNOrder] を展開し、[ハンドラーの 送信] をクリックします。

  7. SendPortFilter モデル要素の Resolver コレクションを右クリックし、[新しい競合回避モジュールの追加] をクリックします。 Resolver1 プロパティ ウィンドウで、次のプロパティを構成します。

    1. Name プロパティをクリックし、「ConfigureFolderSettings」と入力します。

    2. [ リゾルバーの実装 ] ドロップダウン リストで、[ Static Resolver Extension]\(静的リゾルバー拡張機能\) をクリックします。

    3. [ トランスポート名 ] ドロップダウン リストで、[ ファイル] をクリックします。

    4. [ トランスポートの場所 ] プロパティをクリックし、「 C:\HowTos\Out\BAM%MessageID%.xml

      Note

      各オフランプには、それに関連付けられた旅程サービスがあります。スケジュール サービスのプロパティとオフランプのプロパティの組み合わせによって、動的送信ポートのサブスクリプションが定義されます。

  8. ツールボックスで、[ コネクタ] をクリックします。 接続を MapNAOrderToCNOrder モデル要素から SendPortFilter モデル要素にドラッグします。

  9. ツールボックスで、[ コネクタ] をクリックします。 接続を SendPortFilter モデル要素から SendCNOrder モデル要素にドラッグします。

  10. すべてのプロジェクト成果物を保存します。

手順

旅程を変更するには

  1. Visual Studio で、C:\HowTos\Patterns\Patterns.sln を開きます。

  2. ソリューション エクスプローラーで、[BamTracking.itinerary] をダブルクリックします。

  3. MapNAOrderToCNOrder スケジュール サービス要素をクリックします。

  4. MapNAOrderToCNOrder プロパティ ウィンドウで、[追跡が有効] ドロップダウン リストの [True] をクリックします。

  5. SendPortFilter スケジュール サービス要素をクリックします。

  6. SendPortFilter プロパティ ウィンドウで、[追跡が有効] ドロップダウン リストの [True] をクリックします。

スケジュール テスト クライアントで使用するモデルをエクスポートするには

  1. Visual Studio で、 BamTracking スケジュールのデザイン画面を右クリックし、[ モデルのエクスポート] をクリックします。

    Note

    スケジュールの XML バージョンが Visual Studio で開きます。

  2. すべてのプロジェクト成果物を保存します。

  3. Windows エクスプローラーで、C:\HowTos\Itineraries に移動し、旅程 XML (BamTracking.xml) の作成に注目します。

旅程をテストするには

  1. 開発アクティビティの前提条件 (C:\HowTos\ESB.Itinerary.Test.exe - ショートカット) の間に作成されたショートカットを使用して、Itinerary Test Client サンプル アプリケーションを開きます。

  2. [スケジュール テスト クライアント] で、[WCF サービス チェックを使用する] ボックスをオフにし、[スケジュールの読み込み] をクリックします。

  3. [ スケジュール ファイルを開く ] ダイアログ ボックスで、C:\HowTos\Itineraries に移動します。 [BamTracking.xml] を選択し、[開く] をクリックして旅程を読み込みます。

  4. [ OK] をクリックしてスケジュールが正常に読み込まれた というメッセージをクリアします。

  5. [スケジュール テスト クライアント] で、[ メッセージの読み込み ] ボックスの横にある省略記号ボタン (...) をクリックします。

  6. [ 読み込む XML ドキュメントの選択 ] ダイアログ ボックスで、C:\HowTos を参照します。 [NAOrderDoc.xml] を選択し、[開く] をクリックしてテスト メッセージを読み込みます。

  7. [ 要求の送信] ボタンをクリックします。 テストが完了したら、[ OK] をクリックして 、表示される確認を閉じます。

  8. Windows エクスプローラーで、C:\HowTos\Out に移動します。BAM%MessageID%.xml メッセージがディレクトリに書き込まれたことを確認します。

メッセージ追跡を確認するには

  1. タスク バーの [スタート] をクリックし、[すべてのプログラム] をポイントし、[SQL Server 2014] または [SQL Server 2012 SP1] をポイントして、[SQL Server Management Studio] をクリックします。

  2. [新しいクエリ] をクリックします。

  3. クエリ ペインで、次のように入力します。

    SELECT *  
    FROM [BAMPrimaryImport].[dbo].[bam_ItineraryServiceActivity_Completed]  
    GO  
    
  4. [実行] をクリックします。

  5. [結果] ウィンドウで、 TimeStamp 列を使用して最新のエントリを見つけます。

その他のリソース

詳細については、次の関連項目を参照してください。