El Intercambio Dinámico de Datos ( DDE ) es una tecnología de comunicación entre procesos utilizada en las primeras versiones de Microsoft Windows y OS/2 . DDE permite que los programas manipulen objetos proporcionados por otros programas y respondan a las acciones del usuario que afectan a dichos objetos. DDE fue parcialmente reemplazado por la Vinculación e Incrustaciones de Objetos (OLE) y actualmente se mantiene en los sistemas Windows únicamente por motivos de compatibilidad con versiones anteriores .
Historia y arquitectura
El Intercambio Dinámico de Datos (DDE) se introdujo por primera vez en 1987 con el lanzamiento de Windows 2.0 como un método de comunicación entre procesos que permitía a un programa comunicarse con otro o controlarlo, de forma similar a la Llamada a Procedimiento Remoto ( RPC ) de Sun. [ 1 ] En aquel entonces, el único método de comunicación entre el sistema operativo y las aplicaciones cliente era la "Capa de Mensajería de Windows". DDE extendió este protocolo para permitir la comunicación punto a punto entre aplicaciones cliente mediante la difusión de mensajes.
Debido a que DDE funciona mediante difusión de mensajes, es vulnerable a cualquier código de administración de ventanas que no procese mensajes . Este problema no se consideró durante el diseño de DDE, ya que DDE es anterior a la multitarea preventiva en Microsoft Windows. [ 2 ]
Además, cualquier código que gestione un identificador de ventana puede responder a una transmisión DDE; el iniciador de DDE debe distinguir entre respuestas esperadas e inesperadas. Los interlocutores DDE suelen expresar la información que buscan mediante claves de cadena jerárquicas . Por ejemplo, una celda en Microsoft Excel era conocida por DDE por el nombre de su "aplicación". Cada aplicación podía organizar la información en grupos denominados "temas", y cada tema podía proporcionar datos individuales como "elementos". Por ejemplo, si un usuario quería extraer un valor de Microsoft Excel, contenido en una hoja de cálculo llamada "Book1.xls", en la celda de la primera fila y la primera columna, la aplicación sería "Excel", el tema "Book1.xls" y el elemento "r1c1". Los cambios internos en la celda, debidos a acciones de Excel, se notificarían (en sentido inverso) a la aplicación que realiza la llamada mediante transmisiones de mensajes adicionales.
Relación con las tecnologías de automatización modernas
El uso común de DDE es para aplicaciones desarrolladas a medida para controlar software comercial. Por ejemplo, una aplicación interna personalizada podría usar DDE para abrir una hoja de cálculo de Microsoft Excel y llenarla con datos, abriendo una conversación DDE con Excel y enviándole comandos DDE. Esta característica ha sido reemplazada en gran medida por el conjunto de tecnologías Component Object Model . Microsoft no ha usado DDE internamente desde el lanzamiento de Windows 95. [ 3 ] Por ejemplo, Excel ahora expone un extenso modelo de objetos de automatización OLE , que es el método recomendado para comunicarse con Excel. Sin embargo, la técnica todavía se usa, particularmente para la distribución de datos financieros. [ 4 ] Debido a que DDE no requiere más componentes del sistema operativo que un programa GUI convencional de Windows , también es una alternativa [poco usada] para programas que buscan minimizar sus dependencias .
NetDDE
Wonderware desarrolló una extensión para DDE llamada NetDDE que permite iniciar y mantener las conexiones de red necesarias para las conversaciones DDE entre aplicaciones compatibles con DDE que se ejecutan en diferentes equipos de una red, e intercambiar datos de forma transparente. Una conversación DDE es una interacción entre aplicaciones cliente y servidor. NetDDE puede utilizarse junto con DDE y la biblioteca de gestión de DDE (DDEML) en las aplicaciones.
/Windows/SYSTEM32 DDESHARE.EXE (DDE Share Manager) NDDEAPIR.EXE (NDDEAPI Server Side) NDDENB32.DLL (Network DDE NetBIOS Interface) NETDDE.EXE (Network DDE - DDE Communication) Los archivos de la biblioteca NetDDE
Microsoft licenció una versión básica ( solo para tramas NetBIOS ) del producto para su inclusión en diversas versiones de Windows, desde Windows for Workgroups hasta Windows XP . Además, Wonderware también vendió una versión mejorada de NetDDE a sus propios clientes, que incluía compatibilidad con TCP/IP . Esta tecnología se utiliza ampliamente en el campo SCADA . Algunas aplicaciones básicas de Windows que utilizan NetDDE son Clipbook Viewer , WinChat y Microsoft Hearts .
NetDDE aún se incluía en Windows Server 2003 y Windows XP Service Pack 2, aunque estaba deshabilitado por defecto. Se eliminó por completo en Windows Vista . [ 5 ] Sin embargo, esto no impedirá que las versiones existentes de NetDDE se instalen y funcionen en versiones posteriores de Windows.
Véase también
Referencias
- ↑ "Comunicación remota de DDE a DOT NET" . 12 de enero de 2006. Archivado del original el 11 de noviembre de 2010.
- ↑ Chen, Raymond (27 de junio de 2005). "¿Por qué existen mecanismos basados en difusión en Windows?" . The Old New Thing . Archivado del original el 16 de diciembre de 2009.
- ↑ Chen, Raymond (26 de febrero de 2007). "Siéntase libre de dejar de usar DDE" . The Old New Thing . Archivado del original el 15 de marzo de 2019.
- ↑ Joel Spolsky - comentario en el foro de discusión de Fog Creek Software
- ↑ NetDDE se ha eliminado en Windows Vista.
Fuentes
- Charles Petzold . "Intercambio dinámico de datos" en Programación para Windows 95. Microsoft Press.
Enlaces externos
- MSDN: Acerca del Intercambio Dinámico de Datos (DDE)
- NetDDE
- Enlaces de Clojure para DDE, para su uso en aplicaciones Clojure o Java.
- Comunicación entre procesos
- Interfaces de programación de aplicaciones de Microsoft
- Comunicación y servicios de Windows