WS-AtomicTransaction – Розробка мобільних додатків, веб-сервісів, архітектури SOA – Технології
Перейти до вмісту

WS-AtomicTransaction – розробка мобільних додатків, веб-сервіси, архітектура SOA

Оголошення

WS-AtomicTransaction (WS-AT) — це сумісний протокол транзакцій. Він забезпечує потік розподілених транзакцій за допомогою повідомлень веб-сервісів і забезпечує взаємодію між різнорідними інфраструктурами транзакцій. WS-AT використовує двофазний протокол виконання для створення атомарного результату між розподіленими програмами, менеджерами транзакцій і менеджерами ресурсів.

Надана реалізація WS-AT у Windows Communication Foundation (WCF) включає службу протоколу, вбудовану в менеджер транзакцій Microsoft Distributed Transaction Coordinator (MSDTC). Програми WCF можуть передавати транзакції іншим програмам через WS-AT, включаючи сумісні веб-сервіси, створені за технологією сторонніх розробників.

Коли транзакція протікає між клієнтською програмою та серверною програмою, використовуваний протокол транзакції визначається прив’язкою, яку сервер надає на вибраному клієнтському терміналі. Деякі прив’язки, надані для WCF за замовчуванням, визначають протокол OleTransactions як формат розповсюдження транзакцій, тоді як інші за замовчуванням використовують специфікацію WS-AT. Ви також можете програмно змінити вибір протоколу транзакції в рамках певної прив’язки.

На вибір протоколу впливає:

  • Формат заголовків повідомлень, які використовуються для проходження транзакції від клієнта до сервера.
  • Мережевий протокол, який використовується для запуску двофазного протоколу виконання між менеджером транзакцій клієнта та транзакцією сервера, щоб визначити результат транзакції.

Якщо і сервер, і клієнт написані за допомогою WCF, вам не потрібно використовувати WS-AT. Замість цього ви можете використовувати стандартну конфігурацію NetTcpBinding із увімкненим атрибутом TransactionFlow, який використовуватиме протокол OleTransactions.

Ця специфікація визначає такі протоколи для атомарних транзакцій.

висновок: протокол завершення розпочинає процес підтвердження. На основі зареєстрованих учасників кожного протоколу Координатор починає з 2PC Volatile і прогресує до 2PC Durable. Кінцевий результат повідомляється ініціатору.

Двофазове зобов'язання (2PC): Протокол 2PC координує зареєстрованих учасників для прийняття рішення про підтвердження або скасування та забезпечує інформування всіх учасників про остаточний результат. Протокол 2PC має 2 варіанти:

  • Летючий 2PC: The Учасники, які керують непостійними ресурсами, такими як кеш, повинні зареєструватися за цим протоколом.
  • Міцний 2шт: Учасники, які керують довгостроковими ресурсами, такими як база даних, повинні зареєструватися за цим протоколом.

Учасник може зареєструватися для кількох із цих протоколів, надіславши кілька реєстраційних повідомлень.