One of the major issues we've been exploring since the inception of this blog has been the growing threat to system performance resulting from the processing of bloated XML files. The bottlenecks occur occurs when a user or application is handling large binary files.Encoding binary data as XML produces huge files, which absorbsbandwidth and measurably slows down applications.
The XML Protocol Working Group of the World Wide Web Consortium (W3C) has just announced three new recommendations intended to better address the transmission of binary included in SOAP messages.
The new recommendations include:
- XML-binary Optimized Packaging (XOP) allows allows efficient encoding of binary data in XML. The specification provides a standard method forapplications to include binary data, as is, along with an XML documentin a package. As a result, applications need less space to store thedata and less bandwidth to transmit it. XOP works at the XMLInformation Set (Infoset) level, allowing the same abstractrepresentation of a XML document to be serialized in different ways.
- SOAP Message Transmission Optimization Mechanism (MTOM) implements XOP and makes SOAP 1.2 faster. MTOM uses thefeatures provided by XOP to address SOAP messages. MTOM defines a"Transmission Optimization" feature that enables SOAP bindings tooptimize the transmission and/or the wire format used to transfer aSOAP message. It also defines a concrete implementation of thisfeature, using HTTP and XOP to send the various binary parts as well asthe SOAP message in a MIME envelope, reducing the bandwidth and thetime used to encode/decode such data.
- Resource Representation SOAP Header Block (RRSHB) gives applications a local short cut to resources. The specification allows SOAP message recipients to access cachedrepresentations of external resources. This is important, as there maybe times when there are either limits to bandwidth or access of files.It gives the recipient the option of using either the original filethat may be identified by a URI, or to use a cached copy thataccompanies the actual SOAP message. Used with MTOM, it enhance greatlythe speed and of processing as the external data is already presentwhen the recipient is starting processing the message.