January 28, 2005 (HOSTSEARCH.COM) The World Wide Web Consortium (W3C) has published three new Web Services Recommendations: XML-binary Optimized Packaging (XOP), SOAP Message Transmission Optimization Mechanism (MTOM), and Resource Representation SOAP Header Block (RRSHB). These recommendations provide ways to efficiently package and transmit binary data included or referenced in a SOAP 1.2 message.
Web Services Applications Need Effective, Standard Methods for Handling Binary Data
Web Services applications have the primary goal of sharing and using data between applications. This includes an increasingly diverse set of media formats and devices, including large schematics and other graphical files. Examples are as intricate as sharing architectural blueprints between multiple parties, or as simple as sending a photo from a digital camera directly to a printer.
One of the biggest technical and performance issues for Web services occurs when a user or application is handling large binary files. Encoding binary data as XML produces huge files, which absorbs bandwidth and measurably slows down applications. For some devices, it slows down so much that the performance is considered unacceptable. W3C Devises Three-Part Solution for Better Web Services Performance W3C's XML Protocol Working Group has been looking at this issue almost from its inception, while it was developing the first SOAP standard, SOAP 1.2. The newest Recommendations published today work with SOAP 1.2 to address the specific issue of improving Web services performance by providing standard methods and mechanisms for transmitting large binary data.
"By enabling a more efficient way of serialize and transmit a SOAP message (XOP and MTOM), and by sending all the data needed to process the message, even when the data would not be readily available (RRSHB), Web Services have just become faster and more usable, " explained Yves Lafon, W3C Team Contact for the XMLP Working Group. XOP Allows Efficient Encoding of Binary Data in XML XML-binary Optimized Packaging (XOP) provides a standard method for applications to include binary data, as is, along with an XML document in a package. As a result, applications need less space to store the data and less bandwidth to transmit it. XOP works at the XML Information Set (Infoset) level, allowing the same abstract representation of a XML document to be serialized in different ways.
MTOM implements XOP, makes SOAP 1.2 faster
The Message Transmission Optimization Mechanism (MTOM) uses the features provided by XOP to address SOAP messages. MTOM defines a "Transmission Optimization" feature that enables SOAP bindings to optimize the transmission and/or the wire format used to transfer a SOAP message. It also defines a concrete implementation of this feature, using HTTP and XOP to send the various binary parts as well as the SOAP message in a MIME envelope, reducing the bandwidth and the time used to encode/decode such data.
RRSHB Gives Applications a Local Short Cut to Resources
The third piece, the Resource Representation SOAP Header Block (RRSHB) functionality allows SOAP message recipients to access cached representations of external resources. This is important, as there may be times when there are either limits to bandwidth or access of files. It gives the recipient the option of using either the original file that may be identified by a URI, or to use a cached copy that accompanies the actual SOAP message. Used with MTOM, it enhance greatly the speed and of processing as the external data is already present when the recipient is starting processing the message.