En informática , 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 . El DDE permite a los programas manipular objetos proporcionados por otros programas y responder a las acciones del usuario que afectan a esos objetos. El DDE fue parcialmente reemplazado por el enlace e incrustación de objetos (OLE) y actualmente se mantiene en los sistemas Windows solo por motivos de compatibilidad con versiones anteriores .
El intercambio dinámico de datos se introdujo por primera vez en 1987 con el lanzamiento de Windows 2.0 como un método de comunicación entre procesos para que un programa pudiera comunicarse con otro programa o controlarlo, de forma similar a la llamada a procedimiento remoto ( RPC ) de Sun. [1] En ese momento, el único método de comunicación entre el sistema operativo y las aplicaciones cliente era la "capa de mensajería de Windows". DDE amplió este protocolo para permitir la comunicación entre pares entre aplicaciones cliente, a través de transmisiones de mensajes.
Dado que DDE se ejecuta mediante transmisiones de mensajes, es vulnerable a cualquier código de administración de ventanas que no envíe mensajes. Este problema no se tuvo en cuenta 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 la transmisión DDE debe distinguir entre respuestas esperadas e inesperadas. Los interlocutores DDE suelen expresar la información que buscan en términos de claves de cadena jerárquicas. Por ejemplo, una celda de Microsoft Excel era conocida por DDE por su nombre de "aplicación". Cada aplicación podía organizar la información mediante grupos conocidos como "temas" y cada tema podía ofrecer datos individuales como un "elemento". Por ejemplo, si un usuario quería extraer un valor de Microsoft Excel que estaba 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 señalarían (a la inversa) a la aplicación que realiza la llamada mediante transmisiones de mensajes adicionales.
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 principalmente por el conjunto de tecnologías del Modelo de objetos componentes . Microsoft no ha usado DDE internamente desde el lanzamiento de Windows 95. [ 3] Por ejemplo, Excel ahora expone un modelo de objetos de automatización OLE extenso , 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 de Windows convencional , también es una alternativa [poco utilizada] para programas que buscan minimizar sus dependencias .
Wonderware desarrolló una extensión para DDE llamada NetDDE que podría utilizarse para iniciar y mantener las conexiones de red necesarias para conversaciones DDE entre aplicaciones compatibles con DDE que se ejecutan en diferentes computadoras en una red e intercambiar datos de manera transparente. Una conversación DDE es una interacción entre aplicaciones cliente y servidor. NetDDE podría utilizarse junto con DDE y la biblioteca de administración 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 ( sólo NetBIOS Frames ) del producto para su inclusión en varias 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 . La tecnología se utiliza ampliamente en el campo SCADA . Las aplicaciones básicas de Windows que utilizan NetDDE son Clipbook Viewer , WinChat y Microsoft Hearts .
NetDDE todavía se incluía en Windows Server 2003 y Windows XP Service Pack 2, aunque estaba deshabilitado de forma predeterminada. 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.