MTOM - это механизм оптимизации передачи сообщений W3C , метод эффективной отправки двоичных данных в и из веб-служб .
MTOM обычно используется с XOP (XML-binary Optimized Packaging).
Заявление
MTOM оптимизирует только содержимое элемента, которое находится в каноническом лексическом представлении типа данных xs: base64Binary. Поскольку не существует стандартного способа указать, находятся ли данные в каноническом лексическом представлении, механизм применения MTOM зависит от реализации.
Использование MTOM - это пошаговый контракт между одним узлом SOAP и другим. Нет гарантии, что оптимизация будет сохранена, если задействовано несколько узлов SOAP.
Подробности
Хотя большинство пользователей рассматривают MTOM как единый механизм, спецификация MTOM определяет его как три взаимосвязанные функции:
- Во-первых, «Абстрактная функция оптимизации передачи SOAP» для отправки и получения сообщений SOAP, содержащих двоичные данные. Двоичные данные являются частью единой модели информационного набора XML, но эта функция вводит концепцию отдельной отправки двоичных данных (т. Е. Не в сериализованном информационном наборе XML). Эта абстрактная функция не определяет, как выглядит сериализованный информационный набор XML без двоичных данных, или как двоичные данные фактически представлены.
- Во-вторых, определяется «Оптимизированная многочастная / связанная сериализация MIME сообщений SOAP». Это определяет, что сериализованный информационный набор XML будет включать XML-двоичную оптимизированную упаковку (XOP) вместо двоичных данных, а двоичные данные (вместе с сериализованным информационным набором XML с заполнителями XOP) будут представлены вместе в контейнере MIME . Хотя это определяет сообщение SOAP, он не определяет транспортный протокол, по которому отправляется это сообщение MIME и XOP SOAP.
- В-третьих, «Функция оптимизации передачи HTTP SOAP» определяет, как указанное выше сообщение MIME и XOP SOAP отправляется через HTTP .
Иногда термин «MTOM» используется как сокращение для обозначения «MTOM с XOP». XOP используется в качестве механизма ссылок в сериализованном информационном наборе XML. Теоретически абстрактная модель MTOM может использоваться с другим механизмом ссылок или с другим форматом контейнера; кроме того, MTOM можно использовать вместо HTTP по другому транспортному протоколу. На практике MTOM обычно используется с XOP, MIME и HTTP.