Что такое ole технология кратко

Обновлено: 19.05.2024

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

OLE изначально является акронимом для связывания и внедрения объектов. Однако теперь он называется OLE. Части OLE, не связанные с связыванием и внедрением, теперь являются частью активной технологии.

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

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

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

Связь и внедрение

Связывание и внедрение — это два метода хранения элементов, созданных в документе OLE, которые были созданы в другом приложении. Общие сведения о различиях между ними см. в статье OLE Background: компоновка и внедрение. Более подробные сведения см. в статье контейнеры и серверыстатей.

Активация In-Place (визуальное редактирование)

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

Связывание и внедрение и встроенная активация предоставляют основные возможности редактирования визуальных элементов OLE.

Автоматизация автоматизации позволяет одному приложению управлять другим приложением. Управляющее приложение называется клиентом автоматизации, а управляемое приложение называется сервером автоматизации или компонентом автоматизации. Дополнительные сведения об автоматизации см. в статье Клиенты автоматизации и серверы автоматизации.

Автоматизация работает как в контекстах OLE, так и в активных технологиях. Можно автоматизировать любой объект, основанный на COM.

Составные файлы предоставляют стандартный формат файлов, который упрощает структурированное хранение составных документов для приложений OLE. В составном файле хранилища имеют множество функций каталогов и потоков, имеющих множество функций файлов. Эта технология также называется структурированным хранилищем. Дополнительные сведения о составных файлах см. в разделе контейнеры статей: составные файлы.

Однородное Передача данных

Универсальный Передача данных (UDT) — это набор интерфейсов, позволяющих отправлять и получать данные стандартным образом независимо от фактического метода передачи данных. Определяемый пользователем тип формирует базу для передачи данных путем перетаскивания. UDT теперь выступает в качестве базиса для существующих Windowsных данных, таких как буфер обмена и динамический обмен данными (DDE). Дополнительные сведения о определяемых пользователем параметрах см. в статьях объекты данных и источники данных (OLE).

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

Модель COM предоставляет инфраструктуру, используемую при взаимодействии объектов OLE друг с другом. Классы OLE MFC упрощают работу с COM для программиста. COM является частью активной технологии, так как объекты COM лежат в базе технологии OLE и Active. Дополнительные сведения о COM см. в разделах библиотеки активных шаблонов (ATL) .

Некоторые из наиболее важных разделов OLE рассматриваются в следующих статьях:

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


Обратная разработка программного обеспечения — процедура получения информации об алгоритме. При этом получение этих данных напрямую зависит от того, насколько много есть информации о приложении в документации, и от того, какой использовался способ для создания файла. Всё еще больше усложняется, если алгоритм заимствует фрагменты из других приложений или операционной системы. Эта статья расскажет о механизмах, которые заложены в ОС Windows, благодаря которым процесс обратной разработки может стать весьма сложным процессом.

С чего всё началось

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

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

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

Каждый WinAPI интерфейс позволяет сделать минимальное действие, которое может произвести ОС, то есть если программист решит написать приложение, то для его реализации придётся задействовать несколько сотен, а то и тысяч интерфейсов. Отдельно стоит упомянуть, что это далеко не единственный способ, который доступен в ОС для реализации алгоритмов. ОС Windows также предлагает компонентный подход для построения приложений. Это означает, что программист может объединять целые программы вместе, чтобы реализовать выполнение алгоритма. Возможно это за счет использования механизма Component Object Module.

Появление COM не случайно, реализация этого механизма — логичный этап развития. На схеме ниже можно увидеть ретроспективу создания механизмов в ОС Windows:


Картинка наглядно показывает, как связано появление того или иного механизма. Реализация каждого нового механизма это решение проблем, которые возникли при реализации предыдущего механизма. Картинка включает в себя такие механизмы как OLE, COM+, DCOM, которые тоже, надо сказать очень сложные с точки зрения реализации и изучения.

Некоторые полезные определения

Представленная выше картинка с годами внедрения механизмов в ОС дает наглядное представление, что механизмы, которые сегодня используются, были созданы почти 22 года назад. Создание актуальной документации для такого длительного периода времени весьма сложная задача и соответственно, когда встает вопрос об обратной разработке ПО, которое использует указанные выше механизмы, нужно точно знать, ЧТО делает каждый из них.

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

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

DCOM - механизм, который предоставляет возможность работать с объектами COM в рамках локальной сети или Интернета.

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

Примеры и практика

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

Для исследования был выбран вот этот документ. Он представляет собой docx файл, по сути это архив, который содержит некоторое количество файлов с инструкциями, как его рендерить. Заглянем внутрь: в этом формате все данные, которые могут быть добавлены через OLE это файлы, которые расположены в директории "word/embeddings". Заголовок содержимого объекта можно видеть ниже:


Ничего особенно примечательного, такие объекты можно анализировать с использованием набор инструментов oletools.

OLE объект представляет собой файловую систему, в которую можно положить информацию необходимую для встраивания данных. Если воспользоваться инструментом oleobj, то можно увидеть, что внутри объекта находится txt файл. Кстати, это можно увидеть и из шестнадцатеричного редактора:


