WDDX

WDDX (Web Distributed Data eXchange) とは、プログラミング言語やプラットフォームやトランスポート層に依存しないデータ交換機構であり、異なる環境や異なるコンピュータ間でのデータ交換を実現する。数値、文字列、ブーリアンといった単純なデータ型をサポートし、それらを組み合わせた構造体や配列やレコードなどもサポートする。WDDX は各種言語でサポートされている。Ruby、Python、PHP、Java、C++、.NET、Flash、LISP、Haskellなどがある。

データはXML 1.0 DTD でエンコード（符号化）され、プラットフォームに依存しない、まとまった形式となる。そのような形式のデータをHTTP、FTPなど適当な転送機構で送る。受信側のマシンにはWDDXを解釈できるソフトウェアが搭載されており、そのマシンが扱える形式に変換を行う。WDDX はファイルシステムやストレージへ格納する際のデータシリアライズ機構としても使うことができる。典型的な使用法としては、WebブラウザでWDDXを解釈するJavaScriptを動作させ、サーバからブラウザに対して複雑なデータをWDDX形式で送る。これは一種のAjaxである。

WDDX は1998年、Allaire の Simeon Simeonov が ColdFusionサーバ環境向けに開発したのが最初である。

共に1998年に生まれた WDDX と XML-RPC は SOAP とWebサービスの先駆けとなった。

例: 
<nowiki>
 <wddxPacket version='1.0'>
   <header comment='PHP'/>
   <data>
     <struct>
       <var name='pi'>
         <number>3.1415926</number>
       </var>
       <var name='cities'>
         <array length='3'>
           <string>Austin</string>
           <string>Novato</string>
           <string>Seattle</string>
         </array>
       </var>
     </struct>
   </data>
 </wddxPacket>
</nowiki>

脚注

外部リンク
OpenWDDX website
GCA98 WDDX Presentation
Cover Pages on WDDX
Exchanging Data with WDDX
Using WDDX with Flash

XMLベースの技術
データシリアライゼーションフォーマット