WS-AtomicTransaction – Разработка мобильных приложений, веб-сервисов, архитектуры SOA – Технология
перейти к содержанию

WS-AtomicTransaction — разработка мобильных приложений, веб-сервисы, архитектура SOA.

Объявления

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

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

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

Выбор протокола влияет:

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

Если сервер и клиент написаны с использованием WCF, вам не нужно использовать WS-AT. Вместо этого вы можете использовать конфигурацию NetTcpBinding по умолчанию с включенным атрибутом TransactionFlow, которая будет использовать протокол OleTransactions.

Эта спецификация определяет следующие протоколы для атомарных транзакций.

заключение: Протокол завершения запускает процесс подтверждения. В зависимости от зарегистрированных участников каждого протокола Координатор начинает с 2PC Volatile и переходит к 2PC Durable. Окончательный результат сообщается инициатору.

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

  • Нестабильный 2 ПК: a Участники, управляющие энергозависимыми ресурсами, такими как кэш, должны зарегистрироваться с помощью этого протокола.
  • Прочный 2 шт.: Участники, которые управляют надежными ресурсами, такими как база данных, должны зарегистрироваться с помощью этого протокола.

Участник может зарегистрироваться с использованием более чем одного из этих протоколов, отправив несколько регистрационных сообщений.