в чем преимущество отправки xml с помощью jms

В текущем проекте мы отправляем xml в виде текстового сообщения с использованием jms. Я не понимаю, почему они не просто отправляют Objectmessage, почему накладные расходы на обработку xml?

так что вопрос в основном сводится к тому, зачем использовать xml в jms?


person user1363516    schedule 28.04.2012    source источник


Ответы (2)


Все сводится к дизайнерскому решению о формате сериализации сообщений.

На первый взгляд Objectmessage может показаться наиболее эффективным механизмом. Однако это не сработает в следующих случаях:

  1. Проверка сообщения (XML-схемы действуют как форма контракта сообщения)
  2. Различия в версиях программного обеспечения отправителя и получателя (версия сообщения)
  3. Связь с системами, отличными от Java

Сериализация сообщения в формате XML не решает этих проблем полностью, но некоторая форма удобочитаемого формата сообщения позволяет проводить отладку.

Наконец, XML — не единственная игра в городе. JSON становится популярным как альтернатива XML. Protocol Buffers – это протокол обмена сообщениями Google, в котором содержится хороший обзор некоторых проблем и решений Google.

person Mark O'Connor    schedule 29.04.2012
comment
Спасибо за ответ, я очень ценю это. - person user1363516; 30.04.2012

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

Однажды я столкнулся с клиентом, который обменивался данными с поставщиком ключей, создавая ежедневный образ своей базы данных SQL-сервера на одном конце и восстанавливая его на другом. Следствие: ни одна из сторон не может выполнить обновление до новой версии SQL-сервера, если другая сторона также не обновится в тот же день.

Кроме того, как упомянул О'Коннор, XML позволяет относительно безболезненно расширять содержимое сообщения по мере изменения требований, при этом всем не нужно одновременно вносить изменения.

person Michael Kay    schedule 29.04.2012
comment
Спасибо за ответы. Я очень ценю это. - person user1363516; 30.04.2012