для обмена информацией между приложениями служит

Тема. Обмен информацией между приложениями

Тема. Обмен информацией между приложениями

(В. Леонтьев. MS Office 2010)

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

Понятие составного документа

При создании документа часто возникает необходимость вставить в него фрагменты из документов, созданных в других приложениях. Например, текст, созданный в текстовом процессоре MS Word, может содержать графики, таблицы, подготовленные в Excel; рисунки, созданные в графическом редакторе Paint и пр. Можно создать документ, включающий в себя не только текст, графические изображения, таблицы, но также звуковое сопровождение (музыку, речь), и даже видеоролики. В результате появляется документ, содержащий данные разного типа, хотя внешне это не проявляется. Его можно печатать, хранить и производить с ним любые другие действия как с обычным документом, созданным в одной среде и содержащим однотипные данные. Документ, в котором объединены данные разного типа, созданные в разных приложениях, называется составным (интегрированным) документом (см. рис 1).

для обмена информацией между приложениями служит. 22006 html 6a726d04. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 6a726d04. картинка для обмена информацией между приложениями служит. картинка 22006 html 6a726d04.

Рисунок Составной документ

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

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

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

Организация обмена данными

Обмен данными через Буфер обмена (Clipboard).

Бу́фер обме́на (англ. clipboard) – область оперативной памяти компьютера, в которой могут сохраниться данные различных форматов для переноса или копирования их между приложениями или частями одного приложения.

Буфер обмена (Clipboard) – это некоторая динамически изменяемая область памяти, способная хранить информацию в типовых форматах Windows.

Буфер обмена представляет собой утилиту (сервисную программу), предназначенную для промежуточного хранения информации, передаваемой одним приложением другому (или самому себе).

Во всех приложениях Windows схема работы с Буфером обмена стандартизирована. Обмен данными через буфер выполняется с помощью команд Вырезать, Копировать и Вставить на ленте Главная в группе команд Буфер обмена. Команда Вырезать помещает выбранный фрагмент текста в буфер, только при этом выделенный фрагмент из исходного текста удаляется. Команда Копировать помещает выбранный фрагмент текста в буфер, сохраняя его в оригинале. Все эти команды можно выполнить либо с помощью комбинаций «горячих клавиш» (CTRL/C для копирования и CTRL/X – для вырезания). Можно также воспользоваться услугами контекстного меню, тем более что Word 2010 в него включён ряд новых возможностей.

Параметры вставки

Для вставки фрагмента из Буфера обмена в Word 2010 предусмотрены сразу три копки с подзаголовком Параметры вставки:

для обмена информацией между приложениями служит. 22006 html m6b9a6714. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m6b9a6714. картинка для обмена информацией между приложениями служит. картинка 22006 html m6b9a6714.

Рисунок Параметры вставки Word 2010

Зачем так много? Всё просто: фрагменты, которые вы переносите в другой документ, могут быть оформлены совершенно по-разному, с использованием иных шрифтов, размера кегля и стилей.

Если вы хотите сохранить эти параметры, выберите первую кнопку для обмена информацией между приложениями служит. 22006 html 24c89fe9. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 24c89fe9. картинка для обмена информацией между приложениями служит. картинка 22006 html 24c89fe9.сохранить форматирование.

Если же вы хотите, чтобы «пришелец» не слишком выделялся среди прочих фрагментов и не делал текст похожим на лоскутное одеяло, его оформление нужно привести «к единому знаменателю» – в соответствии с конечным стилем всего документа. В этом случае выбираем вторую кнопку для обмена информацией между приложениями служит. 22006 html m11c44b8. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m11c44b8. картинка для обмена информацией между приложениями служит. картинка 22006 html m11c44b8.объединить форматирование.

