Java API для XML Messaging (JAXM) позволяет распределенный программные приложения для взаимодействия с использованием XML (и SOAP ). JAXM поддерживает как асинхронный, так и синхронный обмен сообщениями.
JAXM - один из API-интерфейсов программирования Java XML.
Обзор
Java API для XML Messaging (JAXM) позволяет разработчикам использовать XML - сообщениями с использованием платформы Java. Разработчики могут создавать и отправлять XML-сообщения через Интернет с помощью JAXM API. [1]
Кроме того, Java API для обмена сообщениями XML имеет несколько преимуществ перед удаленным вызовом процедур, например:
- Односторонний (асинхронный) обмен сообщениями
- Маршрутизация сообщения более чем одной стороне
- Надежный обмен сообщениями с такими функциями, как гарантированная доставка
Полный JAXM API поставляется с двумя пакетами: [2]
- javax.xml.soap: этот пакет содержит API для создания и заполнения сообщения SOAP.
- javax.xml.messaging: этот пакет позволяет отправлять односторонние сообщения через поставщика сообщений.
Сообщения
Сообщения в JAXM - это сообщения XML, соответствующие предписанному формату и стандартам SOAP. Существует два основных типа сообщений SOAP: сообщения с вложениями и без них. Например, если вы хотите, чтобы ваше сообщение содержало изображение, вы должны отправить вложение с сообщением. API SAAJ предоставляет класс AttachmentPart для вложений в сообщениях SOAP. [3]
Подключения
Для отправки и получения всех сообщений SOAP требуется соединение. Соединение может идти к провайдеру обмена сообщениями или определенному месту назначения. [4] JAXM API предоставляет класс и интерфейс для представления двух типов соединений:
- javax.xml.soap.SOAPConnection - соединение от отправителя напрямую к получателю (соединение точка-точка)
- javax.xml.messaging.ProviderConnection - подключение к провайдеру обмена сообщениями.
SOAP-соединение
SOAPConnection - это двухточечное соединение для отправки сообщений напрямую удаленной стороне. [5] Объект SOAPConnection, представляющий двухточечное соединение, прост в создании и использовании. Для использования объекта SOAPConnection не нужно выполнять какую-либо конфигурацию, поскольку его не нужно запускать в контейнере сервлетов (например, Tomcat) или на сервере J2EE. Это единственный способ для клиента установить соединение без поставщика услуг. [6]
Подключение к провайдеру
Объект ProviderConnection представляет соединение с поставщиком сообщений. (В следующем разделе подробно рассказывается о поставщиках сообщений.) Когда вы отправляете сообщение через объект ProviderConnection, сообщение отправляется поставщику сообщений. Провайдер обмена сообщениями пересылает сообщение, следуя инструкциям по маршрутизации сообщения, до тех пор, пока сообщение не попадет к провайдеру обмена сообщениями конечного получателя, который, в свою очередь, пересылает сообщение конечному получателю. [7]
Поставщики сообщений
Провайдер обмена сообщениями отслеживает сообщения и направляет их в нужное место назначения. Это служба, которая обрабатывает передачу и маршрутизацию сообщений. [8]
Когда использовать поставщика сообщений
Клиент JAXM может использовать или не использовать поставщика сообщений. Как правило, вам не нужен поставщик сообщений, если вы просто хотите быть потребителем веб-служб. Некоторые ограничения отказа от использования провайдера обмена сообщениями следующие:
Клиент может отправлять только сообщения типа запрос-ответ. Клиент может действовать только в роли клиента.
Некоторые преимущества отказа от использования поставщика сообщений:
- Приложение может быть написано на платформе J2SE.
- Приложение не требуется развертывать в контейнере сервлетов или J2EE-контейнере.
- Конфигурация не требуется [9]
Рекомендации
- ^ http://www.inf.fu-berlin.de/lehre/SS03/19560-P/Docs/JWSDP/tutorial/doc/JAXM.html
- ^ http://www.inf.fu-berlin.de/lehre/SS03/19560-P/Docs/JWSDP/tutorial/doc/JAXM.html
- ^ http://www.tecnun.es/asignaturas/InteInfo/Recursos/Xml/docs/tutorial/doc/JAXM3.html#63936
- ^ http://www.tecnun.es/asignaturas/InteInfo/Recursos/Xml/docs/tutorial/doc/JAXM3.html#63936
- ^ http://docs.oracle.com/javaee/5/api/javax/xml/soap/SOAPConnection.html
- ^ http://docs.oracle.com/javaee/1.3/tutorial/doc/JAXM3.html
- ^ http://docs.oracle.com/javaee/1.3/tutorial/doc/JAXM3.html
- ^ http://www.tecnun.es/asignaturas/InteInfo/Recursos/Xml/docs/tutorial/doc/JAXM3.html#63936
- ^ http://www.inf.fu-berlin.de/lehre/SS03/19560-P/Docs/JWSDP/tutorial/doc/JAXM2.html#63942
Смотрите также
- JSR 67: API Java (TM) для обмена сообщениями XML
- Спецификация Java API для обмена сообщениями XML (JAXM) 1.1
- SOAP с вложениями API для Java (SAAJ) Спецификация 1.3
- javax.xml.messaging - этот пакет указан в спецификации JAXM 1.1
- javax.xml.soap - этот пакет указан в спецификации SAAJ 1.3
- Обзор JAXM
- Пример Hello World для JAXM