WS-AtomicTransaction (WS-AT) je interoperabilen transakcijski protokol. Omogoča pretok porazdeljenih transakcij z uporabo sporočil spletnih storitev in interoperabilno usklajuje med heterogenimi transakcijskimi infrastrukturami. WS-AT uporablja dvofazni protokol izvajanja za ustvarjanje atomskega rezultata med porazdeljenimi aplikacijami, upravitelji transakcij in upravitelji virov.
Zagotovljena izvedba WS-AT v Windows Communication Foundation (WCF) vključuje storitev protokola, vgrajeno v upravitelja transakcij Microsoft Distributed Transaction Coordinator (MSDTC). Aplikacije WCF lahko posredujejo transakcije drugim aplikacijam prek WS-AT, vključno z interoperabilnimi spletnimi storitvami, izdelanimi s tehnologijo tretjih oseb.
Ko transakcija teče med odjemalsko aplikacijo in strežniško aplikacijo, je uporabljeni transakcijski protokol določen z vezavo, ki jo strežnik izpostavi na izbranem odjemalskem terminalu. Nekatere vezave, ki so privzeto na voljo za WCF, določajo protokol OleTransactions kot obliko prenosa transakcije, medtem ko druge privzeto določajo specifikacijo WS-AT. Prav tako lahko programsko spremenite izbiro transakcijskega protokola znotraj dane vezave.
Izbira protokola vpliva na:
- Oblika glav sporočil, ki se uporabljajo za pretok transakcije od odjemalca do strežnika.
- Omrežni protokol, ki se uporablja za izvajanje dvofaznega protokola za izvajanje med upraviteljem transakcij odjemalca in transakcijo strežnika, da se razreši izid transakcije.
Če sta strežnik in odjemalec napisana z uporabo WCF, vam ni treba uporabljati WS-AT. Namesto tega lahko uporabite privzeto konfiguracijo NetTcpBinding z omogočenim atributom TransactionFlow, ki bo uporabljal protokol OleTransactions.
Ta specifikacija definira naslednje protokole za atomske transakcije.
sklep: Prekinitveni protokol začne postopek potrditve. Glede na vpisane udeležence vsakega protokola koordinator začne z 2PC Volatile in napreduje do 2PC Durable. Končni rezultat je signaliziran pobudniku.
Dvofazna zaveza (2PC): Protokol 2PC usklajuje registrirane udeležence, da dosežejo odločitev o potrditvi ali preklicu, in zagotavlja, da so vsi udeleženci obveščeni o končnem izidu. Protokol 2PC ima 2 različici:
- Hlapni 2PC: The Udeleženci, ki upravljajo nestanovitne vire, kot je predpomnilnik, se morajo registrirati s tem protokolom.
- Vzdržljiv 2PC: Udeleženci, ki upravljajo trajne vire, kot je zbirka podatkov, se morajo registrirati s tem protokolom.
Udeleženec se lahko registrira za več kot enega od teh protokolov s pošiljanjem več registracijskih sporočil.