WDDX

{{More footnotes|date=September 2009}}

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

WDDX was created by Simeon Simeonov of Allaire Corporation in 1998,{{cite web | last = Simeonov

| first = Simeon | title = WDDX: Distributed Data for the Web | url= https://www.infoloom.com/media/gcaconfs/WEB/chicago98/simeonov.HTM

| accessdate = 2007-02-05 }} initially for the ColdFusion server environment.

WDDX was open-sourced later that year.{{Cite news|last=Itoi |first=Nikki Goth |title=Syndicating the Web: Businesses are hoping that the ICE protocol will reduce the Web's content-sharing hassles |work=Red Herring |date=February 1999 |url=http://redherring.com/mag/issue63/news-syndication.html |url-status=dead |archiveurl=https://web.archive.org/web/19991013102610/http://redherring.com/mag/issue63/news-syndication.html |archivedate=October 13, 1999 }}

Usage

WDDX is functionally comparable to XML-RPC and WIDL.{{Cite news|last=Udell |first=Jon |title=Exploring XML-RPC: DCOM? CORBA? RMI? Why Not Just XML-RPC? |work=Byte |accessdate=2015-11-17 |date=1999-06-07 |url=http://www.byte.com/features/1999/06/0607XML_RPC5.html |url-status=dead |archiveurl=https://web.archive.org/web/20000304171225/http://www.byte.com/features/1999/06/0607XML_RPC5.html |archivedate=March 4, 2000 }} 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.{{Cite web|url=http://xml.coverpages.org/allaireWP-cfm.html|title = WDDX White Paper by Jeremy Allaire}} 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:{{Cite web|url=https://www.php.net/wddx|title=PHP: WDDX - Manual|website=www.php.net}}

3.1415926

Austin

Novato

Seattle

Adoption

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,http://www.juretta.com/log/2007/01/31/rails_wddx_request/ Using WDDX with Ruby on Rails] Python,[https://pypi.python.org/pypi/wddx Using WDDX with Python] PHP, Java, C++, .NET,[https://github.com/Bilal-S/WDDX.net .NET platform WDDX project] Actionscript,[http://blog.bigsource.de/index.php/2007/11/01/as3-wddx-class/ Using WDDX with Flex and AS3] lisp, Haskell, Perl.

PHP used to offer a comprehensive support for WDDX, which could be used as a format to store session informationAndrew Stopford, PHP Programming for Windows, Landmark, New Riders, 2002. until the version 7.4. It has been removed since from the base language, but still available through PECL.{{Cite web|url=https://www.php.net/manual/en/migration74.removed-extensions.php|title = PHP: Removed Extensions - Manual}} The rationale was a lack of standardization of the format, and new formats like JSON more mainstream.{{Cite web|url=https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx|title=PHP: RFC:deprecate-and-remove-ext-WDDX}} A vulnerability was fixed in 2007.{{vague|reason=No information given about what kind of vulnerability it is or how severe.|date=February 2025}}{{Cite web|url=https://cve.mitre.org/cgi-bin/cvename.cgi?name=2007-0908|title = Cve - Cve-2007-0908}}

Notes

{{reflist}}