Наконец, третья кнопка вставки поможет вам в том случае, если вы случайно скопировали в Буфер текст с ненужным мусором – картинки, таблицы и так далее. Чаще всего это бывает при переносе в Word текста с веб-странички Интернета. Если вы хотите вставить в ваш документ только текст, без сохранения прочей шелухи, выберите третью кнопку для обмена информацией между приложениями служит. 22006 html 3e81e3b. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 3e81e3b. картинка для обмена информацией между приложениями служит. картинка 22006 html 3e81e3b.– сохранить только текст [Леонтьев В.П. Office 2010. Карманный справочник. – М.: ОЛМА Медиа Групп, 2010. – 608 с.]

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

Буфер обмена данными поддерживает схему обмена, приведённую на рис.3. В Приложении 1 выделяется нужный фрагмент, который копируется в буфер обмена с помощью команды меню Правка/Копировать (или кнопка на панели инструментов). Затем содержимое буфера вставляется с помощью команды Правка/Вставить (кнопка на панели инструментов) в нужном месте Приложения 2.

для обмена информацией между приложениями служит. 22006 html m15c98086. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m15c98086. картинка для обмена информацией между приложениями служит. картинка 22006 html m15c98086.

Более ранних версиях Word`а вновь копируемое в буфер содержимое, стирало его предыдущее содержимое. Но, начиная с Microsoft Office 2003, буфер в Microsoft Office может хранить одновременно от 1 до 24 элементов.

Помимо команд «Copy» и «Вырезать» для заполнения буфера можно использовать нажатие клавиши «Print Screen«. Обычно при этом в буфер будет помещена полная копия экрана. Получить копию только активного окна можно нажав комбинацию клавиш Alt+PrtScr.

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

для обмена информацией между приложениями служит. 22006 html 26c7a071. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 26c7a071. картинка для обмена информацией между приложениями служит. картинка 22006 html 26c7a071.

Обмен объектами с помощью мыши

Технологии внедрения и связывания объектов DDE и OLE

Основные понятия и определения. Прежде чем приступить к другим методам обмена данными между приложениями рассмотрим новые понятия и определения.

Файл-контейнер — это файл, принимающий объект (например, копию фрагмента документа). Например, если связать диаграмму, выполненную в Excel `е с документом Word (иначе поместить диаграмму Excel в документ Word ), то Word-документ является файлом-контейнером

Таким образом, среда Windows предоставляет пользователю средства для сведения в одном документе разнородных частей в рамках DDE – технологии. Обмен объединёнными частями через буфер промежуточного хранения обеспечивает и автоматическое преобразование форматов. Динамический обмен позволяет в любой момент времени иметь «свежий» документ.

Кажется всё хорошо. Но остаются некоторые существенные трудности, которые являются непреодолимыми:

Обмен данными с использованием OLE-технологии

Более гибким способом обмена данными между приложениями Windows является технология OLE (англ. Object Linking and Embedding – произносится как oh-lay [олэй]) – связывание и внедрение объектов. Технология OLE – это возможность использовать в одном документе объекты разного происхождения, например, текст, фотографии, музыку и т.д. Основное достоинство технологии OLE состоит в том, что она позволяет организовать передачу данных практически между любыми приложениями. Технология OLE определяется правилами (протоколом) взаимодействия Windows-приложений.

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

Технология OLE механизм связывания и встраивания объектов (механизм работы с составными документами — Object Linking and Embedding).

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

Технология внедрения нового объекта в Word OLE-серверами:

Текстовый процессор представляет собой сложный комплекс и фактически включает в себя несколько приложений: редактор рисунков, редактор формул, текстовый редактор и др.

Эти приложения по-разному используют технологию OLE. Редактор формул действует только как приложение-источник (OLE-сервер), а текстовый редактор может выступать как в роли источника, так и в роли приемника (OLE-клиента). Просмотреть список действующих в системе OLE-серверов можно, выполнив последовательность действий: выбираем вкладку Вставка, в группе команд Текст выбираем кнопку Объект для обмена информацией между приложениями служит. 22006 html m7da9bf4b. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m7da9bf4b. картинка для обмена информацией между приложениями служит. картинка 22006 html m7da9bf4b.и щёлкаем по ней мышкой. Откроется список команд Объект… и Текст из файла (см. рис. 5).

