Mecanismo de Optimización de Transmisión de Mensaje SOAP
# Mecanismo de Optimización de Transmisión de Mensaje SOAP

MTOM (Message Transmission Optimization Mechanism) es un método definido en el W3C para el envío eficiente de datos binarios entre servicios web.

MTOM se utiliza generalmente con XOP (XML-binary Optimized Packaging).

## Uso

MTOM solo optimiza el contenido del elemento que está en la representación léxica canónica del tipo de datos xs:base64Binary. Como no existe una forma estándar de indicar si los datos están en la representación léxica canónica, el mecanismo para aplicar MTOM depende de la implementación.

El uso de MTOM es un contrato salto por salto entre un nodo SOAP y el siguiente. No hay garantía de que la optimización se preserve si hay múltiples nodos SOAP involucrados.

## Detalles

Aunque la mayoría de los usuarios tratan MTOM como un mecanismo único, la especificación MTOM lo define como tres características relacionadas:

* En primer lugar, una "Abstract SOAP Transmission Optimization Feature" para enviar y recibir mensajes SOAP que contienen datos binarios. Los datos binarios forman parte del modelo único XML Infoset, pero esta característica introduce el concepto de enviar los datos binarios por separado (es decir, no en el infoset XML serializado). Esta característica abstracta no define cómo se ve el infoset XML serializado sin los datos binarios, ni cómo se representan realmente los datos binarios.
* En segundo lugar, se define una "Optimized MIME Multipart/Related Serialization of SOAP Messages". Esto define que el infoset XML serializado incluirá XML-binary Optimized Packaging (XOP) en lugar de los datos binarios, y los datos binarios (junto con el infoset XML serializado con marcadores de posición XOP) se representarán juntos en un MIME contenedor. Aunque esto define un mensaje SOAP, no define el protocolo de transporte sobre el que se envía ese mensaje MIME y XOP SOAP.
* En tercer lugar, una "HTTP SOAP Transmission Optimization Feature" define cómo se envía el mensaje MIME y XOP SOAP anterior a través de HTTP.

A veces, el término "MTOM" se utiliza como una abreviatura para indicar "MTOM con XOP". XOP se utiliza como el mecanismo de referencia en el infoset XML serializado. En teoría, el modelo MTOM abstracto podría usarse con un mecanismo de referencia diferente o un formato de contenedor diferente; Además, MTOM podría usarse sobre un protocolo de transporte diferente en lugar de HTTP. En la práctica, MTOM se usa generalmente con XOP, MIME y HTTP.

