Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ПСЭД_ок.doc
Скачиваний:
29
Добавлен:
18.09.2019
Размер:
4.27 Mб
Скачать

4.3. Обзор программных технологий для создании систем электронного документооборота

4.3.1. Многокомпонентная модель объектов (com)

4.3.1.1. Общая характеристика com

Одним из ключевых достижений Windows по праву считается многокомпонентная модель объектов (Component Object Model, COM). Модель COM описывает способ взаимодействия программ любого типа. Программа-сервер (сервер COM) предоставляет в распоряжение окружающих собственные службы, а программа-клиент (клиент COM) пользуется услугами доступных служб. Взаимодействующие COM-объекты могут функционировать как в рамках одного и того же процесса, так и в разных процессах, в том числе протекающих на разных машинах под управлением различных операционных систем. COM - это одновременно и спецификация (определяющая порядок создания взаимодействующих между собой приложений), и реализация (в форме стандартного набора функций API). Кроме того, COM - это независимая от платформы, распределенная объектно-ориентированная система, предназначенная для создания взаимодействующих программных компонентов.

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

1. Легкость подключения к операционной системе.

2. Автономность.

3. Простота интеграции в состав программного обеспечения.

4. Универсальный способ обращения к методам и свойствам из любого современного языка программирования.

Корпорация Microsoft стандартизировала как способ представления COM - объекта в памяти компьютера, так и особенности идентификации методов и свойств этого объекта. Поэтому в официальной документации Microsoft (MSDN) при описании COM неоднократно упоминается о том, что COM-модель соответствует бинарному (другими словами, универсальному) стандарту.

На первый взгляд черный ящик COM весьма похож библиотеку DLL.

Как и COM, DLL позволяет многократно использовать свой код, легко подключаться к ОС и интегрироваться в программное обеспечение. Но динамически подключаемая библиотека не в состоянии гарантировать, что экспортируемые ею функции без каких-либо ограничений могут быть вызваны средствами любого другого языка программирования. Кроме того, при работе c DLL мы сталкиваемся с рядом ограничений, связанных с местом ее размещения: библиотека должна располагаться либо в строгом перечне каталогов, либо обязательно прописываться в системных путях. Еще более сложная задача - загрузка DLL с другого компьютера. В отличие от DLL, модель COM обеспечивает универсальный способ загрузки своих объектов независимо от места их размещения.

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

В интересах клиентских и серверных приложений COM-модели активно трудится библиотека COM (COM Library). Физически библиотека COM представляет собой набор исполняемых файлов и динамически подключаемых библиотек. Она способна:

1. Предоставлять услуги некоторого набора функций API, облегчающих разработку приложений COM. Например, для клиентских приложений предназначены методы, создающие объекты. Для приложений серверов в библиотеке предусмотрены средства демонстрации их COM-объектов.

2. Генерировать уникальный идентификатор объекта, осуществлять поиск требуемого объекта по его идентификатору.

3. Производить вызов удаленных процедур, если сервер COM размещен на другом компьютере.

4. Управлять распределением памяти в интересах взаимодействующих процессов и контролировать освобождение памяти.

По существующей договоренности имена всех методов Win32 API библиотеки COM начинаются с префикса «Co», например CoCreateGuid(), CoCreateInstance(), CoUn- initialize() и т. п.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]