Скачиваний:
18
Добавлен:
01.05.2014
Размер:
233.47 Кб
Скачать

Технология COM+ (Microsoft Transaction Server)

COM+

1

Для распределенных приложений большое значение имеют вопросы обеспечения надежности, производительности, масштабируемости. Технология COM+ (старое название Microsoft Transaction Server, MTS) входит в состав серверных операционных систем Microsoft и предназначена для поддержки систем обработки транзакций.

COM+

2

COM+ может устанавливаться и работать на компьютерах с операционными системами Windows 95/98, Windows NT, Windows XP, Windows 2000, Windows 2003. Однако необходимо отметить, что система безопасности транзакций не реализована для операционных систем Windows 95/98 вследствие объективных ограничений, накладываемых этими системами.

COM+

3

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

управление транзакциями;

безопасность;

пулинг ресурсов;

пулинг объектов.

COM+

4

Для управления объектами транзакций и настройки параметров COM+ используется ряд приложений и утилит.

Координатор распределенных транзакций (Distributed Transaction Coordinator, DTC) представляет собой службу, управляющую транзакциями на низком уровне с использованием протокола двухфазной фиксации транзакций.

Административное приложение MTS Explorer позволяет настраивать параметры среды COM+, хранимые в системном реестре; управлять пакетами и ролями COM+.

Утилиты COM+ для работы в командной строке или batch-файле.

Исполняемый файл MTX.EXE, который реализует автоматические транзакции, безопасность и активизацию (Just-In-Time, JIT).

COM+

5

Помимо перечисленных средств, для управления COM+ можно использовать и стандартные системные средства. Причем для выполнении любых операций необходимо иметь полномочия администратора на данном компьютере.

COM+

6

Как работает COM+

COM+ - это совокупность программных средств, обеспечивающих разработку, распространение и функционирование распределенных приложений для сетей Интернет и интранет. В ее состав входят:

Программное обеспечение промежуточного уровня, обеспечивающее функционирование объектов транзакций во время выполнения.

Утилита MTS Explorer, позволяющая управлять объектами транзакций.

Интерфейсы прикладного программирования.

Средства управления ресурсами.

COM+

7

Стандартная программная модель приложений, использующих COM+, представляет собой трехзвенную архитектуру распределенных приложений, состоящую из серверов, клиентов и ПО промежуточного уровня.

При этом бизнес-логика приложения сконцентрирована в объектах транзакций, а ПО промежуточного уровня, управляющее этими объектами, построено с использованием компонентной модели.

COM+

8

Разработчики, использующие COM+ в своих приложениях, создают объекты бизнес-логики, удовлетворяющие требованиям к объектам COM+; затем компилируют их и устанавливают в среде COM+ при помощи пакетов. Пакет COM+ представляет собой контейнер, обеспечивающий группировку объектов в целях защиты данных, улучшения управления ресурсами и увеличения производительности. Управление пакетами осуществляется при помощи утилиты MTS Explorer.

COM+

9

Объект COM+

Так как технология COM+ основана на COM, ее объекты должны удовлетворять основным требованиям к объектам COM. Помимо этого объекты COM+ имеют ряд особенностей:

объект должен быть реализован в составе внутреннего сервера (динамическая библиотека);

объект должен содержать ссылку на библиотеку типов COM+;

объект должен использовать только стандартный механизм маршаллинга COM;

объект должен имплементировать интерфейс IobjectControl.

COM+

10

Исходя из общих принципов работы COM+, создаваемый объект может быть двух типов:

statefull (с сохранением информации о состоянии объекта);

stateless (без сохранения информации о состоянии объекта).

COM+

11

Выбор типа объекта зависит от конкретной задачи и назначения объекта. Подобно любому объекту COM, объекты COM+ могут сохранять внутреннее состояние при многократном использовании одного экземпляра. При каждом использовании объект сохраняет текущие значения своих свойств. При последующем вызове объект может вернуть запрашивающему клиенту текущее состояние. Такой объект имеет тип statefull. Объекты этого типа позволяют решать более широкий спектр задач.

COM+

12

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

COM+

13

Если объект не может сохранять свое промежуточное состояние, то он относится к типу stateless. Объекты этого типа более эффективны. Когда транзакция успешно завершена или прервана, все объекты, вовлеченные в транзакцию, деактивируются и, соответственно, теряют информацию о своем состоянии, приобретенную во время транзакции. Это помогает убедиться в изоляции транзакции и согласованности базы данных, а также освобождает ресурсы сервера для использования другими транзакциями. Завершение транзакции позволяет COM+ деактивировать объект и обновить ресурсы.

COM+

14

Транзакции

Способность объекта COM+ "жить" внутри своей собственной транзакции или быть частью большой группы аналогичных объектов, которые принадлежат одной транзакции, - огромное преимущество COM+. Это позволяет применять компонент для решения различных задач, таким образом, что разработчики могут использовать код заново без модернизации логики приложения.

COM+

15

Транзакции COM+ гарантируют, что:

все изменения в одной транзакции будут либо приняты, либо возвращены в свое предыдущее состояние;

транзакция правильно и однозначно преобразует состояние системы;

одновременные транзакции не видят частичные и не сохраненные изменения, которые могут создавать конфликты;

подтверждение изменений управляемых ресурсов (таких как записи баз данных) защищает от ошибок, включая ошибки сети и процессов;

регистрация транзакций позволяет восстанавливать исходное состояние даже после ошибок на дисках.

COM+

16

Клиенты могут использовать прямой контроль над транзакциями с помощью контекста объекта, используя интерфейс ItransactionContext. Однако существует возможность и автоматического управления транзакциями.

COM+

17

Атрибуты транзакций можно устанавливать тремя способами:

на этапе разработки;

с помощью редактора библиотеки типов;

в среде MTS Explorer.

COM+

18

Завершение транзакции по умолчанию происходит через время, указанное в параметре transaction timeout, который выставляется для каждого объекта отдельно через утилиту MTS Explorer. По умолчанию это время равно 60 секундам. По истечении данного периода, если транзакция не успела завершиться, она автоматически прерывается.

COM+

19

Контекст объекта COM+

Для каждого объекта транзакции сервер транзакций автоматически создает специальный объект, который носит название объект контекста транзакции или контекст объекта COM+. Функциональность контекста обеспечивается интерфейсом IobjectContext.

COM+

20

Два метода интерфейса определяют способ выхода объекта из транзакции.

Метод SetComplete сообщает транзакции, что он готов к завершению своей работы в транзакции.

Использование метода SetAbort означает, что исполнение кода объекта привело к возникновению обстоятельств, препятствующих успешному завершению транзакции.

После использования любого из этих двух методов объект завершает свое участие в транзакции.

COM+

21

Соседние файлы в предмете Проектирование распределенных информационных систем