Jump to content

Динамический обмен данными

(Перенаправлено с NetDDE )

В вычислительной технике динамический обмен данными ( DDE ) — это технология межпроцессного взаимодействия, использовавшаяся в ранних версиях Microsoft Windows и OS/2 . DDE позволяет программам манипулировать объектами, предоставленными другими программами, и реагировать на действия пользователя, влияющие на эти объекты. DDE был частично заменен Object Linking and Embedding (OLE) и в настоящее время поддерживается в системах Windows только ради обратной совместимости .

История и архитектура

[ редактировать ]

Динамический обмен данными был впервые представлен в 1987 году с выпуском Windows 2.0 как метод межпроцессного взаимодействия , позволяющий одной программе взаимодействовать с другой программой или управлять ею, что-то вроде Sun RPC (удаленный вызов процедур). [1] В то время единственным методом связи между операционной системой и клиентскими приложениями был «уровень обмена сообщениями Windows». DDE расширил этот протокол, чтобы обеспечить одноранговую связь между клиентскими приложениями посредством широковещательной рассылки сообщений.

Поскольку DDE работает посредством широковещательной рассылки сообщений, он уязвим для любого кода управления окнами, который не передает сообщения . Эта проблема не рассматривалась при разработке DDE, поскольку DDE предшествует вытесняющей многозадачности в Microsoft Windows. [2] .

Более того, любой код, управляющий дескриптором окна, может ответить на широковещательную рассылку DDE; инициатор DDE должен различать ожидаемые и неожиданные ответы. Собеседники DDE обычно выражают информацию, которую они ищут, с помощью иерархических строковых ключей. Например, ячейка в Microsoft Excel была известна DDE по ее имени «приложения». Каждое приложение может дополнительно организовывать информацию по группам, известным как «темы», и каждая тема может обслуживать отдельные фрагменты данных в качестве «элемента». Например, если пользователь хочет получить значение из Microsoft Excel, которое содержится в электронной таблице с именем «Book1.xls» в ячейке первой строки и первого столбца, приложением будет «Excel», тема «Book1. xls» и элемент «r1c1». Внутренние изменения в ячейке, вызванные действиями Excel, затем будут передаваться (в обратном порядке) вызывающему приложению посредством дополнительных широковещательных сообщений.

Отношение к современным технологиям автоматизации

[ редактировать ]

Обычно DDE используется для специально разработанных приложений для управления готовым программным обеспечением. Например, пользовательское собственное приложение может использовать DDE для открытия электронной таблицы Microsoft Excel и заполнения ее данными, открывая диалог DDE с Excel и отправляя ему команды DDE. Эта функция в основном заменена набором объектной модели компонентов технологий . Microsoft не использовала DDE для внутренних целей с момента выпуска Windows 95 . [3] Например, Excel теперь предоставляет обширную объектную модель OLE-автоматизации , которая является рекомендуемым методом взаимодействия с Excel. Однако этот метод все еще используется, особенно для распространения финансовых данных. [4] Поскольку DDE не требует большего количества компонентов операционной системы, чем обычная программа Windows с графическим интерфейсом , она также является [малоиспользуемой] альтернативой для программ, стремящихся минимизировать свои зависимости .

Wonderware разработала расширение для DDE под названием NetDDE, которое можно использовать для инициирования и поддержания сетевых соединений, необходимых для обмена данными DDE между приложениями, поддерживающими DDE, работающими на разных компьютерах в сети, и прозрачного обмена данными. Диалог DDE — это взаимодействие между клиентскими и серверными приложениями. NetDDE можно использовать вместе с DDE и библиотекой управления DDE (DDEML) в приложениях.

/Windows/SYSTEM32
    DDESHARE.EXE (DDE Share Manager)
    NDDEAPIR.EXE (NDDEAPI Server Side)
    NDDENB32.DLL (Network DDE NetBIOS Interface)
    NETDDE.EXE (Network DDE - DDE Communication)

Файлы библиотеки NetDDE

Microsoft лицензировала базовую NetBIOS Frames версию продукта (только для ) для включения в различные версии Windows, от Windows для рабочих групп до Windows XP . Кроме того, Wonderware также продала своим клиентам расширенную версию NetDDE, которая включала поддержку TCP/IP . Технология широко используется в области SCADA . Основными приложениями Windows, использующими NetDDE, являются Clipbook Viewer , WinChat и Microsoft Hearts .

NetDDE по-прежнему входил в состав Windows Server 2003 и Windows XP с пакетом обновления 2, хотя по умолчанию он был отключен. Он был полностью удален в Windows Vista . [5] Однако это не помешает установке и работе существующих версий NetDDE в более поздних версиях Windows.

См. также

[ редактировать ]
  1. ^ «Удаленное взаимодействие между Net DDE и DOT NET» . 12 января 2006 г. Архивировано из оригинала 11 ноября 2010 г.
  2. ^ Чен, Раймонд (27 июня 2005 г.). «Почему в Windows существуют механизмы широковещательной рассылки?» . Старая новая вещь . Архивировано из оригинала 16 декабря 2009 года.
  3. ^ Чен, Раймонд (26 февраля 2007 г.). «Пожалуйста, не стесняйтесь прекратить использование DDE» . Старая новая вещь . Архивировано из оригинала 15 марта 2019 года.
  4. ^ Джоэл Спольски - комментарий на дискуссионном форуме Fog Creek Software
  5. ^ NetDDE был удален в Windows Vista.

Источники

[ редактировать ]
  • Чарльз Петцольд . «Динамический обмен данными» в разделе «Программирование для Windows 95» . Майкрософт Пресс.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bf60c66a065ad62fbb867e901b692522__1719983040
URL1:https://arc.ask3.ru/arc/aa/bf/22/bf60c66a065ad62fbb867e901b692522.html
Заголовок, (Title) документа по адресу, URL1:
Dynamic Data Exchange - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)