Как производится обмен данными между различными приложениями windows

Обновлено: 03.07.2024

Цель данной работы – изучить обмен данными в приложениях OS Windows.
В теоретической части курсовой работы будут рассмотрены следующие вопросы:
Обмен данными: статический обмен данными, динамический обмен данными.
Технология OLE.
Использование OLE в Office: связывание, внедрение.

Содержание

Введение . 3
Теоретическая часть . 5
Глава 1. Обмен данными .5
1.1. Статический обмен данными 5
1.2. Динамический обмен данными (DDE) 9
Глава 2. Технология OLE 12
Глава 3. Использование OLE в Office 14
3.1. Связывание 14
3.2. Внедрение 15
Практическая часть 17
1. Общая характеристика задачи. 17
2. Описание алгоритма решения задачи. 19
Заключение 25
Список использованной литературы 26

Работа состоит из 1 файл

Обмен данными в ОС Windows.doc

Федеральное государственное образовательное учреждение

высшего профессионального образования

«Финансовый университет при Правительстве Российской Федерации»

По дисциплине: «Информатика»

«Обмен данными в приложениях ОС Windows»

Выполнила: Смирнова Татьяна Игоревна

Факультет: непрерывного обучения

Направление: бакалавр менеджмента и маркетинга

Группа: день, 1 курс, повышенный уровень

Преподаватель: Кручинин И. И.

Теоретическая часть . 5

Глава 1. Обмен данными .5

1.1. Статический обмен данными 5

1.2. Динамический обмен данными (DDE) 9

Глава 2. Технология OLE 12

Глава 3. Использование OLE в Office 14

3.1. Связывание 14

3.2. Внедрение 15

Практическая часть 17

1. Общая характеристика задачи. 17

2. Описание алгоритма решения задачи. 19

Список использованной литературы 26

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

Цель данной работы – изучить обмен данными в приложениях OS Windows.

В теоретической части курсовой работы будут рассмотрены следующие вопросы:

  1. Обмен данными: статический обмен данными, динамический обмен данными.
  2. Технология OLE.
  3. Использование OLE в Office: связывание, внедрение.

В практической части будет решена задача на формирование сводной ведомости учета изготавливаемой продукции ООО «Красный Октябрь»

Для выполнения курсовой работы использовался следующий состав ТО и ПО: процессор Pentium IV, ОС Windows XP Professional, MS Word 2003, MS Excel 2003.

Глава 1. Обмен данными

Одним из наиболее важных достоинств системы Windows является обмен данными между различными приложениями. Например, после создания документа его можно копировать целиком или частично в другие документы, экономя время и уменьшая количество потенциальных ошибок. В большинстве программ для Windows можно копировать и перемещать между документами данные различных типов - графические картинки (подготовленные графическим редактором MS Paint), диаграммы (подготовленные программой Ехсеl) и т.п.

Система Windows поддерживает два различных типа обмена данными – статический и динамический. Статический обмен может быть выполнен с помощью буфера обмена. Динамический обмен данными основан на связывании и внедрении объектов (OLE-технологии).

1.1. Статический обмен данными

Во время своей работы операционная система (OC) Windows выделяет специальную область памяти — буфер обмена (Clipboard). Он используется для обмена данными между приложениями и документами. Роль данных могут играть фрагмент текста или весь текст, рисунок, таблица и т. п. Буфер обмена — это простейшее, но очень эффективное средство интеграции приложений. В ОС Windows через буфер обмена можно перемещать папки с файлами и отдельные файлы. Существует следующий принцип работы с буфером обмена: с помощью инструментальных средств конкретного приложения можно выделить определенный фрагмент обрабатываемого документа (т. е. участок текста, изображение, таблицу) и поместить его на хранение (записать) в буфер обмена. Записанный в буфере фрагмент можно вставить либо в другое место того же документа, либо в другой документ того же приложения, либо в документ другого приложения. Например, можно переместить картинку (или фрагмент картинки), нарисованную вами в графическом редакторе, в любое место документа Word или Excel. Записанный фрагмент сохраняется в буфере до тех пор, пока не дана команда поместить в буфер другую порцию данных: в этом случае прежнее содержимое буфера теряется безвозвратно, оно замещается новой информацией. Если такая информация не поступила, фрагмент сохраняется в буфере до окончания сеанса работы Windows. Запуск и завершение программ сами по себе на содержимое буфера никак не влияют. Один и тот же фрагмент можно вставлять в документы несколько раз: при вставке содержимое буфера обмена не меняется. Работа с буфером обмена. Во всех приложениях Windows, допускающих использование буфера обмена, схема работы с ним стандартизована. Для обмена предусмотрены команды пункта меню Правка:

  • Вырезать — переместить выделенный фрагмент в буфер обмена (и удалить его в исходном документе);
  • Копировать – скопировать выделенный фрагмент в буфер обмена (исходный документ не меняется);
  • Вставить – вставить содержимое буфера обмена в текущий документ приложения (содержимое буфера не изменяется).

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

