動的データ交換

動的データ交換（どうてきデータこうかん、英語：Dynamic Data Exchange, DDE）は、WindowsやOS/2環境下において、複数のアプリケーションソフトウェア（アプリケーション）間で通信を行う技術である。

 概要 
DDEが発表されたのは1987年のWindows 2.0リリース時である。それ以降、現在のWindowsでもサポートされてはいるが、より強力な後継であるOLEやCOMやOLE Automationにほとんどその地位を奪われた。しかし、たとえばシェルのファイル関連付けなど、いくつかの場面ではまだ使われている。

DDEでは、他のアプリケーションとセッションを開始し、サーバアプリケーションにコマンドを送ったり、応答を受け取ったりすることができる。しかし、サーバアプリケーションのGUIをクライアントアプリケーションに組み込んだり、サーバアプリケーションのデータをクライアントアプリケーションのファイル（構造化記憶域など）に組み込んだりはできない。DDE を使うためには、サーバがサポートしているDDEコマンドがわかっていなければならないが、一般にはコマンドは標準化されていない（たとえばブラウザ用のSpyglass仕様のように、いくつかの標準は存在するが）。したがって、制御したいサーバアプリケーションのそれぞれに対する専用のコードをクライアントアプリケーションにそれぞれ追加するか、スクリプト言語やマクロ機能がクライアントアプリケーションで提供されていなければ、DDEを活用するのは難しい。

DDEの一般的な用途としては、市販のソフトウェアの制御を行うためのカスタムアプリケーションがある。たとえば、Microsoft ExcelとDDE対話を開始してDDEコマンドを送り、スプレッドシートを開いてデータを追加したりする社内向けカスタムアプリケーションが、C言語やその他のプログラミング言語で開発されるなどといったことができる。しかし今日では、（COMの一部である）OLE Automationでエクセルオブジェクトモデルが使われるようになっている。

 NetDDE 
WindowsにはNetDDEと呼ばれる機能もあり、別々のPCで実行されているアプリケーション間でDDEメッセージを送ることができる。NetDDEを使っている著名なアプリケーションには、クリップボードビューアとハーツがある。NetDDEはWindows Server 2003とMicrosoft Windows XP#Service PackWindows XP Service Pack 2の初期状態では無効になっており、Windows Vistaでは完全に廃止される。

 関連項目 
 ActiveX
 Component Object Model (COM)
 Distributed Component Object Model (DCOM)
 Microsoft .NET
 Object Linking and Embedding (OLE)

 外部リンク 
MSDN: About Dynamic Data Exchange
Dynamic Data Exchange (DDE) and NetDDE FAQ

Category:マイクロソフトのAPI
Category:並行計算