共用方式為


使用 BAM 監控商務程序管理解決方案

解決方案可使用「商務活動監控」(BAM) API 監控處理訂單的步驟。 商務程序的設計會分割多個階段中的活動。 整個活動可以重新組合,以建立連續的程序。 BAM 也提供彙總資料,讓您知道不同的後端系統需要花費多少時間、已完成的訂單數和其他類似資料。

如同服務導向的解決方案,它會使用新的 OrchestrationEventStream 物件。 For a discussion of the OrchestrationEventStream object, see "What Is the OrchestrationEventStream Object" in Monitoring the Service Oriented Solution with BAM.

如需 BAM 的一般資訊,請參閱 使用商務活動監視。 如需追蹤設定檔編輯器 (TPE) 的相關資訊,請參閱 追蹤設定檔編輯器

包裝 OrchestrationEventStream 物件

如同服務導向的解決方案,商務程式管理解決方案會包裝 OrchestrationEventStream 物件。 而且和服務導向解決方案一樣,所有方法均為靜態,如此協調流程不需要建立物件的執行個體便能使用方法。 這也代表若引擎凍結協調流程,並不需要序列化用於追蹤的物件,也不需要儲存物件 (不需要為可序列化)。 不過,商務程式管理解決方案會將 OrchestrationEventStream 包裝成數個衍生自單一抽象物件的物件。

抽象類別是 BasicActivity。 雖然為抽象類別,但此類別實際上並未當作衍生類別的範本使用。 而是透過它的靜態方法提供一組可用的方法,不以衍生類別為限。 實際上,這可讓您實作四種預設方法。 四個靜態方法包括:CreateActivityIdBeginActivity、UpdateActivityEndActivity

類別會多載 BeginActivity 方法。 其中一個版本可將活動名稱做為單一引數,建立 GUID 以做為活動識別碼使用,然後呼叫採用活動名稱和活動識別碼的版本,再傳回活動識別碼。 當訂單沒有唯一的識別碼時,此單一引數版本就非常有用。

CreateActivityId方法會採用字串和唯一識別碼,例如要求識別碼,並傳回以底線串連它們的字串。 這可以提供唯一的活動識別碼,而且可在衍生類別中廣泛的使用。 BeginActivityUpdateActivity 和 EndActivity方法會呼叫OrchestrationEventStreamBeginActiviyUpdateActivityEndActivity方法。

解決方案 會從 Order Broker (CustomerOrderRequest) 、訂單管理員 (OrderManager) ,以及 ServiceOrderRequest) (處理階段衍生類別。 每個類別均對應至一個活動。 每個類別都會提供要用於 CreateActivityId 的活動名稱字串,以建立活動識別碼,以及針對活動里程碑特製化的方法。

因為訂單仲介可傳遞訂單並於之後接收回應,所以它包含一種方法,可復原指定給訂單之要求識別碼的活動識別碼。 這可讓商務程序持續追蹤處理訂單的最終項目。

注意

若透過檔案功能提交訂單而非透過客戶服務 Web 應用程式,便必須對各要求新增其特有的識別碼。

另請參閱

開發商務程式管理解決方案