傍受のために Workflow Foundation アプリケーションを構成する方法
BAM アクティビティ データの収集を開始する前に、BAM インターセプター ソフトウェアをインストールし、Windows Workflow Foundation (WF) インターセプター サービスを使用するようにアプリケーションを構成する必要があります。 BizTalk Serverとその依存関係が正常にインストールされ、少なくとも 1 つの BizTalk グループが作成されていることを前提としています。
BAM イベント ソフトウェアのインストール
WF の BAM インターセプターを使用するように WF アプリケーションを構成する前に、BizTalk Server セットアップ プログラムを使用して BAM-Eventing ソフトウェアをインストールする必要があります。 BAM-Eventing ソフトウェアのインストールとパフォーマンス カウンターの登録の詳細については、「 BAM-Eventing ソフトウェアのインストール」を参照してください。
追跡のために Windows Workflow Foundation アプリケーションを構成する方法
WF アプリケーションで BAM イベント情報の書き込みを開始するには、次の 4 つのタスクを完了する必要があります。
監視モデルは、BizTalk Server BAM ツールを使用して作成し、BAM Manager コマンド ライン ツール (bm.exe) を使用して展開する必要があります。
BAM マネージャーのコマンド ライン ツール (bm.exe) を使用して、インターセプター構成ファイルを作成する必要があります。
ホスト アプリケーションを実行しているユーザーは、適切な BAM アクティビティ イベント ライター (bam_<activity>_EventWriter) SQL Serverロールのメンバーである必要があります。このロールを使用して、アプリケーションがインターセプターの構成情報を読み取り、BAM アクティビティに書き込むことができるようになります。
BAM 追跡サービスを読み込むには、App.config ファイルまたはアプリケーション自体を変更してから、アプリケーションを再起動する必要があります。
これらのタスクが正常に完了した後にのみ、BizTalk Server BAM データベースにイベントが表示されるようになります。
監視モデルの展開
アプリケーション内でインターセプター構成ファイルを展開したり、BAM アクティビティを取得したりするには、監視モデルを展開する必要があります。
bm.exe を使用して監視モデルを展開するには
[ スタート ] をクリックし、[ 実行 ] をクリックして Windows コマンド プロンプトを開きます。
[開く] フィールドに「cmd」と入力し、[OK] をクリックします。
ディレクトリ変更のコマンドを使用して、展開する監視モデルが格納されているディレクトリに移動します。 たとえば、 cd c:\businessprocess\Orders です。
bm.exe を使用して、次のように監視モデルを展開します。
c:\Program Files (x86)\Microsoft BizTalk Server <VERSION>\Tracking\BM.exe deploy-all -definitionfile:<definitionfile.xml>
definitionfile.xml> は、デプロイする監視ファイルの名前に置き換えてください<。 その他のオプションについては、「 インターセプター管理コマンド」を参照してください。
Note
ユーザー アカウント制御 (UAC) をサポートするシステムでは、管理者特権を使用してこのツールを実行することが必要な場合があります。
「 Exit」と入力し、Enter キーを押してコマンド プロンプトを閉じます。
インターセプター構成ファイルの展開
アプリケーションで BAM アクティビティを取得するには、インターセプター構成ファイルを展開する必要があります。
bm.exe を使用してインターセプター構成ファイルを展開するには
[ スタート ] をクリックし、[ 実行 ] をクリックして Windows コマンド プロンプトを開きます。
[開く] フィールドに「cmd」と入力し、[OK] をクリックします。
ディレクトリ変更のコマンドを使用して、展開するインターセプター構成ファイルが格納されているディレクトリに移動します。 たとえば、 cd c:\businessprocess\Orders です。
bm.exe を使用して、次のようにインターセプター構成ファイルを展開します。
\Program Files (x86)\Microsoft BizTalk Server <VERSION>Tracking\BM.exe deploy-interceptor -filename:<icfile.xml>
icfile.xml> をデプロイするインターセプター構成ファイルの名前に置き換えてください<。
Note
-Force:True フラグを使用すると、インターセプター構成ファイルと同じ名前で既存のイベント ソースをオーバーライドできます。 その場合は、 get-interceptor コマンドを使用して既存の構成をバックアップしてください。 –Force:True フラグを使用すると、上書きされるイベント ソースを参照するインターセプター構成が削除される可能性があります。
Note
ユーザー アカウント制御 (UAC) をサポートするシステムでは、管理者特権を使用してこのツールを実行することが必要な場合があります。
「 Exit」と入力し、Enter キーを押してコマンド プロンプトを閉じます。
WF アプリケーションを既にデプロイしている場合、新しい構成は次のポーリング間隔まで読み込まれません。 ただし、アプリケーションを構成して再起動すると、構成はすぐに取得されます。
適切な BAM アクティビティ ロールへのユーザーの追加
BAM インターセプター フレームワークでは、アクティビティごとの SQL Server ロールを使用して、アクティビティ情報および構成情報へのアクセスを制御します。 WF アプリケーションを実行しているユーザー アカウントを、BAM プライマリ インポート データベースの適切な BAM アクティビティ ロールに追加する必要があります。
BAM 追跡サービスを読み込むためのアプリケーションの構成
WF アプリケーションで BAM 追跡サービスを読み込むには、次の 3 つのシナリオがあります。
WF アプリケーションで WorkflowRuntime を既に使用して WF 構成セクションを読み込んでいる場合は、BAM 追跡サービス情報を既存のセクションに追加できます。
WF アプリケーションで WorkflowRuntime を使用して WF 構成セクションを読み込まない場合は、アプリケーション構成ファイルからカスタム セクションを読み込むコードを追加する必要があります。 セクションを作成し、BAM 追跡サービス情報をそれに追加する必要があります。
構成をハードコーディングする場合は、WF API を使用して、構成ファイルなしで追跡サービスをプログラムで読み込んだり、カスタム ソースから構成を読み込んだりできます。
WF アプリケーションを構成するときは、次の考慮事項に注意してください。
WF インターセプターは、1 つの WorkflowRuntime ごとに 1 つの BamTrackingService のみをサポートします。
WF インターセプターは、アプリケーション ドメインごとに複数の BamTrackingService インスタンスをサポートします。
- N 個の WorkflowRuntime に対して N 個の BamTrackingService がサポートされます。
同じアプリケーション ドメイン内の異なる BamTrackingService インスタンスに異なる接続文字列が使用されると、インターセプターでは例外が発行されます。
インターセプターは、開始された最初の BamTrackingService インスタンスから IC ポーリング間隔値を取得します。
アプリケーション ドメインで最後の BamTrackingService が停止すると、インターセプターは IC ポーリング スレッドを停止します。
WorkflowRuntime と読み込みの構成情報の詳細については、「」を参照してください https://go.microsoft.com/fwlink/?LinkId=83314。
BAM 追跡サービスのために App.config ファイルを構成するには
アプリケーションに関連付けられている App.config ファイルを開きます。 これには、Notepad.exe またはその他のテキスト エディターを使用できます。
App.config ファイルに次の構成情報を挿入して、BAM 追跡サービスを追加します。 要素の子になるように配置する
configuration
必要があります。Note
セクション要素は、WorkflowRuntime クラスを使用する際に、アプリケーション コードで使用する名前に対応する必要があります。
<!-- The element name must match the one expected by WorkflowRuntime in your WF application --> <WorkflowServiceContainer> <Services> <add type="Microsoft.BizTalk.Bam.Interceptors.Workflow.BamTrackingService, Microsoft.BizTalk.Bam.Interceptors, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ConnectionString="Integrated Security=SSPI;Data Source=.;Initial Catalog=BAMPrimaryImport" PollingIntervalSec="5"/> </Services> </WorkflowServiceContainer>
環境に合わせて ConnectionString 属性を変更します。
アプリケーションを再起動します。
カスタム構成セクションを読み込むようにアプリケーションを変更するには
Visual Studio で Windows Workflow Foundation プロジェクトを開きます。
適切なパラメーターを設定した BamTrackingService の新しいインスタンスを、アプリケーションの WorkflowRuntime インスタンスに追加します。
// !! Replace "WorkflowServiceContainer" with the section name // you used in your App.config file. WorkflowRuntime workflowRuntime = new WorkflowRuntime("WorkflowServiceContainer");
変更されたアプリケーションを再コンパイルして展開します。
アプリケーションを変更して、BAM 追跡サービスをプログラムによって読み込むには
Visual Studio で Windows Workflow Foundation プロジェクトを開きます。
適切なパラメーターを設定した BamTrackingService の新しいインスタンスを、アプリケーションの WorkflowRuntime インスタンスに追加します。
string connectionString = "Integrated Security=SSPI;Data Source=.;Initial Catalog=BAMPrimaryImport" int pollingInterval = 5; WorkflowRuntime workflowRuntime = new WorkflowRuntime(); workflowRuntime.AddService(new BamTrackingService(connectionString, pollingInterval));
パラメーターは、特定の環境に基づいて追加または削除できます。
変更されたアプリケーションを再コンパイルして展開します。