WS-AtomicTransaction – 行動應用程式、Web 服務、SOA 架構的開發 – 技術
跳至內容

WS-AtomicTransaction – 移動應用程序開發、Web 服務、SOA 架構

廣告

WS-AtomicTransaction (WS-AT) 是一種可互通的事務協定。它透過使用 Web 服務訊息傳遞實現分散式事務流,並跨異質事務基礎架構進行互通協調。 WS-AT 使用兩階段執行協定在分散式應用程式、事務管理器和資源管理器之間建立原子結果。

Windows Communication Foundation (WCF) 中提供的 WS-AT 實作包括與 Microsoft 分散式事務協調器 (MSDTC) 事務管理器整合的協定服務。 WCF 應用程式可以透過 WS-AT 將交易傳輸到其他應用程序,包括使用第三方技術建置的可互通的 Web 服務。

當事務在客戶端應用程式和伺服器應用程式之間流動時,所使用的事務協定由伺服器在所選客戶端端點上公開的綁定決定。預設為 WCF 提供的一些綁定指定 OleTransactions 協定作為事務傳播格式,而其他綁定則預設指定 WS-AT 規範。您也可以透過程式設計方式修改給定連線中事務協定的選擇。

協議的選擇會影響:

  • 用於將交易從客戶端流向伺服器的訊息標頭的格式。
  • 此網路協定用於執行客戶端事務管理器和伺服器事務之間的兩階段執行協議,以解析事務結果。

如果伺服器和用戶端是使用WCF編寫的,則不需要使用WS-AT。相反,您可以使用預設的 NetTcpBinding 配置並啟用 TransactionFlow 屬性,這將使用 OleTransactions 協定。

該規範定義了以下原子事務協定。

結論:終止協議啟動確認程序。根據每個協議的註冊參與者,協調員從 2PC Volatile 開始,直至 2PC Durable。最終結果將通知給發起者。

兩階段承諾(2PC): 2PC 協議協調註冊參與者做出確認或取消決定,並確保所有參與者都了解最終結果。 2PC 協定有 2 個變體:

  • 揮發性2PC: 管理易失性資源(例如快取)的參與者必須向此協議註冊。
  • 耐用 2 件:管理持久資源(例如資料庫)的參與者必須註冊此協議。

參與者可以透過發送多個註冊訊息來註冊多個這些協議。