WS-AtomicTransaction – Ontwikkeling van mobiele applicaties, webservices, SOA-architectuur - Technologie
Doorgaan naar artikel

WS-AtomicTransaction – Ontwikkeling van mobiele applicaties, webservices, SOA-architectuur

Advertenties

WS-AtomicTransaction (WS-AT) is een interoperabel transactieprotocol. Het maakt gedistribueerde transactiestromen mogelijk door het gebruik van webservice-berichten en coördineert interoperabel tussen heterogene transactie-infrastructuren. WS-AT gebruikt het tweefasige uitvoeringsprotocol om een atomair resultaat te creëren tussen gedistribueerde applicaties, transactiemanagers en resourcemanagers.

De geleverde implementatie van WS-AT in Windows Communication Foundation (WCF) omvat een protocolservice die is geïntegreerd met de transactiemanager van Microsoft Distributed Transaction Coordinator (MSDTC). WCF-applicaties kunnen via WS-AT transacties naar andere applicaties verzenden, inclusief interoperabele webservices die zijn gebouwd met behulp van technologie van derden.

Wanneer een transactie tussen een clienttoepassing en een servertoepassing stroomt, wordt het gebruikte transactieprotocol bepaald door de binding die de server blootlegt op het geselecteerde clienteindpunt. Sommige bindingen die voor WCF worden geleverd, specificeren standaard het OleTransactions-protocol als het transactiepropagatieformaat, terwijl andere standaard de WS-AT-specificatie gebruiken. U kunt de keuze van het transactieprotocol binnen een bepaalde verbinding ook programmatisch wijzigen.

De keuze van het protocol beïnvloedt:

  • Het formaat van de berichtkoppen die worden gebruikt om de transactie van de client naar de server te laten stromen.
  • Het netwerkprotocol dat wordt gebruikt om het tweefasige uitvoeringsprotocol uit te voeren tussen de clienttransactiemanager en de servertransactie om het transactieresultaat op te lossen.

Als de server en client zijn geschreven met WCF, hoeft u WS-AT niet te gebruiken. In plaats daarvan kunt u de standaard NetTcpBinding-configuratie gebruiken met het TransactionFlow-kenmerk ingeschakeld, waarbij het OleTransactions-protocol wordt gebruikt.

Deze specificatie definieert de volgende protocollen voor atomaire transacties.

conclusie: Het beëindigingsprotocol start het bevestigingsproces. Op basis van het aantal ingeschreven deelnemers voor elk protocol begint de coördinator met 2PC Volatile en gaat vervolgens door naar 2PC Duurzaam. Het eindresultaat wordt aan de initiatiefnemer gesignaleerd.

Tweefasige verbintenis (2PC): Het 2PC-protocol coördineert geregistreerde deelnemers om tot een bevestigings- of annuleringsbeslissing te komen en zorgt ervoor dat alle deelnemers op de hoogte worden gesteld van het uiteindelijke resultaat. Het 2PC-protocol kent 2 varianten:

  • Vluchtige 2PC: De Deelnemers die vluchtige bronnen beheren, zoals een cache, moeten zich bij dit protocol registreren.
  • Duurzaam 2PC: Deelnemers die duurzame bronnen beheren, zoals een database, moeten zich bij dit protocol registreren.

Een deelnemer kan zich bij meer dan één van deze protocollen registreren door meerdere registratieberichten te verzenden.