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サーバ環境向けに開発したのが最初である[1]。同年、WDDX はオープンソース化された。[要出典]
共に1998年に生まれた WDDX と XML-RPC は SOAP とWebサービスの先駆けとなった。SOAP はメッセージの構造とトランスポート層との分離という概念を WDDX から拝借し、HTTPとの関わりとRPCとしての構成をXML-RPCから拝借している[要出典]。
例: [2]
<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>
注 [編集]
- ^ Simeonov, Simeon. “WDDX: Distributed Data for the Web”. 2007年2月5日閲覧。
- ^ php.net/wddx