共用方式為


使用多個接續

在有多個活動的環境中使用追蹤設定檔編輯器(TPE)時,需要先理解活動被追蹤的情境,以便正確對應接收埠、協同作業以及傳送埠的順序。

在追蹤配置檔中,TPE 可自動判斷活動的開始和結束。 活動會在收集第一個數據片段時開始,並在收集最後一個片段時結束。

在大部分情況下,建立單一延續,例如兩個編排之間的延續,對開發人員來說是一個簡單的過程。 TPE 的複雜性在於涉及多個延續的情況中會顯現出來。 多個接續案例是商務活動監視 (BAM) 活動跨越多個接收埠、協調流程和傳送埠的地方。 若要在一筆記錄中收集 BAM 數據,您必須在所有 BizTalk Server 排程之間建立接續。 透過 TPE 使用者介面 (UI) 完成時,此程式可能會相當複雜。

本主題描述如何在不同的案例中建立單一和多個接續。

基底案例描述 - 多個接收埠、協調流程和傳送埠

此案例是由 BizTalk 伺服器所組成,其中有許多接收埠 (R)、協調流程 (O) 和傳送埠 (S)。 有一個通用 interchangeID 上下文屬性用於連接續延。 您可以使用任何內容屬性,例如 activityID 或其他唯一標識碼。 特定內容的選擇與案例的討論不一定相同。

為了此情境,不會指定對從這些埠和協調流程中被追蹤的數據項/里程碑/上下文屬性值的討論。 對應中的該部分專屬於業務邏輯。 目標是從已完成活動數據表中單一數據列中的所有埠和協調流程擷取所有 BAM 數據。 編排流程接收和處理訊息的不同方式,帶來一些有趣的挑戰和解決方案。

備註

一個埠或一個協調運作的情境可被視為多個埠及多個協調運作情境的特例。

案例解決方案 1 - 一個接收埠和一個協調流程

在此情境中,訊息會精確地到達其中一個接收埠(R1),並被正確地由其中一個協同流程(O1)處理。

建立接續的程式如下所示:

  1. 在追蹤配置檔的資料夾活動樹檢視中建立接續。

  2. 單擊 [ 選取事件來源 ] 按鈕,然後單擊 [ 選取內容屬性 ] 功能表項,以選擇內容屬性架構。

  3. [內容屬性名稱] 清單中找出 interchangeId 屬性,然後加以選取。

  4. 從屬性結構中,將 interchangeID 映射到您剛剛建立的繼續資料夾。

  5. 以滑鼠右鍵按一下活動樹狀結構中新建立的interchangeID節點,然後選取要對應的端口。

  6. 在顯示的 [ 選取埠 ] 對話框中,選取所有 N 個接收埠。

  7. 在資料夾活動樹狀目錄中建立continuationID資料夾。

  8. 單擊 [ 選取事件來源 ] 按鈕,然後按下 [ 選取協調流程排程 ] 功能表項,以開啟每個協調流程。 從每個協調流程中,以滑鼠右鍵點擊協調流程中的圖形,然後將 interchangeID 上下文屬性對應至新建立的 continuationID。

    在具有三個協調流程的部署中,您的追蹤配置檔看起來會像這樣:

    TPE 多重接續案例 1

案例解決方案 2 - 一個接收埠和多個協調流程

在此情境中,訊息會精確抵達唯一的一個接收埠,並由所有的調度流程進行處理。 當訊息同時傳送至每個編排程序時,就會發生這種情況。

在此情況下,我們需要每個協調流程的接續和continuationID。 建立接續的程式類似於案例解決方案 1 中所述的步驟。 針對三協調流程部署,產生的追蹤配置檔看起來會像這樣:

TPE 多重接續案例 2

案例解決方案 3 - 以內容為基礎的路由

此案例會定義以內容為基礎的路由 (CBR) 解決方案。 訊息會到達其中一個接收埠,並傳送至其中一個傳送埠。 此路由會根據訊息中的內容屬性值進行。 在此情況下,我們需要一個接續。 對應看起來大致上是這樣:

接續 CBR 案例。

備註

上述對應也適用於某一接收埠正好接收到並傳送至所有傳送埠的訊息。

案例解決方案 4 - 一個協調流程,多個傳送埠

在此情境中,有多個發送。 港口。 訊息是由處理規則決定的其中一個協調流程所處理,並傳送至所有傳送埠。 在此情況下,我們需要一個接續。 對應看起來會像這樣:

續篇 情境 4

案例解決方案 5 - 循序協調流程

在此案例中,每個編排流程都會依序處理訊息,並透過延續傳遞至下一個編排流程。 對應看起來會像這樣:

接續案例 5

在異步環境中收集數據

當您設定接續時,BAM 預期數據會送達。 在異步環境中,您可能不會收到來自後端進程的回應。

如果您沒有收到回應數據,活動實例會無限期等候。 活動永遠不會完成,而且記錄會保留在 BAM 主要匯入資料庫中的數據表中。 請考慮長時間執行的交易案例,其中無法判斷剩餘數據何時到達。 沒有逾時,因為數據抵達將取決於商業規則或程式,之後活動會標示為完成。 數據可能會在同一天到達,或在極端情況下,第二年到達。

解決方案是使用相關活動。

將您的活動分割成兩個活動。 將這兩個活動建立關聯,並將回應與原始活動產生關聯。

如需相關活動的詳細資訊,請參閱 活動關聯性

另請參閱

追踪配置檔編輯器