Java API для обмена сообщениями XML - Java API for XML Messaging
В Java API для обмена сообщениями XML (JAXM) позволяет распределенное программное обеспечение приложения для общения с помощью XML (и МЫЛО ). JAXM поддерживает как асинхронный, так и синхронный обмен сообщениями.
JAXM - один из Java XML программирование API
Обзор
В Java API для обмена сообщениями XML (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