# XML - Managing Data Exchange/WDDX

## Learning objectives

Upon completion of this chapter, you will be able to answer the
following questions:

-   What is WDDX?
-   What are the uses of WDDX?
-   What are Web Syndicate Networks?
-   What are the benefits of WDDX?

## Introduction

`<b>`{=html}WDDX (Web Distributed Data eXchange)`</b>`{=html} was
created by Allaire, now known as
Macromedia, to solve the problem of
exchanging data between different web applications. It was originally
intended to be used to exchange data between
ColdFusion and other
web application languages. This XML-based technology enables complex
data to be exchanged between totally different Web programming languages
by creating \'Web Syndicate Networks.\' WDDX consists of a
language-independent representation of data based on an XML 1.0 DTD, and
a set of modules for a wide variety of languages that use WDDX.

### Features

-   can be used with HTTP, SMTP, POP, FTP and other Internet protocols
    that support transferring textual data
-   must be using Netscape 3.0+ or Internet Explorer for Windows or any
    versions for Unix and Mac platforms
-   supports boolean, number, date-time, and string data types
-   supports complex data types like arrays, structures, and recordsets
-   not a formal standard, but is free and widely distributed and is
    based on standard-base technologies like XML 1.0

## How it Works

The way that the web distributed data exchange works is by assigning a
specific module for the given programming language to translate the data
into an abstract XML format. Another specific module then translates the
XML back into another programming language for another web application.
For example, if you had an array in a ColdFusion program that you wanted
to send to an ASP program, it would first be serialized into XML and
sent to the ASP server. The ASP server would then deserialize it and
convert it to VBScript for use in the ASP program.

## Web Syndicate Networks

The term \'Web Syndicate Network\' refers to a group of websites that
share their content and transactions. This allows for economies of scale
as each site can use shared database content or even transactions and
procedures.

## References

OpenWDDX - <http://www.openwddx.org>\
WDDX Functions for PHP - <http://www.php.net/wddx>\
WDDX FAQ by Macromedia -
<http://www.macromedia.com/v1/handlers/index.cfm?id=5622&method=full>\

