WDDX

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 エンコードされたデータは、HTTPFTP、またはその他の送信メカニズムを使用して別のコンピューターに送信できます。受信側のコンピューターには、エンコードされたデータを受信側のネイティブ データ表現に変換するための 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>オースティン</string> <string>ノヴァト</string> <string>シアトル</string> < /array> </var> </struct> </data> </wddxPacket> 
   
  
    
       
        
      
       
         
          
          
          
        
      
    
  


可決

WDDX は主にColdFusionで使用されており、2022 年 2 月現在も Adob​​e によってサポートされています。

ColdFusion の外部には、この形式の読み取りまたは書き込みを行うためのライブラリ ( Ruby[6] Python[7] PHPJavaC++.NET[8] Actionscript[9] lispHaskellPerl ) が存在します。

PHP は、バージョン 7.4 まではセッション情報[10]を保存する形式として使用できた WDDX の包括的なサポートを提供していました。基本言語からは削除されましたが、PECL を通じて引き続き利用できます。[11]その根拠は、フォーマットの標準化が欠如しており、JSON のような新しいフォーマットがより主流になっているということでした。[12]脆弱性は 2007 年に修正されました。[13]

ノート

  1. ^ シメオノフ、シメオン。「WDDX: Web 用の分散データ」2007 年 2 月 5 日に取得
  2. ^ 糸井、ニッキー・ゴス (1999 年 2 月)。「Web のシンジケート: 企業は、ICE プロトコルによって Web のコンテンツ共有の煩わしさが軽減されることを期待しています。」レッドニシン1999 年 10 月 13 日のオリジナルからアーカイブ。
  3. ^ ジョン・ユーデル (1999-06-07)。「XML-RPC の探索: DCOM? CORBA? RMI? なぜ XML-RPC だけではだめなのですか?」。バイト2000 年 3 月 4 日のオリジナルからアーカイブ2015 年 11 月 17 日に取得
  4. ^ “WDDX ホワイトペーパー by Jeremy Allaire”.
  5. ^ "PHP: WDDX - マニュアル". www.php.net
  6. ^ http://www.juretta.com/log/2007/01/31/rails_wddx_request/ Ruby on Rails での WDDX の使用]
  7. ^ Python で WDDX を使用する
  8. ^ .NETプラットフォームWDDXプロジェクト
  9. ^ Flex および AS3 での WDDX の使用
  10. ^ Andrew Stopford、Windows 用 PHP プログラミング、Landmark、New Riders、2002 年。
  11. ^ "PHP: 削除された拡張機能 - マニュアル".
  12. ^ "PHP: RFC: deprecate-and-remove-ext-WDDX".
  13. ^ "Cve - Cve-2007-0908".

外部リンク

  • GCA98 WDDX プレゼンテーション
  • フラッシュでの WDDX の使用