Архитектура Microsoft Windows для разработчиков



Microsoft Transaction Server - часть 2


Компоненты, выполняющиеся в среде Transaction Server, используют модель транзакций, поэтому приложения можно программировать так, как будто они работают изолированно. Transaction Server берет на себя заботу о параллельном выполнении компонентов, распределении ресурсов между ними, защите, управлении контекстом и т. д. Система транзакций, работая согласованно с серверами баз данных и другими диспетчерами ресурсов, обеспечивает целостность, непротиворечивость, изолированность и завершенность транзакций.

Транзакции

Transaction Server упрощает задачу разработки компонентных приложений за счет модели транзакции. Она предохраняет приложения от проблем, связанных с одновременным обновлением данных или сбоями системы. Вот каковы свойства транзакции.

  • Целостность (atomicity) — все обновления, заданные транзакцией, завершаются полностью либо в случае сбоя отменяются, и контекст приобретает первоначальный вид.
  • Непротиворечивость (consistency) — при транзакции состояние системы преобразуется корректно, без изменения констант состояния.
  • Изолированность (isolation) — параллельные транзакции изолированы от частичных и незавершенных результатов друг друга, что гарантирует непротиворечивость состояния приложения. Менеджеры ресурсов с помощью протоколов синхронизации на основе транзакций изолируют результаты незавершенной работы активных транзакций.
  • Завершенность (durability) — завершенная модификация ресурса (например, записи базы данных) сохраняется при сбоях соединений, процессов и системы. Журнал транзакций позволяет восстановить завершенное состояние даже после сбоя дисковых носителей.
  • Промежуточные состояния транзакции невидимы за ее пределами. Если транзакция завершилась неудачно, она отменяется целиком. Это позволяет разрабатывать компоненты приложения так, как будто транзакции выполняются последовательно и независимо друг от друга.

    Компонент приложения можно объявить транзакционным, и в этом случае Transaction Server свяжет транзакции с объектами компонента. При выполнении методов такого объекта соответствующие сервисы менеджеров ресурсов реализуются как транзакции.


    Содержание  Назад  Вперед