Добавлен: 06.04.2023
Просмотров: 270
Скачиваний: 1
-
- Automation
Технология автоматизации (automation) предлагает возможность программного управления одного приложения другим. В данной технологии различаются две составные компоненты:
- Клиентская часть, называемая контроллером автоматизации (automation controller);
- Серверная часть, которая носит название объекта автоматизации (automation object) – объект, которым управляет клиент.
Объекты автоматизации могут быть реализованы как внутренние, внешние и удаленные сервера. Технология автоматизации характеризуется двумя положениями:
- Объекты автоматизации должны иметь возможность определить множество свойств и команд через описания типов, т.е. они должны получить информацию об интерфейсах объекта, с которым идет взаимодействие, о методах интерфейсов и о типах аргументов. Такая информация предоставляется через библиотеки типов. Однако, использование библиотеки типов необязательно при использовании интерфейса диспетчеризации, т.к. с помощью последнего осуществляется привязка интерфейсов на этапе выполнения программы (недостатком такого подхода является отсутствие проверки соответствия типов на этапе компиляции);
- Объекты автоматизации должны предоставлять свои методы общедоступными для внешнего использования, так, чтобы ими могли пользоваться внешние приложения. Для этого, в объектах автоматизации должен быть реализован интерфейс диспетчеризации.
Основным достоинством технологии автоматизации является возможность создания объектов, работающих в любом процессном пространстве. Таким образом, вместо создания невизуального OLE-объекта предпочтительнее использовать Automation. Еще одно достоинство технологии Automation заключается в механизме взаимодействия приложений, реализуемый интерфейсом диспетчеризации, который автоматизирует процесс маршаллинга. Однако, этот механизм ограничивает набор типов данных, которые можно использовать при автомаршаллинге.
-
- ActiveX control
Технология ActiveX расширяет COM и OLE новыми функциями, специфичными для элементов управления ActiveX (ActiveX control). ActiveX control – визуальные объекты управления, реализуемые как внутренние COM-сервера, и которые включаются в OLE-контейнеры, и работают в их среде. Элементы управления ActiveX не являются законченными приложениями, но представляют собой объект, который решает некоторую частную задачу и может быть встроен в различные приложения. Основными характерными особенностями ActiveX controls является возможность обработки событий, привязки к источникам данных и поддержка лицензирования.
Элементы управления ActiveX особенно широко используются в разработке Web-приложений, где ActiveX controls используются как интерактивные объекты на Web-страницах. По существу, ActiveX становится стандартом, специально направленным на интерактивную часть World Wide Web, например, для просмотра в Web-браузере не гипертекстовых документов, доступ к базам данных и т.д.
Межпроцессные визуальные объекты
Объекты автоматизации, документы OLE и элементы управления ActiveX являются общими используемыми объектами для всех приложений. Менее общее использование COM-объектов присутствует в межпроцессных объектах, которые визуально отображаются и используются в многопроцессных приложениях. Эти типы объектов гораздо сложнее создавать, т.к. протокол взаимодействия, применяемый в управлении визуальными объектами в мнопроцессных приложениях стандартизован только для визуальных объектов, которые используют интерфейс OLE document. Следовательно, необходимо создать пользовательские интерфейсы объектов и их реализации, которые будут управлять маршаллингом интерфейсов. Также, это можно реализовать через:
- Использование двойственного интерфейса IDispatch, который поддерживает автомаршаллинг;
- Написание собственного класса, реализующего маршаллинг.
- OPC
Спецификация одной из модификаций OLE, которая называется OPC (OLE for Process Control) была разработана группой фирм, занимающихся разработкой программного обеспечения для систем промышленной автоматизации. Данная технология включает в себя набор стандартных соглашений, применяемых в системах промышленной автоматизации. В настоящее время особое развитие получило использование OPC как связующей механизм взаимодействия отдельных компонент SCADA-систем, а также систем различных производителей друг с другом, обеспечивая эффективную по времени и стоимости интеграцию компонент программного обеспечения. Связь по OPC осуществляется прозрачно для разработчика, используя все средства, которые предоставляет COM, что позволяет не внедряясь в технику связи организовывать взаимодействующие в единых информационных системах программные компоненты.
Средства разработки COM-приложений
Основным инструментом разработки COM-приложений, что закономерно, являются продукты Microsoft, относящиеся к семейству визуальных средств программирования Visual Studio. Все компоненты этого семейства предлагают средства работы по технологии COM, и направлены в основном именно на разработку продуктов в рамках этой технологии.