動的データ交換(DDE)とは
動的データ交換(Dynamic Data Exchange, DDE)は、WindowsやOS/2環境において、複数のアプリケーション間でデータをやり取りするための
通信技術です。DDEは、
1987年にWindows 2.0で導入されました。当時としては画期的な技術でしたが、現在ではより高度な後継技術であるOLE(Object Linking and Embedding)、COM(
Component Object Model)、OLE Automationなどにその役割を譲り、使われる場面は減少しています。しかし、完全に過去のものとなったわけではなく、例えば
シェルのファイル関連付けなど、一部の機能では現在でもDDEが使用されています。
DDEの仕組みと特徴
DDEを使用すると、アプリケーション間でセッションを確立し、
サーバーアプリケーションに対してコマンドを送信したり、応答を受け取ったりできます。しかし、DDEには制約もあり、
サーバーアプリケーションのGUIをクライアントアプリケーションに組み込んだり、
サーバーアプリケーションのデータをクライアントアプリケーションのファイルに直接統合したりすることはできません。DDEを活用するには、
サーバーアプリケーションがサポートしているDDEコマンドを把握しておく必要がありますが、DDEコマンドは一般的に標準化されていません。いくつかの標準(例えばブラウザ用のSpyglass仕様など)が存在するものの、多くの場合は個々のアプリケーションごとに異なるDDEコマンドを使用する必要があります。このため、DDEを使用するクライアントアプリケーションでは、制御対象の各
サーバーアプリケーション専用のコードを記述するか、スクリプト言語やマクロ機能を活用する必要があります。
DDEの具体的な活用例
DDEの一般的な用途としては、市販の
ソフトウェアを制御するためのカスタムアプリケーション開発が挙げられます。例えば、
Microsoft ExcelとDDEセッションを開始し、DDEコマンドを送信してスプレッドシートを開き、データを追加するような社内向けのカスタムアプリケーションを
C言語などで開発することが可能です。しかし、今日では、OLE Automationを利用することで、より効率的にExcelオブジェクトモデルを操作できるようになっています。そのため、DDEは過去の技術となりつつあります。
NetDDEについて
Windowsには、NetDDEという機能も存在します。NetDDEを利用すると、異なるPC上で実行されているアプリケーション間でDDEメッセージを交換できます。NetDDEを使用している有名なアプリケーションとしては、クリップボードビューアやハーツなどがあります。ただし、NetDDEはWindows Server 2003およびWindows XP Service Pack 2の初期状態では無効になっており、Windows Vista以降では完全に廃止されています。
DDEの関連技術
DDEに関連する技術としては、以下のようなものが挙げられます。
ActiveX: Microsoftが開発した、Webブラウザ上でインタラクティブなコンテンツを表示するための技術。
Component Object Model (COM):
ソフトウェアコンポーネント間の相互作用を可能にするMicrosoftの技術。
Distributed Component Object Model (DCOM): COMのネットワーク対応版で、分散環境でのコンポーネント間の連携を実現。
Microsoft .NET: Microsoftが開発した、様々なプラットフォームで動作するアプリケーションを開発するためのフレームワーク。
Object Linking and Embedding (OLE): アプリケーション間でデータの共有や操作を可能にするMicrosoftの技術。
外部リンク
DDEに関する詳しい情報は、以下のMicrosoftの公式ドキュメントを参照してください。
MSDN: About Dynamic Data Exchange
*
Dynamic Data Exchange (DDE) and NetDDE FAQ