XML - статьи

Включения, SwA и совместимость


По мере того, как Web-сервисы получает все большие применение в "серьезных" приложениях, важным становится наличие стандарта, который описывал бы совместимые вложения и согласовывался бы с спецификациями SOAP 1.1 и WSDL 1.1. Существует несколько причин, по которым требуется применять вложения при передаче больших объемов данных: как бинарных, так и других документов XML. К достоинствам использования вложений можно отнести небольшой размер сообщений, менее строгие требования к памяти, уменьшение времени обработки (отсутствует необходимость преобразовывать бинарные данные в base-64) и, самое главное, перемещение данных потоком (streaming). Вложения позволяют приложениям использовать соответствующие API (интерфейсы прикладного программирования) для обработки данных в потоковом режиме. Это существенно повышает производительность при пересылке в SOAP-конверте объектов BLOB и CLOB из базы данных приложения. Преимущества вложений подробно описаны в следующих документах: SwA, "SOAP 1.2 Возможность вложений" (SOAP 1.2 Attachment Feature), "XML, SOAP и бинарные данные" (XML, SOAP and Binary Data), "Рекомендуемое приложение Infoset к SOAP-приложениям с вложениями" (Proposed Infoset Addendum to SOAP Messages with Attachments) и "Механизм оптимизации передачи SOAP-сообщений" (SOAP Message Transmission Optimization Mechanism). Рабочая группа XMLP (XML Protocol) также занимается разработкой технологии вложений для SOAP 1.2.

Basic Profile 1.0 способствует поддержанию принципа совместимости на базовом уровне - SOAP 1.1, WSDL 1.1, UDDIv2 (см. "Спецификация интерфейса прикладного программирования для UDDI, версия 2.04" (UDDI Version 2.04 API Specification) и "Справочник структуры данных для UDDI версия 2.03" (UDDI Version 2.03 Data Structure Reference)) и т.д. Однако, единственное, что не было учтено в Basic Profile 1.0, это поддержка вложений. А ведь использование вложений влияет на совместимость Web-сервисов с точки зрения пакетирования (packaging), форматирования (formatting) и сериализации (serialization).


Наиболее широко применяемая и признанная технология включений - это MIME ( Multipurpose Internet Mail Extensions, Многоцелевые расширения электронной почты в сети Internet). SwA

комбинирует MHTML и CID для указания частей MIME в SOAP. В Basic Profile 1.1 в качестве технологии вложений была выбрана SwA, а для описания SwA - Раздел 5 "MIME Binding" WSDL 1.1. В Basic Profile 1.1, как и в предыдущей версии этого стандарта, уточняется, корректируется и выделяется ряд соответствующих спецификаций с целью повышения совместимости и устранения двусмысленности. То есть рассматривается проблема, с которой сталкивались разработчики и пользователи Web-сервисов при манипулировании большими объемами бинарных данных и их передаче в конвертах SOAP 1.1.

Направленность Basic Profile 1.1 совпадает с позицией, избранной Рабочей группой XMLP в отношении вложений для SOAP 1.2, как записано в Рабочей версии спецификации "Механизм оптимизации передачи SOAP-сообщений" (). Оба документа используют MIME и опираются на SwA. MTOM даже "идет дальше": он включает вложения как часть Infoset (поскольку SOAP 1.2 строится на Infoset), то есть модель обработки SOAP 1.2 также становится применимой к вложениям. Передаваемые сообщения в обоих случаях будут очень похожи. MTOM - это эволюционный подход в технологии вложений, подобный переходу от SOAP 1.1 к SOAP 1.2.


Содержание раздела