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


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

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

5 ответов:

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

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

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

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

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

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 файл для генерации исполняемого кода, который клиенты могут использовать для вызова Web-сервиса.

JAX-RS - Java API для веб-служб RESTful. Веб-службы RESTful представлены в виде ресурсов и могут быть идентифицированы с помощью унифицированных идентификаторов ресурсов ( URI). Удаленный вызов процедуры в этом случае представляется HTTP- запрос и необходимые данные передаются как параметры запроса. Веб-сервисы RESTful - более гибкие, могут использовать несколько различных MIME- типов. Обычно используется для обмена данными 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 вам нужно подумать о предоставлении ресурсов