Вместо команд работы с буфером обмена можно использовать сочетания клавиш:

  • Вырезать — Shift+Del;
  • Копировать — Ctrl+Ins;
  • Вставить — Shift+Ins.

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

  1. Документ → буфер обмена. Перед выполнением команд – «Вырезать» или «Копировать» необходимо выделить фрагмент, помещаемый в буфер обмена. Если фрагмент не выделен, эти команды недоступны. Способы выделения фрагмента определяются соглашениями конкретной программы, однако существуют и универсальные приемы. Следует отметить, что в команде «Вырезать» совмещены две стандартных операции: удаление выделенного фрагмента и заполнение буфера обмена. Поэтому эта команда более «опасна», чем команда «Копировать».
  2. Буфер обмена → документ. Если буфер обмена пуст (то есть с момента старта Windows команды «Вырезать» или «Копировать» не выполнялась или буфер очищен специальной командой), операция «Вставить» недоступна. Существует еще много способов заполнения буфера обмена, например, в ОС Windows есть следующая интересная возможность. Если, работая в операционной системе, нажать клавишу Print-Screen, графический образ всего экрана в виде растровой картинки будет скопирован в буфер обмена. Затем можно вставить эту картинку в документ какого-либо редактора (например, Word), отредактировать, если необходимо, и записать в файл. Если нажать клавиши Alt+PrintScreen, в буфер обмена копируется только активное окно.

Куда вставляется фрагмент по команде «Вставить»? Точка вставки определяется соглашениями конкретной программы и характером информации, помещенной в буфер обмена. Например, редактор презентаций PowerPoint вставляет графический фрагмент в центр слайда, давая тем самым возможность вручную переместить новый элемент изображения в нужное место. Однако текстовый фрагмент практически всегда вставляется в позицию текстового курсора. Процессор Word любой фрагмент вставляет в позицию текстового курсора. Окно буфера обмена. Для работы с буфером обмена Windows предлагает специальную программу — Просмотр буфера обмена, которую можно вызвать из Главного меню → Программы → Стандартные (в Windows 2000 Окно буфера обмена переименовано в Папку обмена, которая вызывается командой clipbrd). Во-первых, окно этой программы — это настоящее «зеркало» буфера обмена, отображающее текущее содержимое Clipboard. Во-вторых, это приложение позволяет записать содержимое буфера обмена на постоянное хранение в файл специального формата (с расширением .CLP) и прочитать такой файл в буфер. Это нужно для обмена файлами разных форматов, так как всякая версия ОС Windows может прочитать любые файлы с расширением .CLP Просмотр буфера обмена позволяет с помощью отдельных команд изменить формат вывода фрагмента на экран, а также очистить буфер обмена. Расширение функций буфера обмена. Приложения Windows устроены таким образом, что буфер обмена часто оказывается полезным даже тогда, когда никаких команд работы с буфером не предусмотрено. Дело в том, что механизмы выделения, копирования, вставки фрагментов документа (особенно текстовых) чаще всего встроены в приложение, и клавиатурные сочетания Ctrl+Ins и Shift+Ins работают всегда, независимо от функций приложения. Тем самым гибкость такой системы при обмене информацией между базой данных системы и внешними носителями информации значительно расширяется. Например, в системе может отсутствовать функция вставки готового текстового файла в базу данных (файл → база данных), однако пользователю не придется заново набирать такой файл. Достаточно открыть его (например, в приложении Word), скопировать в буфер обмена, а затем вставить данный файл.

1.2. Динамический обмен данными (DDE)

