Может ли JAX-RS выполнять асинхронный запрос, как JAX-WS?
1) Я не знаю, включает ли JAX-RS API определенный механизм для асинхронных запросов, но этот ответ все равно может измениться в зависимости от используемой вами клиентской реализации.
Может ли JAX-RS получить доступ к веб-службе, которая не запущена на платформе Java, и наоборот?
2) Я не могу придумать ни одной причины, по которой это было бы невозможно.
Что означает «REST особенно полезен для устройств с ограниченным профилем, таких как КПК и мобильные телефоны»?
3) Архитектуры на основе REST обычно используют облегченный формат данных, например JSON, для отправки данных туда и обратно. Это отличается от JAX-WS, который использует XML. Я не вижу, чтобы XML сам по себе был настолько тяжелее, чем JSON (что некоторые могут возразить), но с JAX-WS именно то, сколько XML используется, в конечном итоге делает REST с JSON более легким вариантом.
Что означает выражение «JAX-RS не требует сообщений XML или определений API служб WSDL?»
4) Как указано в 3, архитектуры REST часто используют JSON для отправки и получения данных. JAX-WS использует XML. Дело не в том, что JSON сам по себе значительно меньше XML. В основном спецификация JAX-WS включает много накладных расходов на то, как он взаимодействует.
Что касается определений WSDL и API, REST будет чаще использовать структуру URI и команды HTTP для определения API, а не типы сообщений, как это сделано в JAX-WS. Это означает, что вам не нужно публиковать документ WSDL, чтобы другие пользователи вашего сервиса знали, как общаться с вашим сервисом. При использовании REST вам все равно потребуется предоставить некоторую документацию другим пользователям о том, как организована служба REST и какие данные и HTTP-команды необходимо отправить.