Объект COM - представление зависит от типа предоставляемого функционала, чаще всего в программном обеспечении используется в совокупности с WinAPI CoCreateInstance. Визуально исследовать объекты можно через относительно простой инструмент - COMView. Пример работы инструмента:


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

Как найти объекты COM+? Если в COMView вы обнаружили объект, который имеет интерфейс IUnknown, перед вами COM+ объект. Например:


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

Статья подготовлена Александром Колесниковым в рамках курса "Reverse-Engineering. Professional". Если интересно узнать больше о программе и формате обучения на этом курсе, приходите на день открытых дверей онлайн, на котором вы также сможете познакомиться с преподавателем.

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

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

Так как по сути технология OLE это механизм организации различных режимов вставки в офисном пакете MSOffice, ниже будут представлены некоторые режимы.



Результат представлен на рисунке 2.36. необходимо отметить, что двойной клик мыши по вставленному объекту запускает приложение, при помощи которого был создан объект, в данном случае это Excel.


Данный режим позволяет автоматически обновлять данные в документе Wordв случай внесения изменений в исходный файл Excel. При каждом открытии документа Word проверяются связи документа и в случаи внесения изменений ходя бы в один из исходных файлов, на которые ссылается документ Word всплывает долговое окно, в котором пользователю предлагаются одно из действий на выбор (смотри рисунок 2.37).





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

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




Так как по сути технология OLE это механизм организации различных режимов вставки в офисном пакете MSOffice, ниже будут представлены некоторые режимы.



Результат представлен на рисунке 2.36. необходимо отметить, что двойной клик мыши по вставленному объекту запускает приложение, при помощи которого был создан объект, в данном случае это Excel.


Данный режим позволяет автоматически обновлять данные в документе Wordв случай внесения изменений в исходный файл Excel. При каждом открытии документа Word проверяются связи документа и в случаи внесения изменений ходя бы в один из исходных файлов, на которые ссылается документ Word всплывает долговое окно, в котором пользователю предлагаются одно из действий на выбор (смотри рисунок 2.37).






Индивидуальный исследовательский проект по информатике "Технология OLE" направлен на изучение возможности использования программных средств технологии OLE и способов применения данной технологии в ОС Windows. Для испытания было рассмотрено применение OLE в программах MS Word и MS Excel.

Подробнее о проекте:


Творческая работа учащейся техникума о применении технологии MS Word и MS Excel направлена на получение автором общего представления о версиях и истории появления и развития технологии OLE. За основу учащаяся взяла такие версии технологии, как OLE 1.*, OLE 2.0 и ActiveX, и, изучив их, рассмотрела особенности их использования в программах текстовых документов.

Готовая творческая работа по информатике на тему "Технология OLE" демонстрирует этапы работы автора над использованием технологий OLE в работе с MS Word, где рассматривается вставка рисунка, вставка картинки, вставка фигуры, вставка снимка, вставка формулы, внедрение таблицы и внедрение объекта с помощью данной технологии. В рамках работы в MS Excel 2010 исследуется применение OLE в виде вставки надписи и внедрения объекта в файл.

Оглавление

Введение
1. Технология OLE.
2. Версии и история технологии.
2.1 OLE 1.*
2.2 OLE 2.0
2.3 ActiveX.
2.4. Применение OLEв MSWord 2010.
2.4.1 Вставка рисунка.
2.4.2 Вставка картинки.
2.4.3 Вставка фигуры.
2.4.4 Вставка диаграммы.
2.4.5 Вставка снимка.
2.4.6 Вставка формулы.
2.4.7 Внедрение таблицы.
2.4.8 Внедрение объекта.
2.5. Применение OLE в MSExcel 2010.
2.5.1 Вставка надписи.
2.5.2 Внедрение объекта (значок).
2.5.3 Внедрение объекта
Заключение
Литература

Введение


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

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

Целью работы является: изучение возможности использования программных средств технологии OLE и способы применения данной технологии в ОС Windows.

Для достижения поставленной цели были сформулированы следующие задачи:

  • изучить литературу по данной теме;
  • изучить различные электронные источники по данной теме;
  • изучить теоретические и практические сведениятехнологииOLE;
  • определить среды применения данной технологии;
  • научиться распознавать и отличать данную технологию;
  • подвести итоги работы и сделать выводы.

Предметом исследования является: программная технология OLE.

Методы исследования: теоретический анализ источников, формализация, обобщение, описание.

Технология OLE


Технология OLE (ObjectLinkingandEmbedding) — этотехнология связывания и внедрения объектов в другие документы и объекты. Изначально, технология была разработана корпорацией Microsoft для своего продукта ОС Windows, а также для внедрения в отдельные дополнительные программы для ОС Windows, например, офисный пакет приложений MicrosoftOffice, где данная технология нашла более широкое свое применение.

OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты этой работы.Например, несмотря на главную цель текстового процессора MicrosoftWord, - работа с текстовыми документами,при использовании данного текстового процессорав документе можно не только вводить данные, но и создавать таблицы, вставлять картинки, фотографии, часть элемента из другой программы MicrosoftOffice (например, таблицу из MicrosoftExcel) и т. д.

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

Читайте также: