使用 BAM 監視服務導向解決方案
解決方案會使用 Business Activity Monitoring (BAM) API,監視 所有 CustomerService 協調流程版本中的活動。 更具體來說,它會使用新的 OrchestrationEventStream 物件。
何謂 OrchestrationEventStream 物件?
新的 OrchestrationEventStream 物件可讓您從協調流程進行追蹤和監視。 擷取的資訊在交易上會與協調流程狀態一致。 例如,若協調流程主控件執行個體在協調流程執行中期重新開始,則協調流程執行個體會從執行個體的最後持續點重新開始。 OrchestrationEventStream類別可確保擷取的資料與協調流程實例的最後一個持續性點交易一致。 所有 OrchestrationEventStream 方法都是靜態的,因此您的協調流程不需要建立它的實例。
注意
若要使用 OrchestrationEventStream 物件,您必須新增 Microsoft.BizTalk.Bam.XLANG 和 Microsoft.BizTalk.Bam.EventObservation 元件的參考。 雖然 OrchestrationEventStream 物件位於 Microsoft.BizTalk.Bam.EventObservation 命名空間中,但它位於 Microsoft.BizTalk.Bam.XLANG 元件中。
雖然追蹤設定檔編輯器 (TPE) 是使用 BAM 的偏好方式,但是 TPE 無法擷取協調流程變數值,也無法處理自訂物件。 解決方案可使用 BAM API 來克服這些限制。
如需 BAM 的一般資訊,請參閱 使用商務活動監視。 如需追蹤設定檔編輯器 (TPE) 的相關資訊,請參閱 追蹤設定檔編輯器。
包裝 OrchestrationEventStream 物件
服務導向的解決方案會包裝 OrchestrationEventStream 類別與 ServiceLevelTracking 類別。 ServiceLevelTracking類別提供應用程式特定的里程碑方法,並隱藏使用OrchestrationEventStream的一些詳細資料。
如同OrchestrationEventStream,ServiceLevelTracking的所有方法都是靜態的。 所以,協調流程或自訂元件不需要建立它的執行個體。 開始追蹤活動 TrackingBeginRequest的方法會傳回唯一的活動實例識別碼。 所有後續追蹤事件都必須與此活動實例識別碼相關聯,才能正確擷取服務等級資料,因為它對 CustomerService 協調流程的實例而言是唯一的。