Dynamic Data Exchange
Encyclopedia
Dynamic Data Exchange (DDE) is a technology for interprocess communication under Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 or OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

.

Overview

Dynamic Data Exchange was first introduced in 1987 with the release of Windows 2.0
Windows 2.0
Windows 2.0 is a 16-bit Microsoft Windows GUI-based operating environment that was released on December 9, 1987 and is the successor to Windows 1.0. With Windows 2.1x in 1988, Windows 2.0 was supplemented by Windows/286 and Windows/386...

 as a method of interprocess communication so that one program can communicate with or control another program, somewhat like Sun's RPC (Remote Procedure Call). It used the "Windows Messaging Layer" functionality within Windows. Therefore, DDE continues to work even in modern versions of Windows. DDE has been superseded by newer technologies. Windows for Workgroups introduced a remoting version called NetDDE. OLE
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

 and OLE Automation
OLE Automation
In Microsoft Windows applications programming, OLE Automation , is an inter-process communication mechanism based on Component Object Model that was intended for use by scripting languages – originally Visual Basic – but now are used by languages run on Windows...

 were more advanced, but proved to be bulky and difficult to code. OLE was GUI intensive, but when stripped down to reveal COM
Component Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

. Its remoting version that works between networked machines is DCOM (Distributed COM). .NET Remoting
.NET Remoting
.NET Remoting is a Microsoft application programming interface for interprocess communication released in 2002 with the 1.0 version of .NET Framework. It is one in a series of Microsoft technologies that began in 1990 with the first version of Object Linking and Embedding for 16-bit Windows...

 provides a layered architecture for interprocess communication in the .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

. However, legacy DDE is still used in several places inside Windows, e.g. for Shell
Windows Shell
The Windows shell is the main graphical user interface in Microsoft Windows, and since Windows 95 hosted by Windows Explorer. The Windows shell includes well-known Windows components such as the Taskbar and the Start menu...

 file association
File association
A file association associates a file with an application capable of opening that file. More commonly, a file association associates a class of files with a corresponding application .-Associations and verbs:A single file extension may have several associations for performing various actions, also...

s and for the copy, cut and paste functions.

The primary function of DDE is to allow Windows applications to share data. For example, a cell in Microsoft Excel could be linked to a value in another application and when the value changed, it would be automatically updated in the Excel spreadsheet. The data communication was established by a simple, three-segment model. Each program 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".

A 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
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...

 spreadsheet and fill it with data, by opening a DDE conversation with Excel and sending it DDE commands. Today, however, one could also use the Excel object model with OLE Automation
OLE Automation
In Microsoft Windows applications programming, OLE Automation , is an inter-process communication mechanism based on Component Object Model that was intended for use by scripting languages – originally Visual Basic – but now are used by languages run on Windows...

 (part of COM
Component Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

). The technique is, however, still in use, particularly for distribution of financial data.

While newer technologies like COM offer features DDE doesn't have, there are also issues with regard to configuration that can make COM more difficult to use than DDE. Also, DDE is a generic protocol that allows any application to monitor changing data provided by any other application, while to achieve similar results in COM one would generally need to know details of the application that is either to produce or consume the data. For example, a single DDE financial data distribution application can provide live prices to either Excel or a financial charting application without needing to know which it is doing, while to achieve the same results with COM would usually require the distribution application's authors to write custom code for each use scenario.

NetDDE

California
California
California is a state located on the West Coast of the United States. It is by far the most populous U.S. state, and the third-largest by land area...

-based company Wonderware
Wonderware
Wonderware is a brand of industrial automation and information software products, owned by Invensys Operations Management , itself a division of the UK technology company Invensys. More than 500,000 software licenses have been sold and installed in over 100,000 plants worldwide...

 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)

Microsoft licensed a basic (NetBIOS Frames protocol only) version of the product for inclusion in various versions of Windows from Windows for Workgroups to Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

. In addition, Wonderware also sold an enhanced version of NetDDE to their own customers that included support for TCP/IP. The technology is extensively used in the SCADA
SCADA
SCADA generally refers to industrial control systems : computer systems that monitor and control industrial, infrastructure, or facility-based processes, as described below:...

 field. Basic Windows applications using NetDDE are Clipbook Viewer
ClipBook Viewer
ClipBook Viewer is a utility included in Microsoft Windows that allows users to view the contents of the local clipboard, clear the clipboard or save copied and cut items...

, WinChat and Microsoft Hearts
Microsoft Hearts
Hearts is a card game that is included in Microsoft Windows.-History:Hearts was first included in Windows with Windows for Workgroups 3.1, released in October, 1992, which included a new networking technology that Microsoft called NetDDE. Microsoft used Hearts to showcase the new NetDDE technology...

.

NetDDE was still included with Windows Server 2003
Windows Server 2003
Windows Server 2003 is a server operating system produced by Microsoft, introduced on 24 April 2003. An updated version, Windows Server 2003 R2, was released to manufacturing on 6 December 2005...

 and Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

 Service Pack 2, although it was disabled by default. It has been removed entirely in Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

. However, this will not prevent existing versions of NetDDE from being installed and functioning on later versions of Windows.

See also

  • ActiveX
    ActiveX
    ActiveX is a framework for defining reusable software components in a programming language-independent way. Software applications can then be composed from one or more of these components in order to provide their functionality....

  • Component Object Model
    Component Object Model
    Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

     (COM)
  • Distributed Component Object Model
    Distributed component object model
    Distributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+...

     (DCOM)
  • Microsoft .NET
  • Object Linking and Embedding
    Object Linking and Embedding
    Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

    (OLE)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK