The World Wide Web Consortium (W3C) has published three specifications intended to make it easier to incorporate binary data such as graphics or photos into web services applications. Improved processing of bulky XML files is part of the W3C's solution.

W3C's efforts are intended to address the technical and performance issues arising with use of binary data in Web services, the organisation said. The specifications, for example, would reduce the number of bytes sent in transmitting a binary file to a mobile phone, according to Yves Lafon, the W3C team contact for the organisation's XML protocol working group. The group worked on the three specifications.

Endorsers of the W3C proposals include IBM, Microsoft, and BEA System.

"The main issue there is when you want to transfer a large binary object in XML, you have to encode it in a way that makes the message far bigger than the binary data you want to send, and the (specifications) address (the problem) by reducing the size of the message you want to send," Lafon said.

Published as official Web Services Recommendations, meaning they have met final approvals, were the following:

  • XML-binary Optimized Packaging (XOP), providing a standard method for applications to include binary data as-is, along with an XML document in a package. As a result, the applications need less space to store data and less bandwidth to transmit it. Working at the XML Information Set (Infoset) level, an abstract representation of an XML document can be serialised in different ways.
  • SOAP Message Transmission Optimization Mechanism (MTOM), which uses features of XOP to address SOAP messages and make SOAP 1.2 function faster. MTOM defines a "Transmission Optimization" feature to enable SOAP bindings to optimise the transmission and/or the wire format used to transfer a SOAP message. MTOM uses HTTP and XOP to send binary parts as well as the SOAP message in a MIME envelope to reduce bandwidth and time needed to encode and decode the data.
  • Resource Representation SOAP Header Block (RRSHB), allowing SOAP message recipients to access cached representations of external resources. Recipients of a message can use either the original file identified by a URI or a cache copy accompanying the actual SOAP message. Used with MTOM, it can enhance speed and processing, since the external data is present when the recipient started processing the message.

W3C's efforts to improve XML processing were applauded by one analyst.

"We're definitely seeing a pick-up in interest across the board about making the highly useful but highly inefficient XML language better," said Ronald Schmelzer, senior analyst at ZapThink, in an e-mail. "While there are a number of products on the market to solve these challenges, new specs and more optimised renderings of XML are better for the whole industry."

Although XOP doesn't specifically talk about packaging XML as a binary format, it does involve extending XML to support large binary media types, which serves as an indication of the prevalence in which XML is being used for new applications outside the bounds originally conceived of for the language, Schmelzer added.

"MTOM and RRSHB also substantially help to improve efficiency by cutting down on the traffic that SOAP messages can potentially create through a combination of optimisation of the message itself, and by introducing caching into the mix. Why ask for data if you already have it?" Schmelzer said.