Оптимизированная упаковка для двоичного XML

редактировать

Упаковка, оптимизированная для двоичного XML (XOP) - это механизм, определенный для сериализации из информационных наборов XML (информационных наборов), содержащих двоичные данные, а также десериализации обратно в набор информации XML.

Содержание
  • 1 Преимущества
  • 2 Затраты
  • 3 Операция
  • 4 Пакеты XOP
  • 5 Использование в веб-службах SOAP
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние links
Преимущества

XOP позволяет сериализовать часть двоичных данных информационного набора XML без прохождения через сериализатор XML. XML-сериализация информационного набора XML основана на тексте, поэтому любые двоичные данные необходимо будет кодировать с помощью base64. Использование XOP позволяет избежать этого за счет извлечения двоичных данных из информационного набора XML, так что информационный набор XML не содержит двоичных данных, а двоичные данные можно сериализовать по-разному.

Таким образом, XOP может уменьшить размер сериализации (поскольку кодирование base64 имеет накладные расходы примерно 33%) и (в зависимости от того, как оно реализовано) может повысить эффективность обработки. Это увеличение размера приводит к дополнительным ресурсам, необходимым для передачи или хранения данных.

Затраты

XOP вводит другой уровень обработки. Следовательно, это вносит дополнительную сложность и накладные расходы на обработку.

Представление пакетов XOP вводит некоторые накладные расходы. Они незначительны, когда двоичные данные большие, но могут быть значительными, если двоичные данные маленькие.

Операция

XOP работает с одним информационным набором XML.

Двоичные части исходного информационного набора XML извлекаются, оставляя «информационный набор XOP» (который по сути является исходным информационным набором XML с двоичными частями, замененными внешними ссылками). Ссылки в информационном наборе XOP представлены с помощью элемента «xop: Include». Информационный набор XOP плюс извлеченный контент можно сериализовать в представление, называемое «пакетом XOP». Пакет XOP можно отправить или сохранить.

Для воссоздания информационного набора XML пакет XOP десериализуется в информационный набор XOP плюс извлеченный контент, а затем извлеченный контент помещается обратно в информационный набор XML.

Пакеты XOP

XOP можно использовать с множеством различных механизмов упаковки. Механизм упаковки определяет способ представления информационного набора XOP и двоичных фрагментов.

Спецификация XOP определяет, как MIME может использоваться в качестве механизма упаковки. При использовании с MIME информационный набор XOP представляется как XML в корневой части MIME, а двоичные фрагменты представлены в других частях MIME. Эти другие части MIME могут быть сериализованы как двоичные данные, что избавляет от необходимости кодировать их в base64, если они остались внутри XML Infoset.

XOP не требует использования механизма упаковки MIME, поэтому можно использовать другие механизмы упаковки.

Использование в веб-службах SOAP

Механизм упаковки MIME является наиболее широко используемым, поскольку XOP обычно используется для представления сообщений SOAP с MTOM.

Например:

MIME-Version: 1.0 Content-Type: Multipart / Related; Border = MIME_boundary;... --MIME_boundary Content-Type: application / xop + xml;
...
... ... 
...
--MIME_boundary Content-Type: image / png Content-Transfer-Encoding: двоичный Content-ID: 
// двоичные октеты для png
См. Также
  • MTOM (механизм оптимизации передачи сообщений)
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-22 06:40:16
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте