Dynamic Data Exchange

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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[Bearbeiten]

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 Thread-Warteschlangen 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.

DDE überwindet „Bitgrenzen“ relativ problemlos. So ist es möglich, dass ein 16-Bit- und ein 32-Bit-Windows-Programm kommunizieren, so auch ein 32-Bit- und ein 64-Bit-Programm. Eine Kommunikation zwischen 16-Bit und 64-Bit ist regulär nur mittels Netzwerk-DDE machbar, da die 64-Bit-Windows-Versionen keine 16-Bit-Unterstützung haben.

Aktueller Stand[Bearbeiten]

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.

Als Alternative, insbesondere für kontinuierliche Datenströme, bieten sich Sockets an.