DDE – это разработанный Microsoft набор специальных соглашений (протокол) об обмене данными между приложениями Windows. В самом начале развития персонального компьютера, когда объем памяти на внешнем запоминающем устройстве был мал и дорог, при помощи DDE решали проблему недостатка свободного места на диске. Так как связываемый документ хранится в виде файла только в одном месте, то при связывании свободное место используется эффективно. Попытаемся пояснить суть этого метода связывания на простом примере. Допустим, требуется составить документ, содержащий сведения о различных программных и аппаратных продуктах (как минимум, краткое описание и цена). Очевидно, что подготовить данный документ необходимо с помощью текстового редактора, например Word. Представим, что подлежащие внесению в документ сведения о продуктах и их ценах уже существуют в базе данных, которая управляется некоторым Windows-приложением, например Access. Для ускорения процесса подготовки документа разумно по уже известной методике передать необходимые сведения из базы данных в буфер обмена (Clipboard). Однако вполне возможно, что через некоторое время цены изменятся. При старой методике (через буфер) это приведет к необходимости подготовить документ заново. Использование DDE-метода позволяет избежать этого, так как обеспечивает динамический обмен данными и обновление их в подготавливаемом документе по мере их изменения в источнике. При таких условиях «выходной» документ всегда будет «первой свежести». Каким же образом происходит актуализация (динамическое обновление данных в выходном документе)? Разберемся сначала с происхождением обновляемых данных. Они находятся в документе-источнике и хранятся там приложением-источником. Сохранение документа источника и лежит в основе функционирования DDE-метода. Из сохраненного документа-источника требуемые сведения копируются через Clipboard в выходной документ. Процедура этого копирования нам знакома. Особенность состоит в том, что DDE-метод устанавливает между источником и копиями некоторую связь. И связь эта обеспечивает автоматическое (или по требованию) обновление копии по мере появления изменений в источнике. Многие Windows-приложения поддерживают методику DDE как для создания источников связывания, так и для восприятия динамически обновляемых данных. Но при практическом применении DDE-метода следует учитывать ряд требований. Первое и наиболее важное состоит в том, что приложения, подлежащие связыванию, должны поддерживать DDE-метод. Важным является также определение, в каком качестве данное приложение будет существовать в DDE: в качестве источника или приемника. Не все приложения можно использовать в обоих качествах. Данные, являющиеся источником в DDE-операциях, должны быть обязательно сохранены, так как связь осуществляется непосредственно через файлы документов. Рассмотрим способ актуализации без открытия окна. Допустим, что у нас существуют два документа (Источник и Приемник) Word и между ними существует связь посредством DDE. Предположим, что мы открыли документ Источник и изменили его, затем закрыли окно текстового редактора. Поскольку мы закрыли окно Word, то внесенное изменение осталось теперь только в файле источника на диске. Далее опять запустим Word и загрузим в него оставшийся неизменным файл документа Приемника. Хотя во время внесения изменений в текст, окно приемника было закрыто, целевой Word-документ предстает в актуализированном виде. Это произошло потому, что связь в DDE методе осуществляется не через окна, а через файлы.

Если файл-источник поврежден или перемещен, то связь нарушается и для её восстановления необходимо заново создавать все ссылки. Сейчас DDE вытеснено более новой технологией OLE, которая широко используется в Windows приложениях (об OLE речь пойдет в следующей главе). Однако все же в ряде случаев DDE применяется. На сегодняшний день в DDE можно выделить два уровня:

1. В некоторых приложениях Windows избранные операции DDE встроены в интерфейс программы. Например, в процессоре Word имеется возможность решить следующую задачу. Пусть имеется документ Word, и в этом документе содержится текст «серийного» письма, которое необходимо разослать по нескольким адресам. В этом письме имеются переменные поля с фамилией адресата и его адресом. Фамилии и адреса содержатся в базе данных MS Access. Надо изготовить несколько экземпляров одного и того же письма, каждый из которых будет отличаться от другого фамилией и адресом. Эту операцию можно выполнить с помощью команды Сервис-Слияние. (Tools-Mail Merge).

