Система OLE и обмен объектами в MS Office
Содержание
- Введение______________________
_____________________________2 - Организация обмена данными_______________________
__________ 3 - Что такое обмен данными_______________________
________ 3 - Буфер обмена________________________
___________________ 4 - Непосредственный обмен данными_______________________
__ 6
2.3.1. Конвертирование и экспорт-импорт данных
- Динамический обмен данными (DDE)
- Технология внедрения и связывания объектов OLE______________ 9
3.1. Представление о технологии OLE_________________________ 9
3.2. Архитектура OLE___________________________
4. Использование OLE в Office________________________
- Введение
Сегодня в большинстве случаев работа на компьютере сводится к работе с электронными документами, так как именно в них содержится основная масса используемой информации. Под документом будем понимать объект обработки прикладной программы.
Каждый документ имеет формат, который определяется приложением (программой), создавшим этот документ. Расширение файла соответствует определенному формату. Документы созданные одним приложением почти всегда имеют один формат. Например, Word *.doc Excel *.xls PowerPoint *.ppt и т.д.
Информатика
изначала предназначалась для обработки
информации во всех её проявлениях, однако,
как и всегда технологические
достижения не могли в полной мере
удовлетворить потребности
Итак, можно сказать, что пользователи персонального компьютера имеют дело с различными данными, хранящимися в документах всевозможных форматов. Конечно эта схема не совсем подходит к реальной обстановке вещей, так как в жизни обычно человек работает не с одним типом данных а с множеством. Поэтому возникла следующая проблема – Как в одном документе соединить данные различных типов? Решение проблемы совместного использования документов существенно облегчает работу пользователей. Вследствие всего этого, тема данной курсовой является актуальной, а рассматриваемые в ней технологии полезными и востребованными.
- Организация обмена данными
- Что такое обмен данными
Обмен данными в широком смысле – это передача информации от одного объекта к другому. В компьютерном мире до недавнего времени под обменом данными часто понимали процесс ввода и вывода данных между оперативной памятью и периферийными устройствами. С появлением концепции Windows под обменом данными стали понимать передачу данных от одного объекта к другому. В результате этого процесса объекты могут изменяться, а также могут создаваться новые объекты, образующиеся из одного или нескольких существующих объектов.
Такими объектами могут быть приложения, папки, документы, а передаваемыми данными – фрагменты документов, документы, файлы, папки, т. е. также объекты среды Windows. Так, в результате копирования файла или папки появляются их копии, а вследствие обмена данными между приложениями создаются составные документы, собранные из фрагментов, сформированных в разных приложениях.
Обмен данными в среде Windows осуществляется либо через буфер обмена, либо без него перетаскиванием выделенного объекта мышью. Обмен данными через буфер выполняется с помощью стандартных команд Вырезать (Cut), Копировать (Copy) и Вставить (Paste). Команда Специальная вставка (Past Special) позволяет выбрать формат, в котором передаются данные. Большинство приложений Windows содержат перечисленные команды в структуре своих меню, а также включают их в контекстные меню.
Помимо перечисленных команд в приложении могут быть задействованы специальные команды, которые дают возможность использовать данные из ранее созданных и хранящихся в файлах объектов.
- Буфер обмена
Во время своей работы операционная система (OC) Windows выделяет специальную область памяти — буфер обмена (Clipboard), который используется для обмена данными между приложениями и документами. Роль данных могут играть фрагмент текста или весь текст, рисунок, таблица и т. п. Буфер обмена — это простейшее, но очень эффективное средство интеграции приложений. В ОС Windows через буфер обмена можно перемещать папки с файлами и отдельные файлы.
Принцип работы с буфером обмена. С помощью инструментальных средств конкретного приложения можно выделить определенный фрагмент обрабатываемого документа и поместить его на хранение (записать) в буфер обмена. Записанный в буфере фрагмент можно вставить либо в другое место того же документа, либо в другой документ того же приложения, либо в документ другого приложения. Записанный фрагмент сохраняется в буфере до тех пор, пока не дана команда поместить в буфер другую порцию данных: в этом случае прежнее содержимое буфера теряется безвозвратно, оно замещается новой информацией. Если такая информация не поступила, фрагмент сохраняется в буфере до окончания сеанса работы Windows. Работа с буфером обмена. Во всех приложениях Windows, допускающих использование буфера обмена, схема работы с ним стандартизована. Для обмена предусмотрены команды пункта меню Правка:
- Вырезать — переместить выделенный фрагмент в буфер обмена (и удалить его в исходном документе);
- Копировать – скопировать выделенный фрагмент в буфер обмена (исходный документ не меняется);
- Вставить – вставить содержимое буфера обмена в текущий документ приложения (содержимое буфера не изменяется).
Вместо команд работы с буфером обмена можно использовать сочетания клавиш:
- Вырезать — Shift+Del;
- Копировать — Ctrl+Ins;
- Вставить — Shift+Ins.
1. Документ → буфер обмена. Перед выполнением команд - Вырезать или Копировать необходимо выделить фрагмент, помещаемый в буфер обмена. Следует отметить, что в команде Вырезать совмещены две стандартных операции: удаление выделенного фрагмента и заполнение буфера обмена.
2. Буфер обмена → документ. Если буфер обмена пуст (то есть с момента старта Windows команды Вырезать или Копировать не выполнялась или буфер очищен специальной командой), операция Вставить недоступна.
Существует еще много способов заполнения буфера обмена, например, в ОС Windows есть следующая интересная возможность. Если, работая в операционной системе, нажать клавишу Print-Screen, графический образ всего экрана в виде растровой картинки будет скопирован в буфер обмена. Затем можно вставить эту картинку в документ какого-либо редактора (например, Word), отредактировать, если необходимо, и записать в файл. Если нажать клавиши Alt+PrintScreen, в буфер обмена копируется только активное окно.
Просмотр буфера обмена позволяет с помощью отдельных команд изменить формат вывода фрагмента на экран, а также очистить буфер обмена.
Расширение функций буфера обмена. Приложения Windows устроены таким образом, что буфер обмена часто оказывается полезным даже тогда, когда никаких команд работы с буфером не предусмотрено. Дело в том, что механизмы выделения, копирования, вставки фрагментов документа (особенно текстовых) чаще всего встроены в приложение, и клавиатурные сочетания Ctrl+Ins и Shift+Ins работают всегда, независимо от функций приложения.
Тем самым гибкость такой системы при обмене информацией между базой данных системы и внешними носителями информации значительно расширяется. Например, в системе может отсутствовать функция вставки готового текстового файла в базу данных (файл → база данных), однако пользователю не придется заново набирать такой файл. Достаточно открыть его (например, в приложении Word), скопировать в буфер обмена, а затем вставить данный фрагмент в нужное окно системы.
- Непосредственный обмен данными
Средства непосредственного обмена данными между приложениями Windows можно разделить на три категории:
- конвертирование (преобразование) файлов,
- импорт и экспорт данных,
- динамический обмен данными (DDE — Dynamic Data Exchange).
2.3.1. Конвертирование и экспорт-импорт данных
Конвертированием
обычно называют изменение формата
файла-документа или его части.
При конвертировании файл-
Многие
специалисты считают
Примерами импорта-экспорта являются: Файл .DBF (dBASE) → Рабочий лист Excel (.XLS), База данных Access (.MDB) → Документ Word.
При таком подходе формат переносимых данных остается неизменным, однако же, в приложении-источнике пользователь теряет ряд возможностей по редактированию вставленного фрагмента.
2.3.2. Динамический обмен данными (DDE)
DDE – это разработанный Microsoft набор специальных соглашений (протокол) об обмене данными между приложениями Windows.
В самом начале развития персонального компьютера, когда объем памяти на внешнем запоминающем устройстве был мал и дорог, при помощи DDE решали проблему недостатка свободного места на диске. Так как связываемый документ хранится в виде файла только в одном месте, то при связывании свободное место используется эффективно.
Использование DDE-метода позволяет избежать этого, так как обеспечивает динамический обмен данными и обновление их в подготавливаемом документе по мере их изменения в источнике. При таких условиях «выходной» документ всегда будет «первой свежести».
Каким же
образом происходит актуализация (динамическое
обновление данных в выходном документе)?
Разберемся сначала с происхождением
обновляемых данных. Они находятся
в документе-источнике и
Особенность состоит в том, что DDE-метод устанавливает между источником и копиями некоторую связь. И связь эта обеспечивает автоматическое (или по требованию) обновление копии по мере появления изменений в источнике.
Если файл-источник поврежден или перемещен, то связь нарушается и для её восстановления необходимо заново создавать все ссылки.
Сейчас DDE вытеснено более новой технологией OLE, которая широко используется в Windows приложениях. Однако все же в ряде случаев DDE применяется. На сегодняшний день в DDE можно выделить два уровня:
3. Технология внедрения и связывания объектов OLE
3.1. Представление о технологии OLE
Технология OLE (Object Linking and Embedding) – технология управления и обмена информацией между программным интерфейсом других приложений. Связывание и внедрение объектов (Object Linking and Embedding).
OLE позволяет передавать
часть работы от одной
Основное преимущество использования OLE (кроме уменьшения размера файла) в том, что она позволяет создать главный файл, картотеку функций, к которой обращается программа. Этот файл может оперировать данными из исходной программы, которые после обработки возвращаются в исходный документ.
OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса (англ. drag-and-drop), а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример — Веб-ТВ), где используется передача изображение звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML). Однако, технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя.
3.2 Архитектура OLE
Архитектура OLE основана на модели компонентного объекта (СОМ). Сама OLE является унифицирующей технологией системного уровня, которая базируется на объектах и реализует интеграцию приложений. Она предоставляет клиентам набор объектно-ориентированных услуг. Можно сказать, что, с практической точки зрения, OLE — это набор системных библиотек (DLL-файлов), которые дают возможность прикладным программам взаимодействовать друг с другом. OLE является внутренней неотъемлемой частью операционной системы Windows, а не подсистемой. Например, в папке SYSTEM или SYSTEM32 на сетевом диске компьютера можно найти дюжину или даже больше файлов OLExxx.DLL. Это — составляет ядро OLE.
OLE состоит из нескольких различных технологий, которые пользуются услугами друг друга для формирования объектно-ориентированной системы. Каждая технология реализует определенный набор функций. Однако реальная сила OLE заключается именно во взаимодействии составляющих ее технологий. OLE-технология структурированного хранения, к примеру, позволяет приложениям реализовать постоянство объектов. При этом пользователь не знает, как библиотеки OLE реализуют детали этой технологии, например, каким образом и где именно данные объекта должны быть записаны или считаны с диска. Большое преимущество OLE состоит в том, что ее можно расширить и настроить по своему желанию. Можно легко переопределить встроенные функции (путем реализации соответствующих стандартных СОМ-интерфейсов) и расширить набор доступных функции, создав собственные пользовательские интерфейсы.
Библиотеки OLE — это системные утилиты, посредством которых приложения могут взаимодействовать друг с другом, получать совместный доступ к данным, а также вызывать функции друг друга
Компоненты. Компонент является фундаментом, на котором построена технология OLE. Компонент представляет собой предварительно созданный программный объект, который предоставляет клиентам четко определенный набор функций. Каждый компонент является отдельной сущностью, которая может быть определена и описана независимо от какого-либо конкретного программного пакета. Компоненты объединяются друг с другом различными способами, образуя законченные интегрированные программные системы.
Целью компонентного программного обеспечения является обеспечение возможностей для построения приложений путем комбинирования отдельных компонентов. Приложения будущего не будут такими огромными монолитами, какими они являются сегодня. Наоборот, они будут состоять из разных компонентов, взаимодействующих друг с другом для выполнения некоторых функций высокого уровня.
Большое преимущество компонентов состоит в том, что их можно приобретать по мере необходимости у того поставщика, который предлагает лучшие компоненты. Пользователи могут покупать текстовые редакторы у одной компании, а программу для проверки орфографии у другой. Пока компоненты отвечают стандартным протоколам, они работают вместе как единое целое. Поэтому можно обновлять или заменять существующие компоненты, не затрагивая остальную часть системы.
Компоненты взаимодействуют друг с другом посредством четко определенных интерфейсов.
Чтобы компоненты стали жизнеспособными программными инструментами, они должны взаимодействовать в пределах системы типа OLE, которая дает возможность использовать их за рамками конкретной прикладной программы. Система должна поддерживать взаимодействие компонентов, не накладывая ограничений на способ их реализации. OLE представляет собой именно такую систему. На данной схеме представлены OLE-технологии, которые тесно взаимосвязаны между собой и используют СОМ в качестве фундамента. Стрелками обозначается зависимость технологий, а точками возможное, но не обязательное использование.
4. Использование OLE в Office
Так как технология OLE является наиболее популярной и используемой на данный момент, то рассматриваемые примеры встраивания и связывания относятся именно к ней. Для рядового пользователя программные продукты компании Microsoft стали своеобразным стандартом, поэтому целесообразным было бы проследить применение OLE в пакете Office.
В программах пакета Office широко используются две функции OLE, которые ориентированны на пользователей, не являющихся программистами, - Связывание и Внедрение.
Технология связывания и внедрения OLE в программах Excel, PowerPoint, Access и Outlook.
В Excel преобразуют, вставляют или связывают данные точно так же, как в Word. Нужно скопировать данные в исходном документе, а затем перейти в Excel и щёлкнуть в месте вставки. Вызвать команду Правка > Специальная вставка и в одноимённом диалоговом окне сделать необходимые установки. Программа PowerPoint создаёт слайды и презентации, которые могут быть внедрены в документы Word и Excel. Она же допускает внедрение объектов из Word и Excel.
Использовать технологию OLE можно при наличии исходного приложения, способного создать объект OLE (сервера OLE), и конечного приложения, принимающего объект OLE (клиента OLE). Программы Access и Outlook являются только клиентами OLE и потому не могут создавать объекты OLE. Если вставить таблицу, поля и записи Access в Excel или Word, в результате получится электронная таблица Excel или таблица Word, но не внешний объект. Данные, вставленные из Access и Outlook, не могут быть связаны. Как клиенты OLE программы Access и Outlook принимают объекты из других приложений. Можно вставить часть документа Word или электронной таблицы Excel в форму (или отчёт) Access или в элемент Outlook. Если просто воспользоваться командой Вставка > Объект панели элементов управления, новый или существующий объект будет внедрён в форму Access или в элемент Outlook.
Для создания таблицы Access можно использовать электронную таблицу Excel, но при этом не следует применять метод копирования и вставки. В Access возможен импорт электронной таблицы Excel или установка связи с ней. Нужно вызвать команду Файл > Внешние данные > Импорт. В раскрывшемся списке Тип файлов нужно указать элемент Microsoft Excel (*.xls). Выбрать книгу Excel в списке файлов, а затем при создании таблицы на основе данных, содержащихся в файле, следовать указаниям мастера импорта. Из программы Excel нужно вызвать команду Данные > преобразовать в Access, и если установлено расширение Access Links для программы Excel, рабочий лист будет преобразован в таблицу Access. Для обмена данными между программами Excel и Outlook можно использовать мастер импорта и экспорта последней.
Концепция обмена данными является одной из основных концепций среды Windows. Между объектами, которые обрабатываются различными прикладными программами, создаются информационные связи, например, между таблицами и текстами.
С точки зрения пользователя, не сведущего в подробностях объектно-ориентированного программирования, наиболее удобной и функционально полной схемой совместного использования документов является OLE. Её достоинства заключаются в следующем: во-первых, эта технология вобрала в себя лучшие возможности её предшественников, во-вторых, OLE сама по себе принесла много нового в мир информационных технологий, в-третьих, она удобна и проста в эксплуатации.