Che cos’è uno scambio di dati dinamico?

Dynamic Date Exchange (DDE) è un protocollo informatico Microsoft® basato su messaggi che consente lo scambio di dati tra applicazioni in esecuzione su sistemi operativi Windows. Conosciuto più in generale come comunicazione tra processi, Dynamic Data Exchange trasmette messaggi per stabilire un canale di “conversazione” e comunicazione tra l’applicazione che richiede i dati, il client e l’applicazione in cui risiedono i dati, ovvero il server. Scritta e avviata dall’applicazione client, una richiesta DDE è costituita dal nome dell’applicazione DDE del server, dalla natura dei dati da scambiare, denominata argomento DDE, e dal nome dell’elemento DDE. I collegamenti DDE possono essere eseguiti una volta o aggiornati dinamicamente, nel qual caso l’applicazione ricevente viene notificata ogni volta che cambia il valore dei dati specificati sull’applicazione server. È possibile stabilire più collegamenti DDE da qualsiasi applicazione e un’applicazione può fungere contemporaneamente da client e server.

Dynamic Data Exchange funziona trasmettendo messaggi contenenti la richiesta DDE a tutte le altre applicazioni in esecuzione. Se un’applicazione in esecuzione riconosce la richiesta DDE, risponde e viene stabilita una conversazione. Il sistema operativo Windows stabilisce quindi un collegamento tra le due applicazioni. I canali di comunicazione possono essere una tantum o permanenti nei casi in cui l’applicazione client deve disporre di dati aggiornati su base regolare. Esistono due tipi di collegamenti permanenti: caldi e caldi. I collegamenti caldi richiedono prima l’approvazione dell’utente per aggiornare l’applicazione client. Con gli hot link questo viene fatto automaticamente.

La comunicazione dei dati DDE avviene dietro le quinte, ovvero l’utente può continuare a fare ciò che sta facendo mentre la richiesta DDE viene eseguita in background. Pertanto, la comunicazione Dynamic Data Exchange è definita asincrona. La richiesta DDE e il relativo risultato possono essere archiviati nella memoria condivisa mentre le applicazioni client e server continuano l’elaborazione in corso fino a quando non è possibile eseguire la richiesta e la risposta.

Questo protocollo è stato in una certa misura superato da Microsoft® Object Linking and Embedding (OLE) e Component Object Model (COM), nonché dalla Dynamic Data Exchange Management Library (DDEML). Tuttavia, DDE è ancora ampiamente utilizzato per determinati scopi, in particolare quelli che non richiedono l’interazione continua dell’utente. Gli esempi includono l’aggiornamento di un foglio di calcolo Microsoft® Excel client da applicazioni server che ricevono dati in tempo reale da sensori o altri dispositivi di misurazione su una linea di produzione, il collegamento ad applicazioni che ricevono azioni in tempo reale e altri aggiornamenti sui mercati finanziari o l’aggiornamento regolare di un foglio valori da un database.