2. Второй уровень DDE требует знания некоторых программных средств и может быть использован квалифицированными пользователями или программистами. Суть этого уровня проиллюстрируем примером. Допустим, программист разработал информационную систему, в которой предусмотрено автоматизированное составление расписания каких-то мероприятий (например, встреч, конференций, семинаров и т. п.). Это расписание надо красиво напечатать (с указанием дат, дней недели, колонтитулов и т. п.). Лучше всего справится с этой задачей процессор Word. Поэтому программист заготовил в процессоре Word некий шаблон расписания и снабдил его закладками. Итак, можно сказать, что с появлением метода DDE возник качественный скачек в продвижении технологии связывания и совместного использования документов. Но все же остались некоторые недочеты, которые в своем большинстве были исправлены схемой OLE.

Глава 2. Технология OLE

Объектно-ориентированная технология – это термин, за которым скрывается ряд новых методологий анализа, проектирования и программирования. При использовании ОО технологии анализ, проектирование и разработка системы проводятся с помощью объектов. Под объектом понимается «разумный», самодостаточный агент, отвечающий за выполнение определенных системных задач. Алгоритмическая и объектно-ориентированная декомпозиция. Традиционно сложилось так, что проектирование и реализация программного обеспечения осуществляется с точки зрения функций или алгоритмов. Как правило, мы разделяем сложную задачу на более простые и решаем ее алгоритмически. При использовании алгоритмической декомпозиции проблема разбивается на фундаментальные функциональные единицы, или подсистемы. После этого каждая подсистема реализуется как набор связанных процедур. Эти процедуры воздействуют на данные, не учитывая присущие этим данным взаимосвязи. Алгоритмическая декомпозиция — это способ решения проблемы с функциональной точки зрения. При алгоритмической декомпозиции все внимание сосредоточено на том, какие преобразования необходимо выполнить над данными без учета их семантической связи. Можно подойти к решению проблемы по-другому. Прежде чем изучать функциональные взаимосвязи или интересоваться, что происходит с набором данных, необходимо выявить логически обособленные сущности в предметной области, определить их свойства, взаимосвязи и отношение к решаемой проблеме. Лишь разобравшись в сути проблемы, можно моделировать систему при помощи программного обеспечения. Такой способ анализа называется объектно-ориентированной декомпозицией. В объектно-ориентированной декомпозиции термины, которые используются при анализе и проектировании, наследуются прямо из предметной области. Это позволяет моделировать взаимоотношения реального мира естественным и адекватным образом, сохраняя семантические взаимосвязи между функциями и соответствующими данными. Например, при разработке системы резервирования авиабилетов определились бы такие сущности (объекты), как самолеты, маршруты, города и пассажиры. Пользуясь ОО декомпозицией, необходимо применить понятия, термины конкретной предметной области, а не искусственные конструкции системы разработки программного обеспечения. Объектно-ориентированная декомпозиция — это способ решения проблемы с объектной точки зрения. Употребляя ОО декомпозицию, внимание пользователя фокусируется на конкретном объекте. Дополнительно устанавливаются логические и семантические связи между объектами, их поведением. Что такое объекты? Объект в ОО технологиях определяется следующим образом: Объект — это самодостаточный программный модуль, который абстрактно описывает физическую или логическую сущность реального мира. Он скрывает (инкапсулирует) детали своей реализации и имеет общедоступный интерфейс. Объекты являются автономными программными модулями, которым присуши некоторое состояние на данный момент и определенное поведение. Состояние объекта — это его внутренние, то есть закрытые, данные и скрытые детали его реализации. Общедоступный интерфейс формирует поведение объекта. Он определяет, что объект может делать. Интерфейс реализован как набор функций, называемых методами. Объект включает в себя функции и данные, на которые эти функции воздействуют. Функции и данные, благодаря такой организации, связаны семантически. Поскольку все объекты в ОО системе имеют семантическую связь, общая структура такой системы является более гибкой и ясной по сравнению с традиционными способами организации. Для современных информационных технологий понятие объекта является основополагающим.

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

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

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

  • Должно ли приложение взаимодействовать с другими приложениями, работающими на других компьютерах в сети, или достаточно для того, чтобы приложение могло обмениваться данными только с приложениями на локальном компьютере?
  • должно ли приложение взаимодействовать с приложениями, работающими на других компьютерах, которые могут работать под управлением разных операционных систем (например, 16-разрядные Windows или UNIX)?
  • Следует ли пользователю приложения выбрать другие приложения, с которыми взаимодействует приложение, или может ли приложение неявным образом найти своих взаимодействующих партнеров?
  • Следует ли, чтобы приложение взаимодействовало со многими различными приложениями обычным образом, например разрешить операции вырезания и вставки с любым другим приложением или должны ли требования к обмену информацией ограничиваться ограниченным набором взаимодействий с конкретными другими приложениями?
  • Является ли производительность критически важным аспектом приложения? Все механизмы IPC включают некоторый объем издержек.
  • Должно ли приложение быть приложением с графическим интерфейсом или консольным приложением? Для некоторых механизмов IPC требуется приложение с графическим пользовательским интерфейсом.

