Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рябкова - Информационные системы в АСУТП.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
54.11 Кб
Скачать

Компонентно-объектная модель

COM – это стандарт который позволяет создавать объекты Windows в виде отдельных модулей и обращаться к этим объектам со стороны.

Каждый объект можно рассматривать как расширение ОС. Объекты не зависят от языков программирования и доступны для любых приложений.

Объекты COM это компоненты, которые выполняются в среде Windows и предоставляют определенный набор функций другим компонентам через свои интерфейсы.

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

Ни к самому объекту, ни к его данным или объектному коду на прямую обратиться нельзя.

СОМ интерфейс, это определенный набор методов предназначенных для вызова функций

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

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

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

В СОМ модели различают следующие типы интерфейсов:

  1. Automation Interface

  2. Custom Interface

Интерфейсы отличаются способом вызовов внутренних методов. Для каждого интерфейса существует отдельная спецификация. Тем не менее интерфейсы подходят для широкого круга задач. Например, для доступа к переменным или для приема сообщений. Для приложений являющихся OPC клиентами созданных на базе языков описания сценариев, таких как VB, например должен использоваться интерфейс автоматизации. Для приложений являющимися OPC клиентами написанных на языке С++, можно использовать так же интерфейс автоматизации, однако для достижения максимальной производительности рекомендуется применять пользовательский интерфейс.

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

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

В результате добавления СОМ объектам распределенного интерфейса (интерфейса автоматизации), методы объекта становятся доступными даже для простых языков описания сценариев.

Благодаря интерфейсу автоматизации, команды распознаваемые объектом становятся видимыми внешним приложением. Программируемый доступ к СОМ серверам автоматизации описывается набором свойств и методов. В результате достигается простое внедрение СОМ объекта в среды разработки.

Как продолжение развития технологии ком DCOM – Distributed Company Object Model (распределенная компонентно-объектная модель), поддерживает работу распределенных приложений и обеспечивает взаимодействие между программными компонентами расположенными на различных компьютерах в сети.

Windows аккумулирует сведения о доступных СОМ объектах, с помощью так называемых COM-библиотек.

COM-библиотека это часть Windows, которая управляет заносимой в реестр информацией о COM объектах, известных системе, например, об OPC серверах.

При обращение клиента к СОМ библиотеке выполняется поиск адресуемого объекта и соединение устанавливается в зависимости от его расположения:

  1. Если адресуемый объект и клиент находятся на одном компьютере, соединение устанавливается через локальный механизм СОМ.

  2. Если на разных компьютерах, то соединение устанавливается через DCOM.

Технология DCOM осуществляет свою работу максимально эффективно, как в рамках LAN, так и WAN, а так же GAN (интернет), предоставляя приложениям необходимые сервисы.