WDDX (Web Distributed Data eXchange) is a programming language-, platform- and transport-neutral data interchange mechanism designed to pass data between different environments and different computers.

History

edit

WDDX was created by Simeon Simeonov of Allaire Corporation in 1998,[1] initially for the ColdFusion server environment. WDDX was open-sourced later that year.[2]

Usage

edit

WDDX is functionally comparable to XML-RPC and WIDL.[3] The specification supports simple data types such as number, string, boolean, etc., and complex aggregates of these in forms such as structures, arrays and recordsets (row/column data, typically coming from database queries).

The data is encoded into XML using an XML 1.0 DTD, producing a platform-independent but relatively bulky representation.[4] The XML-encoded data can then be sent to another computer using HTTP, FTP, or other transmission mechanism. The receiving computer must have WDDX-aware software to translate the encoded data into the receiver's native data representation. WDDX can also be used to serialize data structures to storage (file system or database). Many applications use WDDX to pass complex data to browsers where it can be manipulated with JavaScript, as an alternative to JSON.

Example from 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>


Adoption

edit

WDDX is mainly used by ColdFusion and, as February 2022, still supported by Adobe.

Outside ColdFusion, libraries exist to read or write this format, Ruby,[6] Python,[7] PHP, Java, C++, .NET,[8] ActionScript,[9] lisp, Haskell, Perl.

PHP used to offer a comprehensive support for WDDX, which could be used as a format to store session information[10] until the version 7.4. It has been removed since from the base language, but still available through PECL.[11] The rationale was a lack of standardization of the format, and new formats like JSON more mainstream.[12] A vulnerability was fixed in 2007.[vague][13]

Notes

edit
  1. ^ Simeonov, Simeon. "WDDX: Distributed Data for the Web". Archived from the original on 2016-03-05. Retrieved 2007-02-05.
  2. ^ Itoi, Nikki Goth (February 1999). "Syndicating the Web: Businesses are hoping that the ICE protocol will reduce the Web's content-sharing hassles". Red Herring. Archived from the original on October 13, 1999.
  3. ^ Udell, Jon (1999-06-07). "Exploring XML-RPC: DCOM? CORBA? RMI? Why Not Just XML-RPC?". Byte. Archived from the original on March 4, 2000. Retrieved 2015-11-17.
  4. ^ "WDDX White Paper by Jeremy Allaire".
  5. ^ "PHP: WDDX - Manual". www.php.net.
  6. ^ "Rails WDDX Request". www.juretta.com. January 31, 2007. Archived from the original on February 13, 2008. Retrieved July 26, 2025.
  7. ^ Using WDDX with Python
  8. ^ Soylu, Bilal (2018-07-19), Bilal-S/WDDX.net, retrieved 2026-05-08
  9. ^ Using WDDX with Flex and AS3
  10. ^ Andrew Stopford, PHP Programming for Windows, Landmark, New Riders, 2002.
  11. ^ "PHP: Removed Extensions - Manual".
  12. ^ "PHP: RFC:deprecate-and-remove-ext-WDDX". wiki.php.net. Retrieved 2026-05-08.
  13. ^ "Cve - Cve-2007-0908".
edit


📚 Artikel Terkait di Wikipedia

PHP

wiki.php.net. Retrieved 2019-04-05. "PHP: rfc:deprecate-and-remove-ext-wddx". wiki.php.net. Retrieved 2019-04-05. "PHP: rfc:custom_object_serialization"

XML-RPC

competing specifications such as Allaire's Web Distributed Data Exchange (WDDX) and webMethod's Web Interface Definition Language (WIDL). Prior art wrapping

SOAP

Service Addressing and the envelope/header/body from elsewhere (probably from WDDX).[citation needed] SOAP was designed as an object-access protocol and released

List of PHP extensions

memory SMTP SNMP SimpleXML Sockets SQLite Streams Sybase Token vpopmail WDDX Win32 API xajax XML (Xpath) XML-RPC XSLT YAZ Yellow pages / NIS ZIP Zlib

Open Sound Control

format developed at CNMAT by Adrian Freed and Matt Wright comparable to XML, WDDX, or JSON. It was originally intended for sharing music performance data (gestures

Jeremy Allaire

In particular, the company developed the Web Distributed Data Exchange (WDDX) in 1998, an open source format for using HTTP for simple remote procedure

Serialization

corresponding structure. CFML allows data structures to be serialized to WDDX with the <cfwddx> tag and to JSON with the SerializeJSON() function. Delphi

Lucee

consumed. Lucee supports three types of web services: RESTful web services WDDX / Soap web services HTTP (An interface using HTTP verbs, similar to REST