Windows поддерживает следующие механизмы IPC:

Использование буфера обмена для IPC

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

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

Использование COM для IPC

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

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

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

Использование копирования данных для IPC

Ключевой момент: копирование данных можно использовать для быстрой отправки сведений в другое приложение с помощью Windows messaging. Дополнительные сведения см. в разделе копирование данных.

Использование DDE для IPC

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

Форматы данных, используемые DDE, совпадают с форматами, используемыми в буфере обмена. DDE можно рассматривать как расширение механизма буфера обмена. Буфер обмена почти всегда используется для одноразового ответа на пользовательскую команду, например для выбора команды вставить в меню. DDE также обычно инициируется пользователем с помощью пользовательской команды, но часто остается без вмешательства пользователя. Кроме того, можно определить пользовательские форматы данных DDE для особого целевого IPC между приложениями с более тесно связанными требованиями к обмену данными.

Обмен DDE может происходить между приложениями, запущенными на одном компьютере, или на разных компьютерах в сети.

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

Использование сопоставления файлов для IPC

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

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

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

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

Использование слота для IPC

Использование каналов для IPC

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

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

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

Использование RPC для IPC

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

RPC, предоставляемый Windows, соответствует требованиям к распределенным вычислительным средам (использование) Open Software Foundation (DCE). Это означает, что приложения, использующие RPC, могут взаимодействовать с приложениями, работающими с другими операционными системами, поддерживающими DCE. RPC автоматически поддерживает преобразование данных для учета различных архитектур оборудования и для упорядочения байтов между разнородными средами.

Клиенты и серверы RPC тесно связаны, но по-прежнему поддерживают высокую производительность. Система активно использует RPC для упрощения связи между клиентом и сервером между различными частями операционной системы.

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

использование сокетов Windows для IPC

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

Windows Сокеты основаны на гнездах, которые впервые популярны по Berkeley Software Distribution (BSD). приложение, которое использует сокеты Windows, может взаимодействовать с другой реализацией сокета в других типах систем. Однако не все поставщики транспортных служб поддерживают все доступные варианты.

ключевой момент: Windows сокеты — это независимый от протокола интерфейс, поддерживающий текущие и новые сетевые возможности. дополнительные сведения см. в разделе сокеты Windows 2.

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 25.12.2012
Размер файла 18,9 K

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Каждый документ имеет формат, который определяется приложением (программой), создавшим этот документ. Расширение файла соответствует определенному формату. Документы созданные одним приложением почти всегда имеют один формат. Например, Word *.doc Excel *.xls PowerPoint *.ppt и т.д.

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

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

Такими объектами могут быть приложения, папки, документы. А передаваемыми данными - фрагменты документов, документы, файлы, папки, т.е. также объекты среды Windows.

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

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

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

1. Буфер обмена

Во время своей работы операционная система (OC) Windows выделяет специальную область памяти - буфер обмена (Clipboard), который используется для обмена данными между приложениями и документами. Роль данных могут играть фрагмент текста или весь текст, рисунок, таблица и т.п. Буфер обмена - это простейшее, но очень эффективное средство интеграции приложений. В ОС Windows через буфер обмена можно перемещать папки с файлами и отдельные файлы.

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

Записанный фрагмент сохраняется в буфере до тех пор, пока не дана команда поместить в буфер другую порцию данных: в этом случае прежнее содержимое буфера теряется безвозвратно, оно замещается новой информацией. Если такая информация не поступила, фрагмент сохраняется в буфере до окончания сеанса работы Windows. Запуск и завершение программ сами по себе на содержимое буфера никак не влияют. Один и тот же фрагмент можно вставлять в документы несколько раз: при вставке содержимое буфера обмена не меняется.

