WS-AtomicTransaction – Tworzenie aplikacji mobilnych, usług internetowych, architektura SOA - Technologia
Przejdź do treści

WS-AtomicTransaction – Tworzenie aplikacji mobilnych, usługi webowe, architektura SOA

Reklamy

WS-AtomicTransaction (WS-AT) to interoperacyjny protokół transakcyjny. Umożliwia rozproszony przepływ transakcji poprzez wykorzystanie komunikatów usług sieciowych i koordynuje interoperacyjnie w heterogenicznych infrastrukturach transakcyjnych. WS-AT wykorzystuje dwufazowy protokół wykonawczy do tworzenia niepodzielnych wyników pomiędzy rozproszonymi aplikacjami, menedżerami transakcji i menedżerami zasobów.

Dostarczona implementacja WS-AT w Windows Communication Foundation (WCF) obejmuje usługę protokołu zintegrowaną z menedżerem transakcji Microsoft Distributed Transaction Coordinator (MSDTC). Aplikacje WCF mogą przesyłać transakcje do innych aplikacji za pośrednictwem protokołu WS-AT, w tym do interoperacyjnych usług internetowych zbudowanych przy użyciu technologii innych firm.

Gdy transakcja przepływa między aplikacją kliencką a aplikacją serwerową, używany protokół transakcji jest określany na podstawie powiązania udostępnianego przez serwer w wybranym punkcie końcowym klienta. Niektóre powiązania udostępnione dla programu WCF domyślnie określają protokół OleTransactions jako format propagacji transakcji, podczas gdy inne domyślnie określają specyfikację WS-AT. Można także programowo modyfikować wybór protokołu transakcji w ramach danego połączenia.

Wybór protokołu wpływa na:

  • Format nagłówków wiadomości używanych do przepływu transakcji od klienta do serwera.
  • Protokół sieciowy używany do wykonywania dwufazowego protokołu wykonania pomiędzy menedżerem transakcji klienta a transakcją serwera w celu ustalenia wyniku transakcji.

Jeśli serwer i klient są napisane przy użyciu WCF, nie musisz używać WS-AT. Zamiast tego można użyć domyślnej konfiguracji NetTcpBinding z włączonym atrybutem TransactionFlow, który będzie korzystał z protokołu OleTransactions.

Ta specyfikacja definiuje następujące protokoły dla transakcji niepodzielnych.

wniosek: Protokół zakończenia rozpoczyna proces potwierdzenia. Na podstawie zarejestrowanych uczestników każdego protokołu Koordynator zaczyna od 2 szt. lotnych i przechodzi do 2 szt. trwałych. Wynik końcowy jest sygnalizowany inicjatorowi.

Zobowiązanie dwufazowe (2 szt.): Protokół 2PC koordynuje zarejestrowanych uczestników w celu podjęcia decyzji o potwierdzeniu lub anulowaniu i gwarantuje, że wszyscy uczestnicy zostaną poinformowani o ostatecznym wyniku. Protokół 2PC ma 2 warianty:

  • Lotne 2 szt.: The Uczestnicy zarządzający zasobami niestabilnymi, takimi jak pamięć podręczna, muszą zarejestrować się w tym protokole.
  • Trwałe 2 szt: Uczestnicy zarządzający trwałymi zasobami, takimi jak baza danych, muszą zarejestrować się w tym protokole.

Uczestnik może zarejestrować się w więcej niż jednym z tych protokołów, wysyłając wiele wiadomości rejestracyjnych.