В чем разница между JAX-RS и JAX-WS?

после прочтения нескольких статей о JAX-RS и JAX-WS у меня было несколько вопросов, которые я хочу подтвердить?

  1. может ли JAX-RS выполнять асинхронный запрос, такой как JAX-WS?
  2. может ли JAX-RS получить доступ к веб-службе, которая не работает на платформе Java, и наоборот?
  3. что означает "отдых особенно полезен для устройств с ограниченным профилем, таких как КПК и мобильные телефоны"?
  4. что значит " JAX-RS не требует XML-сообщений или WSDL-сервисов–API для определения?

5 ответов


может ли JAX-RS выполнять асинхронный запрос, такой как JAX-WS?

1) я не знаю, включает ли API JAX-RS определенный механизм для асинхронных запросов, но этот ответ все равно может измениться на основе используемой вами реализации клиента.

может ли JAX-RS получить доступ к веб-службе, которая не работает на платформе Java, и наоборот?

2) я не могу придумать ни одной причины, по которой он не смог бы.

что означает ли это, что "REST особенно полезен для устройств с ограниченным профилем, таких как КПК и мобильные телефоны"?

3) архитектуры на основе REST обычно используют легкий формат данных, например JSON, для отправки данных туда и обратно. Это в отличие от JAX-WS, который использует XML. Я не вижу XML сам по себе настолько значительно тяжелее, чем JSON (что некоторые люди могут спорить), но с JAX-WS это то, сколько XML используется, что в конечном итоге делает отдых с JSON легче выбор.

что означает "JAX-RS не требуют XML-сообщений или определений WSDL service–API?

4) как указано в 3, архитектуры REST часто используют JSON для отправки и получения данных. JAX-WS использует XML. Дело не в том, что JSON настолько значительно меньше, чем XML сам по себе. В основном спецификация JAX-WS включает в себя много накладных расходов в том, как она взаимодействует.

что касается определений WSDL и API, REST будет чаще использовать Структура URI и команды HTTP для определения API, а не типов сообщений, как это делается в JAX-WS. Это означает, что вам не нужно публиковать документ WSDL, чтобы другие пользователи вашей службы могли знать, как разговаривать с вашей службой. С REST вам все равно нужно будет предоставить некоторую документацию другим пользователям о том, как организована служба REST и какие данные и команды HTTP необходимо отправить.


еще один важный момент

JAX-WS представляет SOAP

JAX-RS представляет REST

Как выбрать между реализацией веб-служб JAX-RS и JAX-WS?


В JAX-WS В - это Java API для веб-сервисов на основе XML-стандартный способ разработки веб-сервисов в мыло нотация (простой протокол доступа к объектам).

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

клиенты веб-сервиса JAX-WS нуждаются в WSDL файл для создания исполняемого кода, который клиенты могут использовать для вызова веб-службы.

JAX-RS - Java API для веб-служб RESTful. Веб-службы RESTful представлены как ресурсы и могут быть идентифицированы по единым идентификаторам ресурсов (URI). Удаленный вызов процедуры в этом случае представляется как адресу http- запрос и необходимые данные передаются как параметры запроса. Веб-сервисы RESTful - более гибкие, могут использовать несколько разных МИМ- типов. Обычно используется для обмена данными XML или JSON (JavaScript Object Notation) обмен данными...


Я работаю на Апачи Ось1.1 и в axis2.0 и JAX-WS а я бы предложил необходимо в JAX-WS, потому что это позволит вам сделать WSDL в любом формате , я делала операцию GetInquiry() в Apache axis2, которые он не разрешил мне начать работу имя в верхнем регистре , так что я считаю, это не хорошо , поэтому я хотел бы предложить, вы должны использовать в JAX-WS можно


может ли JAX-RS выполнять асинхронный запрос, такой как JAX-WS?

Да, он, безусловно, может использовать @Async

может ли JAX-RS получить доступ к веб-службе, которая не работает на платформе Java, и наоборот?

Да, это может сделать

что означает "отдых особенно полезен для устройств с ограниченным профилем, таких как КПК и мобильные телефоны"?

в основном используется для общедоступных API, это зависит какой подход вы хотите использовать.

что означает "JAX-RS не требуют XML-сообщений или определений WSDL service–API?

Он имеет свои собственные стандарты WADL (язык разработки веб-приложений) у него есть http-запрос,с помощью которого вы можете получить доступ к ресурсам, они полностью созданы другим мышлением, в случае, если в Jax-Rs вам нужно подумать о предоставлении ресурсов