A WS-AtomicTransaction (WS-AT) egy interoperábilis tranzakciós protokoll. Lehetővé teszi az elosztott tranzakciók áramlását webszolgáltatási üzenetek használatával, és interoperábilisan koordinálja a heterogén tranzakciós infrastruktúrákat. A WS-AT a kétfázisú végrehajtási protokollt használja, hogy atomeredményt hozzon létre az elosztott alkalmazások, a tranzakciókezelők és az erőforrás-kezelők között.
A WS-AT Windows Communication Foundation (WCF) rendszerben biztosított megvalósítása a Microsoft Distributed Transaction Coordinator (MSDTC) tranzakciókezelőbe beépített protokollszolgáltatást tartalmaz. A WCF-alkalmazások átadhatják a tranzakciókat más alkalmazásoknak a WS-AT-n keresztül, beleértve a harmadik féltől származó technológiával készült interoperábilis webszolgáltatásokat is.
Amikor tranzakció folyik egy ügyfélalkalmazás és egy kiszolgálóalkalmazás között, a használt tranzakciós protokollt a kiszolgáló által a kiválasztott ügyfélterminálon közzétett összerendelés határozza meg. Egyes WCF-hez alapértelmezés szerint biztosított összerendelések az OleTransactions protokollt adják meg a tranzakció terjesztési formátumaként, míg mások alapértelmezés szerint a WS-AT specifikációt használják. Programozottan is módosíthatja a tranzakciós protokoll kiválasztását egy adott összerendelésen belül.
A protokoll kiválasztása befolyásolja:
- Az üzenetfejlécek formátuma, amellyel a tranzakció a klienstől a kiszolgálóig folyik.
- A hálózati protokoll a kétfázisú végrehajtási protokoll futtatására szolgál az ügyféltranzakció-kezelő és a szervertranzakció között a tranzakció kimenetelének megoldása érdekében.
Ha a szerver és a kliens is WCF-fel van írva, akkor nincs szükség a WS-AT használatára. Ehelyett használhatja az alapértelmezett NetTcpBinding konfigurációt a TransactionFlow attribútum engedélyezésével, amely az OleTransactions protokollt fogja használni.
Ez a specifikáció a következő protokollokat határozza meg az atomi tranzakciókhoz.
következtetés: A lezárási protokoll elindítja a megerősítési folyamatot. Az egyes protokollok beiratkozott résztvevői alapján a koordinátor a 2PC Volatile-val kezdődik, és a 2PC Durable-ig halad. A végeredményt jelzik a kezdeményezőnek.
Kétfázisú kötelezettségvállalás (2 db): A 2PC protokoll koordinálja a regisztrált résztvevőket a megerősítő vagy a törlési döntés meghozatalában, és biztosítja, hogy minden résztvevő értesüljön a végeredményről. A 2PC protokollnak 2 változata van:
- Volatile 2PC: A Az ingadozó erőforrásokat, például a gyorsítótárat kezelő résztvevőknek regisztrálniuk kell ezzel a protokollal.
- Tartós 2PC: A tartós erőforrásokat, például adatbázist kezelő résztvevőknek regisztrálniuk kell ezzel a protokollal.
Egy résztvevő több regisztrációs üzenet elküldésével több protokollra is regisztrálhat.