OLE (Object Linking and Embedding) – это технология, позволяющая встраивать объекты из одного документа в другой, связывать их между собой и обмениваться данными. Она позволяет создавать документы, содержащие в себе элементы из различных программ, таких как текстовые документы, таблицы, графику и другие объекты. OLE широко используется в различных приложениях, таких как Microsoft Office, для улучшения совместимости и возможностей работы с различными типами данных.
В 1996 году Microsoft переименовала технологию в ActiveX.
OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений с помощью OLE-технологии.
Основное преимущество использования OLE (кроме уменьшения размера файла) — в том, что она позволяет создать главный файл, картотеку функций, к которой обращается программа. Этот файл может оперировать данными из исходной программы, которые после обработки возвращаются в исходный документ.
OLE используется при обработке составных документов, может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса, а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример — IPTV), где используется передача изображения, звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML). Однако технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. OLE (Object Linking and Embedding) – это технология в Windows, которая позволяет создавать объекты, которые могут быть связаны или встроены в другие документы или приложения.
OLE позволяет программам обмениваться данными и функциями без необходимости повторного ввода данных или копирования содержимого. Это позволяет создавать более сложные документы и приложения, так как объекты могут быть повторно использованы в разных местах без необходимости копирования.
Когда объект встраивается в документ, он сохраняет свою самостоятельность и может быть изменен и обновлен независимо от документа, в который он встроен. Когда объект связан с документом, любые изменения в объекте будут отражаться во всех документах, где он использован.
OLE поддерживается в различных программах, таких как Microsoft Word, Excel, PowerPoint и других. Он также может быть использован для взаимодействия между различными приложениями, например, вставка таблицы Excel в документ Word.
Технология OLE является мощным инструментом для улучшения производительности и эффективности работы с документами и приложениями в операционной системе Windows.
Этапы развития технологий OLE:
OLE 1.0 был выпущен в 1990 году на основе технологии DDE (Dynamic Data Exchange), использовавшейся в более ранних версиях операционной системы Microsoft Windows. В то время как технология DDE была сильно ограничена в количестве и методах передачи данных между двумя работающими программами, OLE имел возможность оперировать активными соединениями между двумя документами либо даже внедрить документ одного типа в документ другого типа.
OLE-серверы и клиенты взаимодействуют с системными библиотеками при помощи таблиц виртуальных функций. Эти таблицы содержат указатели на функции, которые системная библиотека может использовать для взаимодействия с сервером или клиентом. Библиотеки 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.