OLE
Материал из Википедии — свободной энциклопедии
OLE (англ. Object Linking and Embedding) — технология связывания и внедрения объектов и протокол, разработанные компанией Майкрософт.
OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовой редактор, либо некоторое изображение в редактор изображений с помощью OLE технологии. Основное преимущество использования OLE (кроме уменьшения размера файла) в том, что она позволяет создать главный файл, картотеку функций, к которой обращается программа. Этот файл может оперировать данными из исходной программы, которые после обработки возвращаются в исходный документ.
OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса (англ. drag-and-drop), а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мульмедийным содержанием на веб-страницах (пример — Веб-ТВ), где используется передача изображение звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML). Однако, технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутсвовать на машине клиента. Например, если OLE оперирует таблицами Excel, то программа Excel должна быть инсталлирована на машине пользователя.
Содержание |
[править] Технология
[править] OLE 1.*
OLE 1.0 был выпущен в 1990 году на основе технологии DDE (Dynamic Data Exchange), использовавшейся в более ранних версиях операционной системы Windows. В то время как технология DDE была сильно ограничена в количестве и методах передачи данных между двумя работающими программами, OLE имел возможность оперировать активными соединениями между двумя документами либо даже внедрить документ одного типа в документ другого типа.
OLE сервера и клиенты взаимодействуют с системными библиотеками при помощи виртуальных функциональных таблиц (англ. virtual function tables, VTBL). Эти таблицы представляют собой указатели функций, которые системная библиотека может использовать для взаимодействия с сервером или клиентом. Библиотеки OLESVR.DLL (на сервере) and 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, сохранивший те же цели и задачи что и предыдущая версия, но стал надстройкой над архитектурой COM вместо использования VTBL. Новыми особенностями стали автоматизация, технологии drag-and-drop, in-place activation и structured storage.
[править] ActiveX
В 1996 году Microsoft переименовал технологию OLE 2.0 в ActiveX. Были представлены элементы управления ActiveX, ActiveX документы и технология Active Scripting. Эта версия OLE в основном используется веб-дизайнерами для вставки в страницы мультимедийных данных. Боясь потерять патент на разработку в ходе слушания судебного разбирательства с компанией Eolas, 2 декабря 2005 года Майкрософт объявил о прекращении поддержки технологии ActiveX. Технически это означало, что пользователи браузера Internet Explorer отныне должны теперь вручную активировать такие продукты как Flash или QuickTime перед тем как использовать их.