在協調流程中實作設計模式
本節討論 BizTalk Server 程式設計的常見模式以及企業整合模式。 您可以利用單一模式或結合數個模式來設計您的商務程序,然後再使用 BizTalk 協調流程設計師中的圖形來實作設計。
設計模式
下列項目將簡短描述每個模式,並指向說明如何使用 BizTalk 協調流程設計師實作模式的主題或範例。
匯總工具
彙總工具模式可從多個來源接收資訊並將它併入單一訊息。 如需此模式的範例,請參閱匯總工具中的 Aggregate.odx (BizTalk Server 範例) 。
從協調流程呼叫管線
您可以從協調流程傳送及接收管線。 這允許重複使用管線並協助維護管線階段的協調流程解離。 如需此模式的範例,請參閱匯總工具中的 Aggregate.odx (BizTalk Server 範例) 。 另一個範例是撰寫訊息處理器中的CMP.odx (BizTalk Server 範例) 。 另請參閱 如何使用運算式來執行管線。
撰寫訊息處理器
撰寫訊息處理器模式可從匯總的或批次的交換訊息來處理個別的項目。 如需此模式的範例,請參閱撰寫訊息處理器中的CMP.odx (BizTalk Server 範例) 。
以內容為基礎的路由
以內容為基礎的路由模式可根據訊息內容的某些部分來決定訊息收件者。 如需此模式的範例,請參閱CBRSample (BizTalk Server 範例) 。
動態路由器
動態路由器模式可根據訊息處理的結果而決定目的地位址以及傳輸通訊協定。 您可以使用動態傳送埠或 角色連結 圖形來實作此模式。 如需此模式的範例,請參閱 SendMail中的 ReceiveSend.odx。 另一個範例是PartyResolution 中的SupplierProcess.odx (BizTalk Server Sample) 。
錯誤處理
BizTalk Server 可讓您指定自動化處理傳訊失敗,做為在已擱置佇列中放置失敗訊息的預設行為替代解決方案。 您可以將失敗的訊息路由至訂閱連接埠,以進行報告或處理。 如需此模式的範例,請參閱錯誤處理中的 ResubmitLogic.odx (BizTalk Server Samples Folder) 。
例外狀況處理和補償
您可以使用例外狀況處理常式和 擲回例外 狀況圖形或 運算式 圖形來處理例外狀況。 例如,您可以將下列程式碼放在 Expression 圖形中,以擲回例外狀況:
excp = new System.Exception();
throw(excp);
您可以使用補償區塊和 補償 圖形,對已認可的交易執行補償。 如需此模式的範例,請參閱補償 (BizTalk Server 範例中的UpdateContact.odx) 。 另一個範例是在 自訂例外狀況中。
訊息代理程式
訊息仲介模式可決定訊息的目的地,並保持對訊息流量的控制。 如需詳細資訊,請參閱 OrderBroker 協調流程中的處理。
訊息篩選
訊息篩選模式會選取符合特殊準則的訊息,以進行處理。 您可以將篩選運算式新增至啟動的 Receive 圖形,以實作此模式。 如需詳細資訊,請參閱 使用篩選搭配接收訊息圖形。
訊息轉譯程式
訊息轉譯程式模式可將訊息從一種形式轉換成另一種形式。 您可以使用 BizTalk 地圖搭配協調流程中的 轉換 圖形來實作此模式。 如需此模式的範例,請參閱HelloWorld (BizTalk Server 範例中的HelloOrchestration.odx) 。
平行群組
平行群組模式可以讓多個單一項目聯結在一起,達到個別項目無法完成的目標。 一組相關的項目會依任何順序抵達,但 BizTalk Server 必須收到所有的訊息,才能開始處理。
散佈和收集
散佈和收集模式可將訊息傳送至多個收件者,並從每個收件者接收回訊息。 您可以使用分隔器模式和彙總工具模式來實作此模式。 您可以使用匯總工具模式來組合使用分割器模式的結果,並將其放在 平行動作 圖形下。
循序群組
循序群組模式可以讓多個單一項目聯結在一起,達到個別項目無法完成的目標。 循序群組是具有預先定義順序的相關項目組。 雖然項目不需要完全相同,但 BizTalk Server 必須以循序方式接收這些項目。
Splitter
分隔器模式會將單一訊息分割為多個訊息。
重試擱置模式
重試擱置模式可讓協調流程在錯誤發生時擱置訊息。 擱置會發生在迴圈中,讓協調流程擱置、要求操作人員介入、然後以固定次數重試作業。