WS-AtomicTransaction


WS-AtomicTransaction (WS-AT) baut auf WS-Coordination auf. WS-AT richtet sich dabei speziell an kurz laufende Transaktionen, für die die so genannten ACID-Eigenschaften wichtig sind. Das bedeutet z.B. falls eine einzelne atomare Transaktionen fehlschlägt, wird garantiert, dass auch die ganze Transaktion fehlschlägt. WS-AT selbst beinhaltet drei Protokolle. Das sind:
  1. Completion protocol
  2. Volatile Two-Phase-Commit-Protocol
  3. Durable Two-Phase-Commit-Protocol

Completion protocol

Das Completion Protocol wird von einer Anwendung (Initiator) dafür genutzt, dem Koordinator anzuweisen eine atomare Transaktion abzubrechen (rollback) oder sie erfolgreich zu beenden (commit). Nach dem Beenden der Transaktion sendet der Koordinator eine Nachricht mit dem Ausgang der Transaktion an die Anwendung (entweder aborted oder committed).

Two-Phase-Commit-Protocol

Das Two-Phase-Commit-Protocol bildet die Grundlagen für die beiden weiteren Protokolle von WS-AtomicTransaction. Eingesetzt wird dieses Protokoll bei Transaktionen in verteilten Systemen. Wie der Name schon sagt, gibt es zwei Phasen: Die Abstimmungsphase und die Abschlussphase. Das Two-Phase-Commit-Protocol hat darüber hinaus zwei Varianten. Das volatile 2PC protocol und das durable 2PC protocol.

Ein Teilnehmer kann sich dabei an mehr als nur an einem dieser Protokolle registrieren.

Volatile Two-Phase-Commit-Protocol

Das Volatile Two-Phase-Commit-Protocol richtet sich an diejenigen Teilnehmer, die flüchtige Speicher verwalten, wie z.B. Caches. Ist dies der Fall, können sie sich mit der folgenden ProtocolIdentifier für das Protokoll registrieren: http://docs.oasis-open.org/ws-tx/wsat/2006/06/Volatile2PC

Nach dem Empfang einer commit Nachricht im Rahmen des completion protocols startet der Root-Koordinator die Abstimmungsphase für alle Teilnehmer die sich für das Volatile Two-Phase-Commit-Protocol registriert haben. Während dieser Zeit ist es für Teilnehmer weiterhin möglich für das durable Two-Phase-Commit-Protocol zu registrieren. Denn erst wenn alle für das volatile Two-Phase-Commit-Protocol registrierten Teilnehmer auch abgestimmt haben, fängt die Abstimmungsphase des durable Two-Phase-Commit-Protocol an. Ist dies der Fall muss der Registration Service des Koordinatiors bei allen weiteren Registrierungsanfragen mit einer „Cannot Register Participant fault“-Nachricht antworten. Ein volatile-Empfänger wird nicht garantiert, dass er eine Mitteilung über das Transaktionsergebnis erhält.

Durable Two-Phase-Commit-Protocol

Genutzt werden sollte das durable Two-Phase-Commit-Protocol von all denjenigen Teilnehmern, die einen dauerhaften Speicher verwalten, wie beispielsweise eine Datenbank. Nach der erfolgreichen Abstimmungsphase für das volatile Two-Phase-Commit-Protocol beginnt der Root-Koordinator mit der Abstimmungsphase für das durable Two-Phase-Commit-Protocol.

Teilnehmer die sich für dieses Protokoll registrieren möchte, müssen folgende protocol identifier nutzen: http://docs.oasis-open.org/ws-tx/wsat/2006/06/Durable2PC

Quelle:

Artikel vom 01.04.2014

Kommentare zum Artikel

comments powered by Disqus