- Related Stories
-
Putting XML in the fast lane
January 13, 2005
(continued from previous page)
data into a smaller file but require a specific program to view the information. Several companies have already created binary formats to suit their different operating environments or industries.
For example, Expway has created ways of storing XML data in a binary format for the mobile phone and television industries.
In those industries, bulky XML text documents are not suitable, and as a result, XML is not being widely used, said Berjon, the chair of the W3C Working Group on Binary Characterization and a researcher at Expway. Fast performance is essential for sending data to certain devices, such as set-top boxes, because consumers will not tolerate the slow transmission of programming guides or other information, he said.
Similarly, the mobile communications area is ripe for smaller XML files, argue proponents.
Mobile devices are getting more powerful processors to read more data. But all that processing sucks the life out of batteries, which haven't kept pace with chips on the upgrade front, said John Schneider, chief technology officer of AgileDelta, which makes software for devices to compress and more efficiently handle XML data.
By using XML-based protocols, called Web services, mobile carriers could offer more interactive applications than are available today and help meet consumer desire for games, calendars and so on, he said.
Compelling applications "make a huge difference. It adds a lot of value--the more people can access, the more valuable the information becomes," said Schneider.
Meanwhile, Sun Microsystems launched its own project, called Fast InfoSet, which it says can boost the speed of an XML application anywhere from two to 10 times.
Binarians, unitarians and contrarians
It's estimated that there are at least a dozen binary XML formats already in use or in development today. If it does go ahead with an effort to speed up XML, the W3C will seek to create a single group-sanctioned binary format, rather than have several formats for specific purposes, said Quin.
"We hope if we publish something that meets the needs of many of
See more CNET content tagged:
XML, cell phone carrier, broadcaster, approach, cell phone






Cheers,
Kevin
For example, instead of:
<books>
<book type='hardback'>
<title>Atlas Shrugged</title>
<author>Ayn Rand</author>
<isbn id='1' rating='good'>0525934189</isbn>
</book>
</books>
Use:
books{
book(type='hardback'){
title{Atlas Shrugged}
author{Ayn Rand}
isbn(id=1,rating=good){0525934189}
}
}
Attribution is obvious as it is in (), the loss of the duplicating closing tag removes the number of bytes of the opening tag.
This format works without any line feeds and can be translated into XML if needed.
Already supported, and chances are most of the transfers occur over HTTP anyway.
That said, I often recommend a custom binary encoding between the J2ME app and a proxy for the app running in a servlet container. Doing Java on either end makes it easy to move data between the two, see my tip at http://developers.sun.com/techtopics/mobility/midp/ttips/clientserv/ for the details.
Eric
http://www.ericgiguere.com/
I believe that if a binary XML format is standardized, there should be some standard means for the sending and receiving programs to negotiate what they support, so that the binary protocol will only be used when both sides support it. If different binary encodings need to be specified, there should be some way of identifying them, and if two programs don't support any common binary encodings, the text form should always be available as a fallback.
In some 'closed' applications, where the "client" is known to support only one format, a binary only XML engine can be used to save code space and processor cycles. On 'open' systems, most applications would probably have to support text XML parsing as well as zero or more binary encodings.
An advantage to having this standardized is that the XML documents will be in a form that can be decoded by any XML parser that conforms to the standard and supports the specific binary encoding scheme. There may be a few of these different encodings, but they should all be flexible enough that no software vendor feels obligated to create their own proprietary encoding because they think the standardized ones are inadequate.
I was just thinking about XML and the speed-performance idea. And the impact unreadable binary files could have.
To my opinion sending complete XML-files is just like upgrading software by sending the complete package over and over again.
If it is about sending large files that contain for an great part the same information send previously. Why not just send PATCHES (or a nicer word: INCREMENTALS) to that file?
It needs communication protocols. It needs software adaption. But it brings fabulous sending-speed performance.
It might even increase SECURITY by not sending all information every time.
Please add your comment to this idea.
T. Nijmeijer
Delft, Netherlands
Though the bandwidth considerations are not inconsiderable, a larger part of the problem is the work required to parse, validate, and deserialize the data from its text form to the binary formats. Some embedded devices (where this is most likely to be best applied) like set-top boxes and mobile phones are limited in the CPU and memory available to handle this process and a standardized binary XML encoding/representation would reduce the headroom required on these devices to handle more sophisticated applications.
I have already seen CDATA and other unrestricted elements being used by some XML applications to pass what is effectively BASE64 encoded binary records around, and this is not decodable by anything other than another application that already knows how to interpret the binary structure. A standardized binary XML encoding would solve this as it would still identify the elements.
- And stupid CIO comment
- by March 27, 2005 2:14 PM PST
- Mr. Eric Newcomer, chief technology officer at Iona Technologies says... "reminiscent of the argument about a decade ago, when everyone said the World Wide Web is too slow and it will never take off."
- Like this Reply to this comment
-
(12 Comments)Uhhh, well let's see then I guess then the VARIANT in VB is fast?
How about a unversal datatype in SQL Server or ORACLE then?
Should we wait 10 years?
If we fix the problem now, it will be superfast later...
However, who in their right mind should even think that the W3C have anything to do with making an XML standard is dreaming!!!
W3C did not make HTML a standard as it's not even a business and is mostly clueless intellectual types who have no idea what business is.
A standard becomes a standard when everyone starts using it, NOT when W3C says, "This is the standard and you must conform."
It's amazing the crap I hear on this IT ezines....They get Mr. Preppy with the long winded resume that says, "I worked for so-and-so but was and am NOT currently in the trenches actually doing the coding or actually using the software or service..."