СОМ - ориентированные технологии

Под термином «СОМ-ориентированные технологии» (COM-based) подразумевается набор разнообразных программных технологий, опирающихся на модель COM как на некий фундамент (Рис. 9). В этот набор входит широкий спектр технологий корпорации Microsoft:

а) серверы и клиенты COM;

б) программные компоненты (элементы управления) ActiveX и автоматизация (Automation) в виде OLE-automation;

в) связывание и внедрение объектов (OLE - Object Linking and Embedding);

г) технология COM+ (включая сервер транзакций Microsoft (MTS - Microsoft Transaction Server) и служба очередейсообщений Microsoft(MSMQ - Microsoft Message Queue));

д) распределенная модель компонентных объектов (DCOM - Distributed COM).

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

ж) Технологии доступа к данным в БД OLE DB (базовая упрощенная спецификация COM и интерфейс API для доступа к данным) и ADO (ActiveX Data Objects - объекты данных ActiveX).

Рис. 9. COM-технологии

Дадим характеристику основным технологиям из приведенного выше списка, применяемым при создании информационных систем электронного документооборота.

4.3.2.1. DCOM

СОМ - объекты могут быть реализованы в любом файле.exe или.dll. При этом реализация объекта остается для пользователя объекта совершенно прозрачной благодаря предлагаемому COM - сервису, называемому маршалингом (marshalling).

Механизм маршалинга COM берет на себя всю организацию взаимного вызова функций между независимыми процессами и даже различными компьютерами, вследствие чего становится возможным, например, использование 32-разрядных объектов в 16-разрядных приложениях, а также доступ к объекту, расположенному на компьютере А, из приложения, запущенного на компьютере Б. Такое межкомпьютерное взаимодействие называется распределенной моделью компонентных объектов - Distributed COM, или DCOM.

4.3.2.2. COM+

COM+ - это, фактически, обычная спецификация COM, внутри которой реализованы некоторые дополнительные COM - ориентированные службы Microsoft. Другими словами, COM+ - это COM с некоторыми дополнениями, связанными с сервером транзакций Microsoft (MTS - Microsoft Transaction Server) и очередью сообщений Microsoft (MSMQ - Microsoft Message Queue).

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

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

б) поддержка безопасности;

в) удаленное администрирование;

г) обслуживание очереди компонентов;

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

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

При работе с COM+ ключевую рольвыполняют транзакции. Для их управления и администрирования служит сервер транзакций Microsoft (MTS). Транзакция представляет собой совокупность программных команд, которая либо выполняется полностью от начала и до конца, либо не выполняется вообще. Без поддержки транзакций объекты из коллекций не смогли бы взаимодействовать со сложными коммерческими приложениями. Например, в обработке транзакции, которая открывается при интерактивной покупке какого-либо товара, принимают участие несколько объектов, связанных с одной или несколькими базами данных. Эти объекты отвечают за прием запроса, проверку наличия товара, определение остатка денег на кредитной карточке, обновление данных по счету и оформление заказа. Причем все указанные действия должны быть согласованы. В противном случае может возникнуть сбой в процессе покупки, в результате чего все объекты и данные должны быть возвращены в состояние, которое они имели до начала транзакции. Если при этом, кроме всего прочего, объекты находятся на множестве различных компьютеров, то процесс управления еще более усложняется.

В основе компонентов для работы с очередями (queued components) лежит технология очереди сообщений Microsoft (MSMQ — Microsoft Message Queue), которая предоставляет клиентам COM+ возможность асинхронного вызова методов компонентов сервера COM+. По существу это означает, что клиенты могут создавать экземпляры серверных объектов и вызывать их методы независимо от того, доступен сервер или нет. Средства COM+ осуществляют управление этим процессом, размещая вызовы методов в очереди, а непосредственное выполнение этих методов происходит в дальнейшем при восстановлении подключения к серверу. Серверным объектам фактически «безразлично», вызываются ли их методы непосредственно или через очередь COM+.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: