Benefits
XOP allows the binary data part of an XML Infoset to be serialized without going through the XML serializer. The XML serialization of an XML Infoset is text based, so any binary data will need to be encoded using base64. Using XOP avoids this by extracting the binary data out of the XML Infoset so that the XML Infoset does not contain binary data and the binary data can be serialized differently. Therefore, XOP can reduce the size of the serialization (since base64 encoding has approximately a 33% size overhead) and (depending on how it is implemented) might allow processing efficiencies. This size increase results in extra resources needed to transmit or store the data.Costs
XOP introduces another level of processing. Therefore, it introduces extra complexity and processing overheads. The representation of the XOP packages introduces some overhead. These are negligible when the binary data is large, but could be significant if the binary data is small.Operation
XOP operates on a single XML Infoset. The binary parts of the original XML infoset are extracted out, leaving an "XOP Infoset" (which is essentially the original XML Infoset with the binary parts replaced by external references). The references in the XOP Infoset are represented using the "xop:Include" element. The XOP Infoset plus the extracted content can be serialized into a representation called the "XOP Package". The XOP Package can be sent or stored. To reconstitute the XML Infoset, the XOP Package is deserialized into the XOP Infoset plus the extracted content, and then the extracted content is put back into the XML Infoset.XOP Packages
XOP can be used with a number of different packaging mechanisms. A packaging mechanism defines how the XOP Infoset and the binary chunks are represented. The XOP specification defines howUsage in SOAP Web services
The MIME packaging mechanism is the most widely used, since XOP is usually used to representSee also
* MTOM (Message Transmission Optimization Mechanism)References
External links