Web developers are a pragmatic bunch. They have to be -- the whole Internet is held together by the virtual equivalents of baling wire and spit. Faced with an array of clients, servers, transports and protocols, Web developers often solve design problems with whatever tool is handy and gets the job done quickly.
That's why Perl, the scripting language used in CGI programs throughout the Web, is the duct tape of the Internet. Perl is cheap and handy in a pinch, and it's easy to find computer science graduates who know how to use it.
Less widespread, but almost as handy as Perl, is Allaire's Cold Fusion. Cold Fusion is a Web application server that interprets Cold Fusion tags embedded within HTML files and executes specific actions programmed by these tags.
Many developers swear by Cold Fusion because it doesn't cost hundreds of thousands of dollars, its code is easy to learn and to read, and it works. Cold Fusion lacks the high-end object-oriented features of a true programming language, but its integration with HTML makes it ideally suited for the Web.
Now the developers of Cold Fusion are proposing a new kind of baling wire that, they believe, will appeal to the pragmatic Web developers who are their core customers.
Allaire's Jeremy Allaire (who co-founded the company with his brother J.J.) is championing WDDX, which is short for Web Distributed Data Exchange.
Technically speaking, WDDX is an Extensible Markup Language (XML) vocabulary defined by a Document Type Definition (DTD) that Allaire has posted on its site. WDDX provides a data format that Jeremy Allaire hopes will become the standard for data exchanges on the Web. (For more details, see www.allaire.com/developer)Simply stated, WDDX is the epoxy that programmers can use to glue data from different platforms together on the Web.
If I'm programming in JavaScript and you're using Cold Fusion, we can use WDDX translators on each platform to exchange data. My JavaScript data is converted to WDDX, transmitted to your application, and then translated into Cold Fusion-friendly data formats. Each of us can continue to work with the data formats we know without worrying about WDDX, since it's just used for translating and transporting the information.
Why not just use vanilla XML to accomplish the same thing? Because that would require Web developers to become conversant in XML and create their own DTDs in order to exchange data with other platforms.
Allaire is releasing WDDX translation engines for Cold Fusion (this will be part of Cold Fusion 4.0), JavaScript, and Microsoft's Component Object Model and Active Server Pages platforms. It is also working on a Perl implementation of the WDDX translator, so Web developers can connect their epoxy to their duct tape.
Jeremy Allaire, like many others, is betting on XML. But he doesn't feel that the Web will be transformed overnight into a completely XML-based universe, with XML databases serving code to native XML browsers.
Rather, Allaire thinks the Web of the future will look much like the Web of today: many different applications on a variety of platforms, all trying to communicate with one another through any means possible, despite a wildly heterogeneous mix of data types.
Given the Web's patchwork background, Allaire's approach may well win the day.
Dylan Tweney ([email protected]) has been covering the Internet since 1993.