HomePHP Page 2 - Data Exchange with XML, WDDX and PHP
The Wonderful World Of WDDX - PHP
You may never have heard of it before - but if your job involvesexchanging data between different servers and applications, you're going tobe hearing a lot about it very soon. Find out how WDDX makes it possible tocreate and transmit platform-neutral data structures across the Web, andhow it can be combined with PHP to create a whole new generation of Webapplications (including new content syndication and financial updateservices).
It's quite likely that you've never heard of WDDX before today - so allow me to enlighten you:
WDXX, or Web Distributed Data Exchange, is a mechanism for representing and exchanging data structures (like strings and arrays) between different platforms and applications. It uses XML to create abstract representations of data, application-level components to convert the XML abstractions into native data structures, and standard Internet protocols like HTTP and FTP as the transport mechanism between applications.
Still confused, huh?
All right, let's try English for a change.
WDDX is simply a way of representing data - strings, numbers, arrays, arrays of arrays - in a manner that can be easily read and understood by any application. To illustrate this, consider the following PHP variable:
By creating an abstract representation of data, WDDX makes it possible to easily exchange data between different applications - even applications running on different platforms or written in different languages - so long as they all understand how to decode WDDX-encoded data. Applications which support WDDX will receive application-neutral WDDX data structures and convert them into an application-specific usable format.
The implications of this are tremendous, especially for developers working on different platforms. It means that a PHP associative array could be encoded in WDDX and sent to a Perl script, which could decode it into a hash and use it for further processing, or that a Python list generated on one server could be represented as a WDDX structure and sent to another server, where a Perl, PHP or JSP script could decode it as an array and handle it appropriately. By maintaining the integrity of data structures across different environments, writing platform-independent code becomes much easier.
With applications now able to talk to each other in a common language, a huge number of new business and technological opportunities arise. Data exchange between servers - for example, B2B applications like accounting, inventory management and order fulfillment - becomes more streamlined and intelligent, and data updates - for example, news headlines or stock prices - can be delivered to requesting clients without worries about inter-operability of different operating systems or platforms.
Since WDDX abstractions are represented as text (technically, well-formed XML), they can be moved between applications using any protocol which supports transferring textual data - including HTTP and email. In fact, WDDX was written by Allaire Corporation specifically to solve the problem of data exchange in the anything-but-consistent world of the Web...and, as you'll see over the next few pages, it works beautifully.