Dynamic Data Exchange
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, Dynamic Data Exchange (DDE) is a technology for interprocess communication used in early versions of
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
and
OS/2 OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 r ...
. DDE allows programs to manipulate objects provided by other programs, and respond to user actions affecting those objects. DDE was partially superseded by Object Linking and Embedding (OLE), and is currently maintained in Windows systems only for the sake of
backward compatibility Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especiall ...
.


History and architecture

Dynamic Data Exchange was first introduced in 1987 with the release of
Windows 2.0 Windows 2.0 is a major release of Microsoft Windows, a family of graphical operating systems for personal computers developed by Microsoft. It was released to manufacturing on December 9, 1987, as a successor to Windows 1.0. The product i ...
as a method of interprocess communication so that one program could communicate with or control another program, somewhat like Sun's RPC (Remote Procedure Call). At the time, the only method for communication between the operating system and client applications was the "Windows Messaging Layer." DDE extended this protocol to allow peer-to-peer communication among client applications, via message broadcasts. Because DDE runs via message broadcasts, it is vulnerable to any window-management code that does not pump messages. This problem was not considered during the design of DDE, because DDE predates pre-emptive multitasking. Moreover, any code managing a window handle can respond to a DDE broadcast; the initiator of DDE must distinguish between expected and unexpected responses. DDE interlocutors usually express what information they seek in terms of hierarchical string keys. For example, a
cell Cell most often refers to: * Cell (biology), the functional basic unit of life Cell may also refer to: Locations * Monastic cell, a small room, hut, or cave in which a religious recluse lives, alternatively the small precursor of a monastery ...
in
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
was known to DDE by its "application" name. Each application could further organize information by groups known as "topic" and each topic could serve up individual pieces of data as an "item". For example, if a user wanted to pull a value from Microsoft Excel which was contained in a spreadsheet called "Book1.xls" in the cell in the first row and first column, the application would be "Excel", the topic "Book1.xls" and the item "r1c1". Internal changes in the cell due to Excel actions would then be signaled (in reverse) to the calling application via additional message broadcasts.


Relationship to modern automation technologies

The common use of DDE is for custom-developed applications to control off-the-shelf software. For example, a custom in-house application might use DDE to open a
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
spreadsheet and fill it with data, by opening a DDE conversation with Excel and sending it DDE commands. This feature has mainly been superseded by the Component Object Model suite of technologies. Microsoft has not used DDE internally since the release of
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturi ...
. For example, Excel now exposes an extensive
OLE Automation In Microsoft Windows applications programming, OLE Automation (later renamed to simply Automation) is an inter-process communication mechanism created by Microsoft. It is based on a subset of Component Object Model (COM) that was intended for u ...
object model, which is the recommended method for communicating with Excel. The technique is, however, still in use, particularly for distribution of financial data. Because DDE does not require more operating system components than a conventional Windows
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
program, it is also a ittle-usedalternative for programs seeking to minimize their dependencies.


NetDDE

Wonderware developed an extension for DDE called NetDDE that could be used to initiate and maintain the network connections needed for DDE conversations between DDE-aware applications running on different computers in a network and transparently exchange data. A DDE conversation is an interaction between client and server applications. NetDDE could be used along with DDE and the DDE management library (DDEML) in applications. /Windows/SYSTEM32
    DDESHARE.EXE ''(DDE Share Manager)''
    NDDEAPIR.EXE ''(NDDEAPI Server Side)''
    NDDENB32.DLL ''(Network DDE NetBIOS Interface)''
    NETDDE.EXE ''(Network DDE - DDE Communication)''

The NetDDE library files Microsoft licensed a basic ( NetBIOS Frames only) version of the product for inclusion in various versions of Windows from
Windows for Workgroups Windows 3.1 is a major release of Microsoft Windows. It was released to manufacturing on April 6, 1992, as a successor to Windows 3.0. Like its predecessors, the Windows 3.1 series ran as a shell on top of MS-DOS. Codenamed Janus, Windows 3. ...
to
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
. In addition, Wonderware also sold an enhanced version of NetDDE to their own customers that included support for
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the su ...
. The technology is extensively used in the
SCADA Supervisory control and data acquisition (SCADA) is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also covers sensors and o ...
field. Basic Windows applications using NetDDE are
Clipbook Viewer ClipBook Viewer is a discontinued utility included in the Windows NT family of operating system that allows users to view the contents of the local clipboard, clear the clipboard or save copied and cut items. A feature restricted version, called C ...
, WinChat and Microsoft Hearts. NetDDE was still included with
Windows Server 2003 Windows Server 2003 is the sixth version of Windows Server operating system produced by Microsoft. It is part of the Windows NT family of operating systems and was released to manufacturing on March 28, 2003 and generally available on April 24, 2 ...
and
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
Service Pack 2, although it was disabled by default. It has been removed entirely in
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
.NetDDE has been removed in Windows Vista.
/ref> However, this will not prevent existing versions of NetDDE from being installed and functioning on later versions of Windows.


See also

* ActiveX * Component Object Model (COM) * Distributed Component Object Model (DCOM) *
Microsoft .NET The Microsoft .NET strategy is a marketing plan that Microsoft followed in the early 2000s. Steve Ballmer described it as the company's "most ambitious undertaking since Internet Strategy Day in 1995". In support of this strategy, between 2000 and ...
* Observer pattern


References


Sources

* Charles Petzold. "Dynamic Data Exchange" in ''Programming for Windows 95''. Microsoft Press.


External links


MSDN: About Dynamic Data Exchange (DDE)

NetDDE

Clojure Bindings for DDE, for use in Clojure or Java Applications
{{Microsoft APIs Inter-process communication Microsoft application programming interfaces Windows communication and services