Работа с буфером обмена. Во всех приложениях Windows, допускающих использование буфера обмена, схема работы с ним стандартизована. Для обмена предусмотрены команды пункта меню Правка:

Вырезать - переместить выделенный фрагмент в буфер обмена (и удалить его в исходном документе);

Копировать - скопировать выделенный фрагмент в буфер обмена (исходный документ не меняется);

Вставить - вставить содержимое буфера обмена в текущий документ приложения (содержимое буфера не изменяется).

Многие приложения дублируют эти команды в кнопках панели инструментов (а также в контекстном меню), и возможно перемещение, копирование или вставка фрагмента простым щелчком мыши на соответствующей кнопке. Вместо команд работы с буфером обмена можно использовать сочетания клавиш:

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

Расширение функций буфера обмена. Приложения Windows устроены таким образом, что буфер обмена часто оказывается полезным даже тогда, когда никаких команд работы с буфером не предусмотрено. Дело в том, что механизмы выделения, копирования, вставки фрагментов документа (особенно текстовых) чаще всего встроены в приложение, и клавиатурные сочетания Ctrl+Ins и Shift+Ins работают всегда, независимо от функций приложения.

Непосредственный обмен данными.

Средства непосредственного обмена данными между приложениями Windows можно разделить на три категории:

конвертирование (преобразование) файлов,

импорт и экспорт данных,

динамический обмен данными (DDE - Dynamic Data Exchange).

2. Экспорт-импорт данных

Конвертированием обычно называют изменение формата файла-документа или его части. При конвертировании файл-документ определенного типа, подготовленный средствами некоего приложения (возможно, в другой операционной системе) преобразуется приложением Windows в файл-документ того же (или примерно того же) типа. Операция конвертирования достаточно сложна и не удобна для рядового пользователя. К тому же результаты не всегда получаются ожидаемыми, так как любое преобразование, в том числе и формата, влечет за собой потери.

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

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

операционный буфер обмен документ

3. Динамический обмен данными (DDE)

DDE - это разработанный Microsoft набор специальных соглашений (протокол) об обмене данными между приложениями Windows.

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

Попытаюсь пояснить суть этого метода связывания на простом примере. Допустим, требуется составить документ, содержащий сведения о различных программных и аппаратных продуктах (как минимум, краткое описание и цена). Очевидно, что подготовить данный документ необходимо с помощью текстового редактора, например Word. Представим, что подлежащие внесению в документ сведения о продуктах и их ценах уже существуют в базе данных, которая управляется некоторым Windows-приложением, например Access. Для ускорения процесса подготовки документа разумно по уже известной методике передать необходимые сведения из базы данных в буфер обмена (Clipboard). Однако вполне возможно, что через некоторое время цены изменятся. При старой методике (через буфер) это приведет к необходимости подготовить документ заново.

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

Каким же образом происходит актуализация (динамическое обновление данных в выходном документе)? Разберемся сначала с происхождением обновляемых данных. Они находятся в документе-источнике и хранятся там приложением-источником. Сохранение документа источника и лежит в основе функционирования DDE-метода. Из сохраненного документа-источника требуемые сведения копируются через Clipboard в выходной документ.

Особенность состоит в том, что DDE-метод устанавливает между источником и копиями некоторую связь. И связь эта обеспечивает автоматическое (или по требованию) обновление копии по мере появления изменений в источнике.

Многие Windows-приложения поддерживают методику DDE как для создания источников связывания, так и для восприятия динамически обновляемых данных. Но при практическом применении DDE-метода следует учитывать ряд требований. Первое и наиболее важное состоит в том, что приложения, подлежащие связыванию, должны поддерживать DDE-метод. Важным является также определение, в каком качестве данное приложение будет существовать в DDE: в качестве источника или приемника. Не все приложения можно использовать в обоих качествах.

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

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

4. OLE-технологии

Документы, в которых объединяются объекты разного происхождения и типа (например, текст, изображение, звук), принято называть составными. Для создания и обработки составных документов целесообразно использовать универсальную технологию, называемую OLE-технологией (аббревиатура от слов Object Linking and Embedding - связывание и внедрение объектов) и позволяющую комбинировать при создании документов средства разных приложений ОС Windows.

