次の方法で共有


BAM を使用したサービス指向ソリューションの監視

ソリューションは、ビジネス アクティビティ監視 (BAM) API を使用して 、CustomerService オーケストレーションのすべてのバージョンのアクティビティを監視します。 具体的には、新しい OrchestrationEventStream オブジェクトを使用します。

OrchestrationEventStream オブジェクトとは

新しい OrchestrationEventStream オブジェクトを使用すると、オーケストレーションからの追跡と監視が可能になります。 キャプチャされた情報は、トランザクション上、オーケストレーションの状態と一致します。 たとえば、オーケストレーション ホスト インスタンスがオーケストレーションの実行中に再起動した場合、オーケストレーション インスタンスはインスタンスの最後の永続化ポイントから再起動します。 OrchestrationEventStream クラスを使用すると、キャプチャされたデータは、オーケストレーション インスタンスの最後の永続化ポイントとトランザクション上の整合性が確保されます。 オーケストレーションがインスタンスを作成する必要がないように、 OrchestrationEventStream メソッドはすべて静的です。

OrchestrationEventStream オブジェクトを使用するには、Microsoft.BizTalk.Bam.XLANGs アセンブリと Microsoft.BizTalk.Bam.EventObservation アセンブリへの参照を追加する必要があります。 OrchestrationEventStream オブジェクトは Microsoft.BizTalk.Bam.EventObservation 名前空間にありますが、Microsoft.BizTalk.Bam.XLANGs アセンブリに存在します。

BAM を使用する場合は追跡プロファイル エディター (TPE) が推奨されますが、TPE はオーケストレーション変数の値をキャプチャすることも、カスタム オブジェクトを処理することもできません。 このソリューションでは、BAM API を使用してこれらの制限を克服します。

BAM の一般的な情報については、「 ビジネス アクティビティの監視の使用」を参照してください。 追跡プロファイル エディター (TPE) の詳細については、「 追跡プロファイル エディター」を参照してください。

OrchestrationEventStream オブジェクトを包む

サービス指向ソリューションは、 OrchestrationEventStream クラスを ServiceLevelTracking クラスでラップします。 ServiceLevelTracking クラスは、アプリケーション固有のマイルストーン メソッドを提供し、OrchestrationEventStream の使用に関する詳細の一部を非表示にします。

OrchestrationEventStream と同様に、ServiceLevelTracking のすべてのメソッドは静的です。 したがって、オーケストレーションまたはカスタム コンポーネントは、そのインスタンスを作成する必要はありません。 アクティビティの追跡を開始するメソッド TrackingBeginRequest は、一意のアクティビティ インスタンス ID を返します。 後続のすべての追跡イベントは 、CustomerService オーケストレーションのインスタンスに固有であるため、サービス レベル のデータを正しくキャプチャするために、このアクティビティ インスタンス ID に関連付ける必要があります。

こちらもご覧ください

サービス指向ソリューションの開発
サービス指向ソリューションの実装のハイライト