Dynamic Data Exchange
# Dynamic Data Exchange

Dynamic Data Exchange (DDE) es una tecnología de comunicación entre varias aplicaciones bajo sistemas operativos Microsoft Windows y en OS/2. Aunque es apto para las últimas versiones de Windows, ha sido reemplazado por su mucho más poderoso sucesor "Object Linking and Embedding", "COM" y "OLE Automation". Sin embargo, todavía se usa en varios sitios dentro de Windows, por ejemplo en la asociación de archivos.

En particular, DDE permite que una aplicación abra una sesión con otra, enviar comandos al servidor de aplicaciones y recibir respuestas. Sin embargo, este no permite incorporar una interfaz del servidor dentro de la aplicación cliente, tampoco soporta la incorporación de un servidor de datos dentro del archivo cliente (por ejemplo: almacenamiento estructurado); y para usar DDE se tienen que conocer los comandos de DDE que el servidor soporta, lo cual no ha sido generalmente estandarizado (si bien existieron algunos estándares, como la especificación spyglass para navegadores web). Así, para emplear toda la funcionalidad del DDE, se debe agregar código especial en cada aplicación cliente para cada servidor que este quiera controlar, o la aplicación cliente debe facilitar un lenguaje de script o macro.

Un uso común de DDE fue para desarrollar aplicaciones personalizadas para controlar software disponible, por ejemplo: un aplicación escrita en lenguaje de programación C o algún otro lenguaje debía usar DDE para abrir una hoja de cálculo en Microsoft Excel y llenarla con datos, por medio de una conversación con Excel y el envío de comandos DDE. Sin embargo, hoy se usa el modelo de objeto de Excel con OLE Automation o automatización OLE (esto es una parte de COM).

Windows tiene la habilidad de llamar NetDDE, el cual posibilita que los mensajes DDE sean enviados entre aplicaciones que corren en máquinas diferentes. Es raramente utilizado pero todavía tiene soporte. El cuaderno de Microsoft (Microsoft Clipbook) y el juego de cartas "Corazones" (Microsoft Hearts) son algunas de las aplicaciones que usan NetDDE.