для обмена информацией между приложениями служит. 22006 html 6ab09f30. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 6ab09f30. картинка для обмена информацией между приложениями служит. картинка 22006 html 6ab09f30.

Выбираем из этого списка команду Объект. Открывается окно Вставка объекта. В окне Тип объекта вкладки Создание мы видим список программ, это так называемые OLE-серверы, которые обеспечивают услугами приложение Word (см. рис3). Примеры OLE-серверов: MS Equation (Редактор формул) — является OLE-сервером, создание эффектов WordArt, вставка Рисунок MS WORD, Excel и т.п. Отметим, что в Word`е 2007 приложения Рисунок MS WORD нет. Таким образом, в диалоговом окне «Вставка объекта» выбирается тип внедряемого объекта, т.е. приложение-источник.

Рассмотрим примеры, использования OLE-серверов.

Пример 1. Вставить в текст формулу Ньютона-Лейбница, используя редактор формул.

для обмена информацией между приложениями служит. 22006 html m462aaf53. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m462aaf53. картинка для обмена информацией между приложениями служит. картинка 22006 html m462aaf53.

для обмена информацией между приложениями служит. 22006 html m390a3e1. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m390a3e1. картинка для обмена информацией между приложениями служит. картинка 22006 html m390a3e1.

Рис. 7. Формула Ньютона-Лейбница, набранная в редакторе формул

Пример 2. Вставить в Word таблицу, используя Лист Microsoft Office Excel.

для обмена информацией между приложениями служит. 22006 html m2a622e60. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m2a622e60. картинка для обмена информацией между приложениями служит. картинка 22006 html m2a622e60.

Рис. 8. Окно Вставка объекта и выбор Лист Microsoft Office Excel

для обмена информацией между приложениями служит. 22006 html 3f38fd95. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 3f38fd95. картинка для обмена информацией между приложениями служит. картинка 22006 html 3f38fd95.

Рис. 9. Таблица, созданная с использованием OLE-приложения Лист Microsoft Office Excel

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

Связывание и внедрение с помощью команды Специальная вставка

Самым простым способом практической реализации механизма связывания и внедрения объектов является использование команды Специальная вставка. В Word 2007/2010 — команда Главная/Вставить/Специальная вставка (рис. 10).

для обмена информацией между приложениями служит. 22006 html fcc9c6f. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html fcc9c6f. картинка для обмена информацией между приложениями служит. картинка 22006 html fcc9c6f. для обмена информацией между приложениями служит. 22006 html 44d45abf. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 44d45abf. картинка для обмена информацией между приложениями служит. картинка 22006 html 44d45abf.

Рис. 10. Выбор команды Специальная вставка

(слева в Word 2007, справа в Word 2010)

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

для обмена информацией между приложениями служит. 22006 html 69c0863. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 69c0863. картинка для обмена информацией между приложениями служит. картинка 22006 html 69c0863.

Рис. 11. Окно Специальная вставка

Связать — этот параметр доступен только тогда, если содержимое буфера обмена может быть связано с исходным файлом. Следовательно, если мы выбрали в списке КАК формат Объект-приложение, мы имеем возможность вызвать приложение-источник из файла-приёмника (в этом случае приложение-источник вызывается «полностью»), т.е. как будто мы открыли приложение источник самостоятельно. Далее мы редактируем объект (фрагмент в источнике-приложении) и возвращаемся в файл-контейнер. Изменения, сделанные в файле-источнике, автоматически (или по требованию), будут отображены в файле-контейнере. Таким образом, мы здесь имеем DDE-технологию, но вызов приложения-источника происходит по технологии OLE (мы вызываем приложение-источник из файла-контейнера). Такая технология будет использована для форматов Точечный рисунок, Рисунок (метафайл Windows) и Метафайл (Windows EMF)

Для других выбранных форматов из списка КАК будет использована DDE-технология (например, формат HTML, Текст в формате RTF).

ВНИМАНИЕ. Для того, чтобы посмотреть какая технология будет реализована при выборе параметров (Вставить и Связать) нужно установить указатель мыши на список форматов и внизу окна в разделе Результат будет отображаться информация о том какая будет реализована технология обмена данными между приложениями.

для обмена информацией между приложениями служит. 22006 html m7137f8bb. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m7137f8bb. картинка для обмена информацией между приложениями служит. картинка 22006 html m7137f8bb.

Рис. 12. Окно Специальная вставка Формат HTML, режим Вставить

для обмена информацией между приложениями служит. 22006 html m797ef9a2. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m797ef9a2. картинка для обмена информацией между приложениями служит. картинка 22006 html m797ef9a2.

Рис. 13. Окно Специальная вставка Лист MS Office Excel (объект), режим Вставить

Внедрение и связывание файлов

для обмена информацией между приложениями служит. 22006 html m97124b9. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m97124b9. картинка для обмена информацией между приложениями служит. картинка 22006 html m97124b9.

Рис. 14. Выбор команды Текст из файла

Рассмотрим пример. Пусть у нас имеется два файла: file1.doc и file2.doc. Требуется вставить содержимое документа file2.doc в документ file1.doc.

Открываем документ file1.doc и указываем место вставки файла. Выполняем команду Вставка/Текст/Объект/Текст из файла, в результате которой появится диалоговое окно Вставка файла (см. рис. 15);

для обмена информацией между приложениями служит. 22006 html 68c4312e. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 68c4312e. картинка для обмена информацией между приложениями служит. картинка 22006 html 68c4312e.

Рис. 15. Диалоговое окно «Вставка файла». Выбран файл file2.docx

Выбираем документ file2.doc и щелкаем левой кнопкой мыши по стрелке в правом нижнем углу данного окна. В сплывающее меню выбираем нужную команду (Вставить или Вставить как ссылку, см. рис. 15).

Если мы выберем команду Вставить, то у нас будет внедрение файла file2.doc (как через Буфер обмена, с использованием команды Копировать/Вставить), см. файл file12.doc.

Если мы выберем команду Вставить как ссылку, то у нас будет внедрение-связь файла file2.doc. В данном случае будет реализована технология DDE. см. файл file12.doc. Если щелкнуть мышкой по вставленному фрагменту, то фрагмент будет выделен серым цветом.

Откроем файл file2.doc и изменим, например, цвет текста на красный. Возвращаемся в файл file1.doc. Щелкаем мышкой по вставленному фрагменту, фрагмент выделится серым цветом. Вызываем контекстное меню и выбираем команду Обновить поле (см. рис. 16)

для обмена информацией между приложениями служит. 22006 html 6d6e309a. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 6d6e309a. картинка для обмена информацией между приложениями служит. картинка 22006 html 6d6e309a.

Рис. 16. Команда Обновить поле

Во вставленном фрагменте измениться цвет букв на красный цвет, см. файл file123.doc.

Выводы. Режим Вставка файла позволяет сделать два вида вставки файла:

Рис. 17. Выбираем закладку Создание из файла в окне «Вставка объекта»

для обмена информацией между приложениями служит. 22006 html m262c34c8. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m262c34c8. картинка для обмена информацией между приложениями служит. картинка 22006 html m262c34c8.

Рис. 18. Выбор файла file2.doc через окно «Обзор»

Рассмотрим пример. Пусть у нас имеется два файла: file1.doc и file2.doc. Требуется вставить содержимое документа file2.doc в документ file1.doc.

Открываем документ file1.doc и указываем место вставки файла. Выполняем команду Вставка/…/Объект. В окне Обзор находим файл file2.doc (рис. 18) и щелкаем по кнопке Вставить (в правом нижнем углу окна Обзор). Появится снова окно Вставка объекта, см. рис. 19. Щелкаем по кнопке ОК и файл file2.doc будет вставлен в файл file1.doc.

для обмена информацией между приложениями служит. 22006 html a5b2dc. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html a5b2dc. картинка для обмена информацией между приложениями служит. картинка 22006 html a5b2dc.

Рис. 19. Файл file2.doc выбран.

Первый вариант. Позволяет нам внедрить файл без связи с источником. Это аналогично команде Выделить все/Копировать/Вставить (в Word 2003). В Word 2007 связи нет, но работает технология OLE. Смотри на рис 19. раздел Результат.

Второй вариант. Если поставить флажок в квадратике напротив Связь с файлом, будет вставлено содержимое файла file2.doc. Его можно будет редактировать, используя приложение, в котором он был создан. В данном случае реализуется OLE – технология. Связь существует. Смотри раздел Результат на рис. 20.

для обмена информацией между приложениями служит. 22006 html 454b05ac. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 454b05ac. картинка для обмена информацией между приложениями служит. картинка 22006 html 454b05ac.

Рис. 20. Окно Вставка объекта. Флажок Связь с файлом

Третий вариант. Если поставить флажок в квадратике напротив В виде значка, будет вставлен значок файла file2.doc в документ file1.doc (см. рис. 21, 22). Его (вставленный файл) можно будет просматривать или редактировать, используя приложение, в котором он был создан, дважды щелкнув мышкой по значку.

для обмена информацией между приложениями служит. 22006 html m64ea319d. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m64ea319d. картинка для обмена информацией между приложениями служит. картинка 22006 html m64ea319d.

Рис. 21. Окно Вставка объекта. Флажок В виде значка

для обмена информацией между приложениями служит. 22006 html m1338873c. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m1338873c. картинка для обмена информацией между приложениями служит. картинка 22006 html m1338873c.

Рис. 22. Результат вставки файла file2 в файл file1. Вариант В виде значка

для обмена информацией между приложениями служит. 22006 html m48d49b44. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html m48d49b44. картинка для обмена информацией между приложениями служит. картинка 22006 html m48d49b44.

Рис. 23. Контекстное меню. Вариант В виде значка

Четвёртый вариант. Если поставить флажки в квадратике напротив В виде значка и Связать с файлом, будет вставлен значок файла file2.doc в документ file1.doc (см. рис. 24, 25). Его (вставленный файл) можно будет просматривать или редактировать, используя приложение, в котором он был создан, дважды щелкнув мышкой по значку.

для обмена информацией между приложениями служит. 22006 html 225f64d. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 225f64d. картинка для обмена информацией между приложениями служит. картинка 22006 html 225f64d.

Рис. 24. Окно Вставка объекта. Флажки Связь с файлом и Ввиде значка

для обмена информацией между приложениями служит. 22006 html 7990cdcf. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 7990cdcf. картинка для обмена информацией между приложениями служит. картинка 22006 html 7990cdcf.

Рис. 25. Результат вставки файла file2 в файл file1. Вариант Связь с файлом и В виде значка

для обмена информацией между приложениями служит. 22006 html 77db9e89. для обмена информацией между приложениями служит фото. для обмена информацией между приложениями служит-22006 html 77db9e89. картинка для обмена информацией между приложениями служит. картинка 22006 html 77db9e89.

Рис. 26. Контекстное меню. Вариант Связать и В виде значка

Когда объект связан, данные при изменении исходного файла могут обновляться. Связанные данные хранятся в исходном файле. Файл Word, или конечный файл, хранит только путь к исходному файлу и отображает представление связанных данных. Если размер файла принимается во внимание, пользуйтесь связанными объектами.

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

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

Источник

Обмен данными между процессами

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

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

После принятия решения о том, что приложение будет выгодным из IPC, необходимо решить, какой из доступных методов IPC использовать. Скорее всего, приложение будет использовать несколько механизмов 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

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

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

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

Использование каналов для 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.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *