De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

En informática , Dynamic Data Exchange ( DDE ) es una tecnología para la comunicación entre procesos utilizada en las primeras versiones de Microsoft Windows y OS / 2 . DDE permite a los programas manipular objetos proporcionados por otros programas y responder a las acciones del usuario que afectan a esos objetos. DDE fue reemplazado parcialmente por la vinculación e incrustación de objetos (OLE), y actualmente se mantiene en los sistemas Windows solo por motivos de compatibilidad con versiones anteriores .

Historia y arquitectura [ editar ]

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, algo parecido al RPC (llamada a procedimiento remoto) 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 extendió este protocolo para permitir la comunicación de igual a igual entre aplicaciones de cliente, a través de transmisiones de mensajes.

Debido a que DDE se ejecuta a través de transmisiones de mensajes, es vulnerable a cualquier código de administración de ventanas que no bombee mensajes . Este problema no se consideró durante el diseño de DDE, porque DDE es anterior a la multitarea preventiva . [2]

Además, cualquier código que administre 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 generalmente expresan la información que buscan en términos de claves de cadena jerárquicas . Por ejemplo, una celda en Microsoft ExcelDDE lo conocía por su nombre de "aplicación". Cada aplicación podría organizar aún más la información por grupos conocidos como "tema" y cada tema podría ofrecer datos individuales como un "elemento". Por ejemplo, si un usuario quisiera extraer un valor de Microsoft Excel que estaba contenido en una hoja de cálculo llamada "Libro1.xls" en la celda de la primera fila y la primera columna, la aplicación sería "Excel", el tema "Libro1". xls "y el elemento" r1c1 ". Los cambios internos en la celda debido a las acciones de Excel se señalarían (al revés) a la aplicación que llama a través de transmisiones de mensajes adicionales.

Relación con las tecnologías de automatización modernas [ editar ]

El uso común de DDE es para aplicaciones desarrolladas a medida para controlar software estándar. 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 utilizado 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 utiliza, especialmente para la distribución de datos financieros. [4]Debido a que DDE no requiere más componentes del sistema operativo que un programa de GUI de Windows convencional , también es una alternativa [poco utilizada] para los programas que buscan minimizar sus dependencias .

NetDDE [ editar ]

Wonderware desarrolló una extensión para DDE llamada NetDDE que podría usarse para iniciar y mantener las conexiones de red necesarias para las conversaciones DDE entre aplicaciones compatibles con DDE que se ejecutan en diferentes computadoras en una red e intercambian datos de forma transparente. Una conversación DDE es una interacción entre las aplicaciones cliente y servidor. NetDDE podría usarse junto con DDE y la biblioteca de administración DDE (DDEML) en 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 obtuvo la licencia de una versión básica ( solo NetBIOS Frames ) del producto para su inclusión en varias versiones de Windows, desde Windows para trabajo en grupo hasta Windows XP . Además, Wonderware también vendió una versión mejorada de NetDDE a sus propios clientes que incluía soporte para 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 con Windows Server 2003 y Windows XP Service Pack 2, aunque estaba deshabilitado de forma predeterminada. Se ha eliminado por completo en Windows Vista . [5] Sin embargo, esto no evitará que las versiones existentes de NetDDE se instalen y funcionen en versiones posteriores de Windows.

Ver también [ editar ]

  • ActiveX
  • Modelo de objetos componentes (COM)
  • Modelo de objetos componentes distribuidos (DCOM)
  • Microsoft .NET
  • Patrón de observador

Referencias [ editar ]

  1. ^ "Net DDE a DOT NET Remoting" . 2006-01-12. Archivado desde el original el 11 de noviembre de 2010.
  2. ^ Chen, Raymond (27 de junio de 2005). "¿Por qué hay mecanismos basados ​​en difusión en Windows?" . Lo viejo y nuevo . Archivado desde el original el 16 de diciembre de 2009.
  3. ^ Chen, Raymond (26 de febrero de 2007). "No dude en dejar de utilizar DDE" . Lo viejo y nuevo . Archivado desde el original el 15 de marzo de 2019.
  4. ^ Joel Spolsky - comenta en el foro de discusión de Fog Creek Software
  5. ^ NetDDE se ha eliminado en Windows Vista.

Fuentes [ editar ]

  • Charles Petzold . "Intercambio dinámico de datos" en Programación para Windows 95 . Microsoft Press.

Enlaces externos [ editar ]

  • MSDN: Acerca del intercambio dinámico de datos (DDE)
  • NetDDE
  • Enlaces de Clojure para DDE, para usar en aplicaciones Clojure o Java