Dynamic Data Exchange
Dynamic Data Exchange (engl., Abk. DDE) bedeutet dynamischer Datenaustausch.
Es handelt sich um ein Protokoll für den Datenaustausch zwischen verschiedenen Anwendungsprogrammen, also eine Interprozesskommunikation nach dem Client-Server-Modell.
Details
Dieses Protokoll ist lokal und innerhalb von Netzwerken in den Betriebssystemen Windows (ab Version 2.0) und OS/2 verfügbar.
Damit Daten ausgetauscht oder Befehle abgesetzt werden können, müssen beide Anwendungsprogramme gleichzeitig laufen. Falls nötig muss der DDE-Client den benötigten Server-Prozess starten. Der Datenaustausch erfolgt grundsätzlich in kompletten Dateneinheiten in Windows-Zwischenablage-Formaten (also auch Binärdaten); kontinuierliche Datenströme werden üblicherweise nicht unterstützt. Da zwei sich kennende Programme neue Zwischenablageformate definieren können, ist auch der Austausch von großen arbiträren Datenmengen, etwa Matrizen in Matlab, kein Problem. Als Besonderheit bietet DDE ein „Advise“ genanntes Hot-Tracking (Datenänderungsbenachrichtigung) an, mit dem der Client automatisch über Veränderungen des Server-Datenbestands informiert wird.
Typisch für DDE und auch festgelegt ist die dreistufige Adressierung von Datenelementen, eingeteilt Server (Dienst), Topic (Thema) und Item (Element). Eine tiefergehende Adressierung, etwa bestimmte Zeilen und Spalten einer Tabellenkalkulationsseite, muss durch ein wahlfreies, nicht-aufzählbares Item erfolgen.
Implementiert ist DDE durch Nachrichten über die Windows-typischen Threadwarteschlangen sowie mittels gemeinsam genutztem Speicher für die eigentlichen Daten.
Die Leistungsfähigkeit von DDE liegt grob bei 1000 Übertragungen pro Sekunde, wenn die Kommunikation über einen GUI-Thread erfolgt, und kann bei Verwendung gesonderter Threads deutlich höher liegen. Die mit Windows 3.1 eingeführten DDE-Funktionen, zunächst in der DDEML.DLL verpackt, sind praktisch nur Wrapper, die die Verwendung vereinfachen aber keinen Geschwindigkeitsvorteil bringen.
Aktueller Stand
DDE findet heute immer noch Verwendung, etwa zum Weiterleiten von Kommandozeilen an bereits laufende Prozesse, typischerweise an MDI-Anwendungen. So kann der Windows-Explorer bei geeignet eingestellten Verknüpfungen ein Dokument an einen bereits laufenden Bearbeitungsprozess „senden“, ohne eine unnötige Prozess-Kopie zu erstellen.
Auf Grund seiner Einfachheit ist Netzwerk-DDE bei Maschinen- und Fabriksteuerungen verbreitet.
DDE wurde durch das OLE-Protokoll ergänzt und erweitert.