Dynamic data exchange

from Wikipedia, the free encyclopedia

Dynamic Data Exchange ( English for dynamic data exchange, DDE for short ) is a protocol for the exchange of data between different application programs , i.e. interprocess communication according to the client-server model .

Details

This protocol is available locally and within computer networks in the Windows (version 2.0 or higher ) and OS / 2 operating systems.

Both application programs must run at the same time so that data can be exchanged or commands can be sent. If necessary, the DDE client must start the required server process. Data is always exchanged in complete data units in Windows clipboard formats (including binary data); continuous data streams are usually not supported. Since two programs that know each other can define new clipboard formats, the exchange of large amounts of arbitrary data, such as matrices in Matlab , is also no problem. As a special feature, DDE offers a hot tracking called "Advise" (data change notification), with which the client is automatically informed about changes in the server database.

The three-stage addressing of data elements, divided into server (service), topic (topic) and item (element), is typical for DDE and is also fixed . More in-depth addressing, such as certain lines and columns on a spreadsheet page , must be done using an optional, non- enumerable item .

DDE is implemented by news of the typical Windows thread - queues and using shared storage for the actual data.

The performance of DDE is roughly 1000 transmissions per second when communication takes place via a GUI thread, and can be significantly higher when using separate threads. The DDE functions introduced with Windows 3.1 , initially packaged in the DDEML.DLL, are practically just wrappers that simplify the use but do not bring any speed advantage.

DDE overcomes "bit limits" relatively easily. So it is possible for a 16-bit and a 32-bit Windows program to communicate, as well as a 32-bit and a 64-bit program. Communication between 16-bit and 64-bit is normally only possible using network DDE , since the 64-bit Windows versions do not have 16-bit support.

Current status

DDE is still used today, for example to forward command lines to processes that are already running, typically to MDI applications. If the links are set appropriately, Windows Explorer can "send" a document to an already running processing process without creating an unnecessary process copy.

Because of its simplicity, network DDE is widely used in machine and factory controls.

DDE was supplemented and expanded by the OLE protocol.

Sockets are an alternative, especially for continuous data streams .

Web links