Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
os6.doc
Скачиваний:
0
Добавлен:
20.06.2023
Размер:
199.68 Кб
Скачать

6.3.5. Обмен данными по технологии ole

Введение

OLE является столь большой областью технологии, что имеет отношение не только к связыванию и внедрению объектов. Кроме технологий, включающих в себя связывание и внедрение объектов, OLE имеет прямое отношение к технологиям ActiveX, структурированной памяти, автоматизации и перетаскивания объектов. Все эти технологии базируются на программной технологии, названной Component Object Model или COM.

Что такое технология OLE? Это набор объектов, построенных поверх объектной модели СОМ, которые допускают коммуникации в ходе выполнения процессов. Большая часть технологии связана с получением нескольких приложений, процессов, машин или операционных систем, общающихся друг с другом.

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

Понятие документно-ориентированной среды

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

Под документом понимается не только текст, а любой файл, подготовленный пользователем.

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

Важно, что в д-о подходе на первое место выходит документ, а не создавшее его приложение или ряд приложений. Документ - первичен, приложение - вторично.

Следующие технологии существуют для организации д-о работы.

  1. OLE фирмы Microsoft;

  2. OpenDoc - все, кроме Microsoft, т. е. Apple, IBM, Novell, Oracle, Xerox;

  3. CORBA - Common Object Request Broker Architecture Общая Архитектура Посредника Запросов между Объектами - IBM, HP, DEC, Sun.

Мы будем рассматривать технологию OLE.

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

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

Следующим шагом на пути д-о работы является понятие Clipboard. Windows как многозадачная среда сразу же проектировалась с высокоэффективными средствами обмена данными между приложениями. Достоинство Clipboard состоит в том, что исчезла проблема преобразования данных при передаче их из одного приложения в другое. Преобразование происходит незаметно для пользователя на основе ряда установленных стандартов. Приложение автоматически контролирует наличие данных в буфере: данные есть - функция Paste - активна, данных нет - функция Paste - пассивна.

---------------------------

Copy |Визуальное представление | Paste

-------------| фрагмента |-------------

| ---------------------------- |

---------------------- ---------------------

| Приложение-источник| |Приложение-приемник|

| ------------ | | -----------------|

| | Фрагмент | | | |Визуальное ||

| ------------ | | |представление ||

| | | |фрагмента ||

| | | -----------------|

---------------------- ---------------------

Недостатком является невозможность накопления данных; при появлении нового блока данных, старые теряются, а также ограниченность размера блока, т. к. Clipboard - это буфер в ОЗУ.

Следующим шагом развития технологии обмена данными стала технология DDE. Фрагмент, который мы хотим перенести в другое приложение, должен быть частью файла, который называется документом-источником. Фрагмент помещается в Clipboard командой Copy, а считывается не командой Paste, a командой PasteLink.

---------------------------

Copy |Визуальное представление | Paste Link

-------------| фрагмента |-------------

| ---------------------------- |

---------------------- ---------------------

| Приложение-источник| |Приложение-приемник|

| ------------ | | -----------------|

| | Фрагмент | | | |Визуальное ||

| ------------ | | |представление ||

| | | |фрагмента ||

| | | -----------------|

---------------------- ---------------------

^ |

| ссылка на оригинал |

-------------------------------------------------------

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

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

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

Принципы OLE

В OLE понятие объекта имеет следующий смысл: объект - это совокупность трех видов данных:

  1. Собственные данные в том внутреннем формате, в котором их создало приложение-сервер;

  2. Данные для визуального представления;

  3. Служебная информация о программе-сервере.

Т.о. OLE-объект – это данные, разделяемые двумя приложениями. Приложение-клиент только отображает данные.

Для приложения-клиента появился термин - OLE-контейнер - это приложение, которое может содержать объект. OLE-сервер - это приложение, которое может создавать и редактировать объект.

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

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

При этом понятие нахождения объекта в приложении-клиенте может приобретать двоякий смысл.

Вариант 1. Внедрение объекта. Смысл внедрения состоит в том, что все три вида данных объекта копируются в составной документ.

Соседние файлы в предмете Операционные системы