Interested Article - Object Linking and Embedding

OLE ( англ. Object Linking and Embedding , произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт .

В 1996 году Microsoft переименовала технологию в ActiveX .

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

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

OLE используется при обработке составных документов ( англ. compound documents ), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса ( англ. drag-and-drop ), а также при выполнении операций с буфером обмена . Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример — Веб-ТВ ), где используется передача изображения, звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML ). Однако технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel , то программа Excel должна быть инсталлирована на машине пользователя.

Технология

OLE 1.*

OLE 1.0 был выпущен в 1990 году на основе технологии DDE (Dynamic Data Exchange), использовавшейся в более ранних версиях операционной системы Microsoft Windows . В то время как технология DDE была сильно ограничена в количестве и методах передачи данных между двумя работающими программами, OLE имел возможность оперировать активными соединениями между двумя документами либо даже внедрить документ одного типа в документ другого типа.

OLE-серверы и клиенты взаимодействуют с системными библиотеками при помощи таблиц виртуальных функций ( англ. virtual function tables , VTBL ). Эти таблицы содержат указатели на функции, которые системная библиотека может использовать для взаимодействия с сервером или клиентом. Библиотеки OLESRV.DLL (на сервере) и OLECLI.DLL (на клиенте) первоначально были разработаны для взаимодействия между собой с помощью сообщения WM_DDE_EXECUTE, предоставляемого операционной системой.

OLE 1.1 позднее развился в архитектуру COM (component object model) для работы с компонентами программного обеспечения. Позднее архитектура COM была преобразована и стала называться DCOM .

Когда объект OLE помещен в буфер обмена информацией, он сохраняется в оригинальных форматах Windows (таких, как bitmap или metafile ), а также сохраняется в своём собственном формате. Собственный формат позволяет поддерживающей OLE-программе внедрить порцию другого документа, скопированного в буфер, и сохранить её в документе пользователя.

OLE 2.0

Следующим эволюционным шагом стал OLE 2.0, сохранивший те же цели и задачи, что и предыдущая версия. Но OLE 2.0 стал надстройкой над архитектурой COM вместо использования VTBL. Новыми особенностями стали автоматизация технологии drag-and-drop , in-place activation и structured storage .

ActiveX

В 1996 году Microsoft переименовала технологию OLE 2.0 в ActiveX . Были представлены элементы управления ActiveX , ActiveX документы и технология Active Scripting . Эта версия OLE в основном используется веб-дизайнерами для вставки в страницы мультимедийных данных.

См. также

  • DDE (Dynamic Data Exchange)

Ссылки

Литература

  • Kraig Brockschmidt. (англ.) . — 1993. — ISBN 1556156189 . — ISBN 978-1556156182 .
Источник —

Same as Object Linking and Embedding