- •6. Системное программное обеспечение для коммуникаций
- •6.1. Общая характеристика коммуникаций
- •6.2. Концепции технологии Клиент-Сервер
- •6.3. Внутренние коммуникации между процессами
- •6.3.1. Неименованные каналы
- •6.3.2. Обмен сообщениями
- •1. Подготовка данных для передачи в Clipboard;
- •4. Закрытие Clipboard
- •6.3.5.2. Понятие документно-ориентированной среды
- •6.3.5.1. Введение
- •6.3.5.3. Принципы ole
- •6.3.5.4. Характеристика технологии ole 2.0
- •6.3.5.4.4. Дополнительные возможности ole 2.0:
- •6.3.5.4.5. Внутренние механизмы ole 2.0
- •6.3.5.4.6. Перспективы ole
- •6.3.5.4.7. Недостатки ole
- •6.3.5.5. Технология проектирования ole-контейнера
- •6.3.5.5.1. Трехуровневая адресация ole-объекта
- •6.3.5.5.2. Общая характеристика технологии создания ole-клиента
- •6.3.5.5.3. Методика создания приложения с ole-контейнером
- •1. Создание формы с mdi - многодокументным интерфейсом
- •2. Разработка процедуры вставки объектов
- •3. Разработка процедуры переноса объектов из Clipboard
- •4. Разработка процедуры перетаскивания объектов
- •5. Разработка процедур поддержки хранения объектов в файлах
- •6.3.5.5.4. Выводы
6.3.5.3. Принципы ole
В OLE понятие объекта имеет следующий смысл: объект - это совокупность трех видов данных:
собственные данные в том внутреннем формате, в котором их создало приложение-сервер;
данные для визуального представления;
служебная информация о программе-сервере.
Т.о. OLE-объект – это данные, разделяемые двумя приложениями. Приложение-клиент только отображает данные (2).
Для приложения-клиента появился термин - OLE-контейнер - это приложение, которое может содержать объект. OLE-сервер - это приложение, которое может создавать и редактировать объект.
Появилось понятие "составной документ" как документ, содержащий различные типы данных, оформленные как объекты.
Для пользователей основным нововведением стала возможность активизации приложения, создавшего объект, из приложения-клиента, в котором объект находится. В поле объекта надо сделать двойной щелчок левой кнопкой мыши. Загрузится сервер и ему будет передан объект.
При этом понятие нахождения объекта в приложении-клиенте может приобретать двоякий смысл.
Вариант 1. Внедрение объекта. Смысл внедрения состоит в том, что все три вида данных объекта копируются в составной документ.
Объект
Собственные данные
Визуальное
представление
Служебная информация
Copy
Insert object
Сервер
Объект
Клиент
Объект
Достоинство данного метода состоит в законченности файла составного документа. Все, что нужно, есть в нем самом. Это важно в случае возможного перенесения документа на другую физическую машину.
Недостаток состоит в том, что велик размер файла составного документа. Если есть несколько составных документов с данным объектом, то они скопированы в каждом из составных документов.
В
Paste Link
Визуальное
представление
(1)
Ссылка на объект
(2)
Клиент
(1) (2)
Сервер
Объект
Copy
Связывание экономит место на диске, особенно, когда один объект является источником для многих клиентов, но при переносе на другую машину документа-клиента необходимо отследить, чтобы все документы-серверы тоже были перенесены.
Исторически протокол OLE существует в двух версиях - OLE 1.0 и OLE 2.0. Сейчас, естественно, предпочтение отдается OLE 2.0.
Версия OLE 1.0 была полностью реализована средствами DDE и обладает следующим неудобством. При активизации объекта в документе-клиенте, загружается приложение-сервер и ему передается объект для редактирования. Это хорошо, но плохо то, что приложение-сервер загружается в отдельном окне и при редактировании объекта не видно окружения, содержащегося в документе-клиенте. Недостатки, связанные с этим устранены в версии OLE - OLE 2.0.
