COM+ | MetodPro.ru

Реклама на сайте

COM+


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

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

  • управление транзакциями;
  • безопасность;
  • пулинг ресурсов;
  • пулинг объектов.

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

  • Координатор распределенных транзакций (DistributedTransactionCoordinator, DTC) представляет собой службу, управляющую транзакциями на низком уровне с использованием протокола двухфазной фиксации транзакций.
  • Административное приложение MTS Explorer позволяет настраивать параметры среды COM+, хранимые в системном реестре; управлять пакетами и ролями COM+.
  • Утилиты COM+ для работы в командной строке или batch-файле.
  • Исполняемый файл MTX.EXE, который реализует автоматические транзакции, безопасность и активизацию (Just-In-Time, JIT).

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

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

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

  • Программное обеспечение промежуточного уровня, обеспечивающее функционирование объектов транзакций во время выполнения.
  • Утилита MTS Explorer, позволяющая управлять объектами транзакций.
  • Интерфейсы прикладного программирования.
  • Средства управления ресурсами.

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

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

Объект COM+

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

  • объект должен быть реализован в составе внутреннего сервера (динамическая библиотека);
  • объект должен содержать ссылку на библиотеку типов COM+;
  • объект должен использовать только стандартный механизм маршаллинга COM;
  • объект должен имплементировать интерфейс IobjectControl.

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

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

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

Транзакции

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

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

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

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

Безопасность данных

Одним из удобных сервисов, предоставляемых COM+, является реализация возможности обеспечить доступ к компонентам (и даже к отдельным интерфейсам) в зависимости от прав, которыми обладает клиент. Безопасность COM+ состоит из двух частей:

  • декларативная защита данных;
  • программная защита данных.

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

Декларативная защита данных

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

Программная защита данных

Программная защита данных обеспечивается объектом контекста (см. выше) и методами IsSecurityEnabled и IsCallerInRole интерфейса IobjectContext этого объекта. Программная защита данных проектируется на этапе разработки приложения и исполняется при функционировании приложения, использующего данный объект COM+.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем