次の方法で共有


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

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

OrchestrationEventStream オブジェクトについて

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

Note

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

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

BAM の一般的な情報については、「 Using Business Activity Monitoring」を参照してください。 追跡プロファイル エディター (TPE) の詳細については、「 追跡プロファイル エディター」を参照してください。

OrchestrationEventStream オブジェクトのラップ処理

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

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

参照

サービス指向ソリューションの開発
サービス指向ソリューションの実装の重要なポイント