Jump to content

Сервер транзакций Microsoft

Microsoft Transaction Server ( MTS ) — это программное обеспечение , которое предоставляло услуги модели компонентных объектов (COM) программным компонентам , чтобы упростить создание крупных распределенных приложений. Основными услугами, предоставляемыми МТС, были автоматическое управление транзакциями , управление экземплярами (или своевременная активация ) и безопасность на основе ролей. MTS считается первым крупным программным обеспечением, реализующим аспектно-ориентированное программирование . [1]

MTS впервые был предложен в пакете опций Windows NT 4.0. В Windows 2000 MTS был усовершенствован и лучше интегрирован с операционной системой и COM и был переименован в COM+ . COM+ добавил пул объектов , слабосвязанные события к функциям MTS и определяемые пользователем простые транзакции (компенсирующие менеджеры ресурсов).

COM+ по-прежнему поставляется с Windows Server 2003 и Windows Server 2008 , а Microsoft .NET Framework предоставляет оболочку для COM+ в пространстве имен EnterpriseServices. Windows Communication Foundation (WCF) предоставляет способ вызова приложений COM+ с помощью веб-служб . Однако COM+ основан на COM, а стратегической архитектурой программного обеспечения Microsoft теперь являются веб-сервисы и .NET, а не COM. Для многих функций, предоставляемых COM+, существуют чистые альтернативы на основе .NET, и в долгосрочной перспективе, вероятно, COM+ будет постепенно прекращен.

Архитектура

[ редактировать ]

Базовая архитектура MTS включает в себя:

Компоненты COM, которые работают под контролем руководителя MTS, называются компонентами MTS. В COM+ они называются приложениями COM+. Компоненты MTS представляют собой внутрипроцессные библиотеки DLL . Компоненты MTS развертываются и запускаются в MTS Executive, который ими управляет. Как и в случае с другими компонентами COM, объект, реализующий интерфейс IClassFactory, служит фабричным объектом для создания новых экземпляров этих компонентов.

MTS вставляет объект Factory Wrapper и Object Wrapper между фактическим объектом MTS и его клиентом. Такое вставление оберток называется перехватом . Всякий раз, когда клиент выполняет вызов компонента MTS, оболочки (Factory и Object) перехватывают вызов и внедряют в вызов свой собственный алгоритм управления экземплярами, называемый моментальной активацией (JITA). Затем оболочка выполняет этот вызов к реальному компоненту MTS. В то время перехват считался трудным из-за отсутствия расширяемых метаданных. [1]

Кроме того, на основе информации из свойств развертывания компонента в этих объектах-оболочках также выполняются логика транзакций и проверки безопасности.

Для каждого объекта, размещенного в MTS, также существует объект контекста, который реализует интерфейс IObjectContext. Объект контекста хранит конкретную информацию об этом объекте, такую ​​как информация о его транзакциях, информация о безопасности и информация о развертывании. Методы компонента MTS вызывают объект контекста через его интерфейс IObjectContext.

MTS не создает фактический объект MTS среднего уровня до тех пор, пока вызов от клиента не достигнет контейнера. Поскольку объект не работает постоянно, он не использует много системных ресурсов (даже несмотря на то, что оболочка и скелет объекта сохраняются).

Как только от клиента поступает вызов, процесс-оболочка MTS активирует свой алгоритм управления экземплярами, называемый JITA. Фактический объект MTS создается «как раз вовремя» для обслуживания запроса от оболочки. И когда запрос обслуживается и ответ отправляется обратно клиенту, компонент либо вызывает SetComplete()/SetAbort(), либо его транзакция завершается, либо клиент вызывает Release() по ссылке на объект, и фактическое Объект МТС уничтожен. Короче говоря, MTS использует модель компонентов без сохранения состояния.

Обычно, когда клиент запрашивает услуги у типичного компонента MTS, на сервере происходит следующая последовательность действий:

  1. получить соединение с базой данных
  2. прочитать состояние компонента либо из диспетчера общих свойств, либо из уже существующего объекта, либо из клиента
  3. выполнять бизнес-логику
  4. записать измененное состояние компонента, если таковое имеется, обратно в базу данных
  5. закрыть и освободить соединение с базой данных
  6. проголосовать за результат сделки. Компоненты MTS не фиксируют транзакции напрямую, а сообщают MTS об их успехе или неудаче.

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

  1. ^ Jump up to: а б Дон Бокс; Крис Селлс (4 ноября 2002 г.). Essential.NET: общеязыковая среда выполнения . Аддисон-Уэсли Профессионал. п. 206 . ISBN  978-0-201-73411-9 . Проверено 4 октября 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fa53d5b216861f4929008503dc7e0dbe__1688838600
URL1:https://arc.ask3.ru/arc/aa/fa/be/fa53d5b216861f4929008503dc7e0dbe.html
Заголовок, (Title) документа по адресу, URL1:
Microsoft Transaction Server - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)