Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по Курсовой Работе / ООП в совр.програм. Ворожцов А.В. 8-78-3.docx
Скачиваний:
40
Добавлен:
12.03.2015
Размер:
252.59 Кб
Скачать

ActiveX - объекты

Наиболее популярным в настоящее время решением, обеспечивающим производство унифицированных программных компонент, является технология ActiveX. ActiveX предлагает расширяемые стандарты и механизмы, которые дают возможность разработчикам программного обеспечения упаковывать функциональность в программные компоненты. Вместо того, чтобы заботиться о создании процедур, разработчики могут просто приобрести эту процедуру, не заботясь о ее внутренней реализации.

Автором технологии ActiveX является лидер мировой индустрии программирования - компания Microsoft. Родителем технологии ActiveX можно назвать технологию OLE версии 1, а старшим братом - OLE 2.

Таким образом, OLE стало маркой любой технологии, созданной на основе COM. Технологии эти, вообще говоря, очень разные. То есть этот термин скорее стал знаком некой группы новых перспективных технологий (например, термин Искусственный Интеллект объединяет и технологию автоматического доказательство теорем и обработку естественного языка и программирование действий роботов).

В 1996 Microsoft "родила” новый термин - ActiveX. Сначала этот термин относился только к технологиям, связанным с Internet. Затем он стал "захватывать территории”, традиционно принадлежащие OLE. И на осень 1997 года, состояние дел представлялось следующим образом:

OLE - технология создания составных документов;

ActiveX - все семейство технологий на основе COM.

Достаточно точное, но весьма "заумное" определение технологии ActiveX звучит следующим образом:

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

ActiveX - это не технология для написания частей приложения (как например, Win32 API). ActiveX применяется для совместного использования частей приложения с чем-либо еще и для доступа к таким разделяемым компонентам.

Сервисы и компоненты ActiveX

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

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

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

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

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

Подход, исповедуемый компонентной технологией, отличается также от подхода, принятого в открытой архитектуре сервисов Windows (Windows Open Service Architecture - WOSA). Если в WOSA между клиентом и сервисами должен был находится некий менеджер, который бы управлял ходом работ (например, в MAPI, ODBC и т.п.), то при компонентном подходе и использовании СОМ СОМ отвечает лишь за установление соединения, а дальше клиент и компонента общаются напрямую.

Смысл существования технологии ActiveX - способствовать развитию компонентного программного обеспечения и интеграции компонент.