Когда пользователь или программа ссылается на интерфейс компонента ActiveX, посылая
сообщение или событие, СОМ определяет компонент и перенаправляет ему данное сообщение или
событие. Компонент, на который происходит ссылка, может быть локальным или находиться на
удаленном компьютере. Локальная соединяемость обеспечивается механизмами межпроцессного
взаимодействия самой операционной системы. Удаленная соединяемость обеспечивается
протоколом TCP/IP.
Разработчикам остается только вставить в своем коде ссылку на соответствующий объект ActiveX.
Все остальное сделают СОМ и DCOM (распределенное сетевое расширение СОМ). Описанные
ниже сервисы службы каталогов предоставляют СОМ и DCOM всю необходимую информацию
для разрешения ActiveX-ссылок.
Transaction Server задействует механизмы безопасности Windows NT. Windows NT обеспечивает
вход в систему через пользовательский ID и пароль, а также управление доступом к ресурсам с
помощью администрирования пользователей и групп пользователей. Transaction Server расширяет
эти возможности за счет управления доступом к индивидуальным компонентам приложения.
Контроль может выполняться как с помощью административных функций Windows NT по
отношению к пользователям и группам, так и программным путем внутри компонентов
приложения.
Службы каталогов обеспечиваются в Transaction Server и СОМ через Windows Registry, который
содержит информацию о пользователях, группах, приложениях, именах и интерфейсах ActiveX.
Он предоставляет все необходимое для поддержки многоуровневых приложений в Microsoft
Windows. Создание и поддержка registry является административной функцией, разработчики
избавлены от необходимости следить за этим.
Разработчики в своих приложениях просто пишут код на SQL для получения информации.
Transaction Server имеет монитор транзакции, который контролирует доступ транзакций к
менеджерам ресурсов. Транзакции могут обращаться к единственному менеджеру ресурсов или
через поддержку протокола Microsoft Dislnhuled Transaction Coordinator (DTC) транзакция могут
согласовывать и синхронизировать свои доступ к нескольким менеджерам ресурсов. В начальной
версии Transaction Server в роли менеджеров ресурсов могут выступать Microsoft SQL Server и БД,
поддерживающие интерфейс ODBC. Следующие версии будут поддерживать протоколы ХА, SNA
LU6.2 и TIP (Transaction Internet Protocol) и, следовательно, будут расширены понятия менеджеров
ресурсов и среды обработки, могущие участвовать в транзакциях.
Программистские усилия по поддержке транзакций сводятся к минимуму. Пишущим код не
нужно вставлять в программу операторы Beg transaction. End transaction или Abort transaction.
Транзакции определяются путем задания свойства компонента приложения. Если компоненты
помечены как "transactional". Transaction Server будет управлять транзакциями на всем периоде его
выполнения. Все компоненты, на которые он ссылается, автоматически принимают участие в
транзакции. Если компоненты помечены как транзакционные, то все их выполнение будет
заключено внутри единой транзакции. Shared Property Manager (Менеджер разделенных свойств) в
составе Transaction Server предоставляет механизм разделения доступа к глобальной информации
между серверными процессами. Разработчики могут его использовать для широкого круга
вопросов, включая мониторинг и управление исполнением, чередование процессов и т. д. Shared
Property Manager выполняет все необходимые действия по разделению информации между
приложениями. Разработчики могут спокойно концентрировать ycилия на программной логике.
Поскольку действия выполняются централизованно, процесс отладки и сопровождения
распределенных приложений проходит более гладко, нежели в тех случаях, когда созданием и
управлением глобальными данными занимаются отдельные разработчики.
MTS обеспечивает плотную целостность распределенных транзакций к протоколу двухфазной
фиксации. Тем не менее существуют ситуации, когда более выгодно работать асинхронно. К ним
относятся приложения, в которых инициатор транзакции должен продолжать работу, не
дожидаясь результатов обработки запроса. Приложения, обменивающиеся сообщениями могут не