2015-03-11 7 views
9

В чем разница между Джерси и Джерси (Stand alone) против Джерси с Grizzly против Джерси с Tomcat - для сервисов REST?Джерси против Джерси (Автономный) против Джерси с Гризли против Джерси с Томкатом - для служб REST?

Могу ли я запустить Джерси без дополнительной необходимости в сервере?

+0

Пожалуйста, найдите веб-службы REST и архитектуры RESTful. – cjcroix

ответ

18

Джерси сам по себе является основой для создания веб-сервисов RESTful. Хотя он служит эталонной реализацией API JAX-RS, его можно также использовать в других режимах.

Автономный - простой API Джерси поверх Java (JDK 1.6 или выше). Джерси предоставляет API для этого

Джерси с Grizzly - хорошо Grizzly - еще одна структура, которая может использоваться как HTTP/веб-сервер с использованием модели Java NIO. Чтобы использовать Джерси с Grizzly, вам необходимо настроить его соответствующим образом. Поэтому подумайте о Grizzly как о контейнере ваших ресурсов JAX-RS (RESTful) и о том, который заботится обо всех HTTP-сантехниках для вас, когда вы работаете с абстракциями высокого уровня API JAX-RS

Джерси на Tomcat - теперь Tomcat является контейнером Servlet. JAX-RS можно легко настроить для работы с обычным контейнером Servlet, просто настроив web.xml вашего приложения Tomcat.

Джерси на контейнере Java EE - возьмите пример Glassfish, который является RI (Reference Implementation) для платформы Java EE. Джерси поставляется из коробки в Glassfish. Таким образом, для создания приложения RESTful на сервере Java EE вам просто нужно написать свою бизнес-логику (службы REST) ​​и развернуть свой проект (EAR/WAR) на сервере - не требуется дополнительная сантехника/конфигурация (кроме особых сценариев)

Надеюсь, что это имело какой-то смысл? :-)

+0

Мне было бы интересно узнать, существуют ли важные отличия в отношении характеристик производительности, обслуживания, эксплуатации, конфигурации и т. Д. – crowder

+1

Хорошо объяснено. Пожалуйста, см. Https://github.com/jersey/jersey/tree/master/containers список контейнеров, поддерживаемых Джерси. Как объяснялось выше, он варьируется от очень низкого уровня (чистые контейнеры HTTP без необходимости в среде сервлета) с помощью интеграции сервлетов 2.5 и 3.x (которые можно использовать практически в любом месте - пристани, tomcat, полнофункциональные серверы приложений) до конкретных поддержка сред EE (поддержка CDI/Weld). Документация показывает это довольно хорошо, но в настоящее время java.net не работает, поэтому я не могу предоставить точную ссылку - начните с http://jersey.java.net -> документации. – AdamL

Смежные вопросы