WDDX (Web Distributed Data eXchange) は、異なる環境や異なるコンピューター間でデータを渡すために設計された、プログラミング言語、プラットフォーム、トランスポートに依存しないデータ交換メカニズムです。
歴史
WDDXは、1998年にAllaire CorporationのSimeon Simeonovによって開発され、 [1]当初はColdFusionサーバー環境向けに開発されました。WDDXはその年の後半にオープンソース化されました。[2]
使用法
WDDXは機能的にXML-RPCやWIDLに匹敵します。[3]この仕様は、数値、文字列、ブール値などの単純なデータ型と、構造体、配列、レコードセット(通常はデータベースクエリから取得される行/列データ) などの形式でのこれらの複雑な集合をサポートしています。
データはXML 1.0 DTD を使用してXMLにエンコードされ、プラットフォームに依存しないが比較的かさばる表現が生成されます。[4] XML でエンコードされたデータは、 HTTP、FTP 、またはその他の転送メカニズムを使用して別のコンピューターに送信できます。受信側のコンピューターには、エンコードされたデータを受信側のネイティブデータ表現に変換するための WDDX 対応ソフトウェアが必要です。WDDX は、データ構造をストレージ (ファイルシステムまたはデータベース) にシリアル化するためにも使用できます。多くのアプリケーションは、複雑なデータをブラウザーに渡すために WDDX を使用し、 JSONの代わりにJavaScriptでデータを操作します。
php.netからの例 : [5]
<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>
採択
WDDX は主にColdFusionで使用されており、2022 年 2 月現在も Adobe によってサポートされています。
ColdFusion以外にも、この形式を読み書きするためのライブラリが存在します。Ruby 、[6] Python、[ 7] PHP、Java、C++、. NET、[8] Actionscript、[9] lisp、Haskell、Perlなどです。
PHPはバージョン7.4まで、セッション情報を保存するフォーマットとして使用できるWDDXを包括的にサポートしていました[10] 。それ以降、ベース言語からは削除されましたが、PECLを通じて引き続き利用可能です。 [11]理由は、フォーマットの標準化が不十分で、JSONなどの新しいフォーマットの方が主流だったためです。[12]脆弱性は2007年に修正されました。[13]
注記
- ^ Simeonov, Simeon. 「WDDX: Web 向け分散データ」2007 年 2 月 5 日閲覧。
- ^ Itoi, Nikki Goth (1999 年 2 月)。「Web のシンジケート化: 企業は ICE プロトコルによって Web のコンテンツ共有の煩わしさが軽減されることを期待している」。Red Herring。1999年 10 月 13 日時点のオリジナルよりアーカイブ。
- ^ Udell, Jon (1999-06-07). 「XML-RPC の調査: DCOM? CORBA? RMI? なぜ XML-RPC だけではいけないのか?」. Byte . 2000 年 3 月 4 日時点のオリジナルよりアーカイブ。2015 年 11 月 17 日閲覧。
- ^ 「WDDX ホワイト ペーパー (Jeremy Allaire 著)」。
- ^ 「PHP: WDDX - マニュアル」www.php.net。
- ^ http://www.juretta.com/log/2007/01/31/rails_wddx_request/ Ruby on Rails で WDDX を使用する]
- ^ Python で WDDX を使用する
- ^ .NET プラットフォーム WDDX プロジェクト
- ^ Flex と AS3 で WDDX を使用する
- ^ Andrew Stopford、「PHP Programming for Windows」、Landmark、New Riders、2002年。
- ^ 「PHP: 削除された拡張機能 - マニュアル」。
- ^ 「PHP: RFC:ext-WDDX の非推奨および削除」。
- ^ 「Cve - Cve-2007-0908」.
外部リンク
- GCA98 WDDX プレゼンテーション
- WDDX をフラッシュで使用する