Объект OLE (OLE объект) - произвольный элемент, созданный средствами какого-либо приложения, который можно связать с документом другого приложения или внедрить (поместить) в другое приложение. Под внедрением объектов понимается создание комплексного (составного) документа, содержащего два или более автономных объектов. Обычный способ внедрения - это импорт объекта из уже готового файла, в котором хранится этот объект, например импорт рисунка из документа графического редактора, звукозаписи или видеозаписи в документ, создаваемый текстовым редактором. При этом не только получается составной документ, но и появляется возможность редактировать внедренный объект средствами «породившего» его приложения, не меняя оригинал. Внедрить можно как целиком некоторый документ, так и его фрагмент (это достоинство метода внедрения), однако объем составного документа возрастает на величину объема внедренных объектов.

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

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

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

Список литературы

1. Евсюков В.В. Экономическая информатика: Учеб. пособ. - 2003. - 371 с.

2. Экономическая информатика: Учебник. / Под ред. В.П. Косарева. - 2-е изд., М.: Финансы и статистика, 2005. - 592 с. Дайитбегов Д.М.

3. Информатика: Методические указания по выполнению курсовой работы для самостоятельной работы студентов II курса (первое высшее образование). - М.: Вузовский учебник, 2006. - 60с

4. Информатика: учебник для вузов / Острейковский В.А. - М.: Высш. шк., 2005. - 511 с.

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

  • Буфер обмена.
  • Связывание по протоколу OLE (Object Linking and Embedding – связывание и внедрение объектов).

Использование буфера обмена

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

Помимо целых файлов, буфер обмена можно использовать для интеграции приложений. Эту операцию можно рассмотреть на примере вставки рисунка в текстовый файл. Пусть имеется два файла. Файл-приемник Документ.docx ( текстовый документ) и файл-источник Рисунок.jpg ( графический файл). Необходимо вставить рисунок внутрь текстового файла после имеющегося там текста. С этой целью нужно:

  1. Скопировать рисунок в буфер обмена командой «Копировать» в контекстном меню графического файла.
  2. Открыть текстовый документ.
  3. Установить курсор туда, где должен быть рисунок.
  4. Нажать кнопку «Вставить» на панели инструментов (или выбрать команду «Вставить» в контекстном меню).


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

Готовые работы на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту Узнать стоимость

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

В ОС Windows XP имеется возможность просматривать текущее состояние буфера обмена. Для этого предусмотрена стандартная программа clipbrd.exe. Ее можно запустить либо через меню Пуск (Пуск > Программы > Стандартные > Служебные > Буфер обмена). Либо через утилиту «Выполнить» запустить программу clipbrd.exe.


В ОС Windows 7 программа clipbrd.exe была исключена разработчиками. Но если есть необходимость, то ее можно скопировать с компьютера работающего под управлением ОС Windows XP и поместить по адресу \Windows\system32\clipbrd.exe на компьютер с ОС Windows 7.

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

  • Ctrl+C или Ctrl+Insert – копирование выделенных данных в буфер.
  • Ctrl+X или Shift+Del – вырезание выделенных данных и сохранение их в буфере
  • Ctrl+V или Shift+Insert – вставка содержимого из буфера в файл-приемник.

Связывание и внедрение объектов (OLE)

Протокол OLE позволяет реализовывать обмен данными двумя способами:

  • Связывание позволяет поддерживать постоянную связь между файлом-приемником и файлом-источником. Если в файле источнике внесены изменения, то они автоматически отражаются в файле-приемнике.
  • Внедрение позволяет создать независимую копию объекта в файле-приемнике. Если на этой независимой копии выполнить двойной щелчок мышкой, то откроется приложение, где можно провести редактирование внедренного объекта. Но такое редактирование не будет затрагивать файл-источник, так как связь между источником и приемником не поддерживается.

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


Для выполнения связывания нужно:

  1. Открыть файл-источник и скопировать необходимый фрагмент в буфер обмена.
  2. Открыть файл-приемник и установить курсор в нужное положение.
  3. Выполнить команду Вставить-> Специальная вставка.
  4. В открывшемся окне «Специальная вставка» выбрать переключатель «Связать» и выбрать тип вставляемого объекта.

Для выполнения внедрения используется команда «Специальная вставка». Внедрение выполняется по следующему алгоритму:

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