Вопрос

Я работал над эталонной реализацией JAX-RS (Джерси).Я знаю как минимум две другие платформы (Restlet и Apache CXF).

Мой вопрос:Кто-нибудь проводил сравнение этих фреймворков, и если да, то какой фреймворк вы бы порекомендовали и почему?

Это было полезно?

Решение

Кстати, мы используем Джерси, поскольку он полон функций (например,WADL, неявные представления, поддержка XML/JSON/Atom) имеет большое и активное сообщество разработчиков и имеет отличные весенняя интеграция.

Если вы используете JBoss/SEAM, вы можете обнаружить, что RESTeasy интегрируется немного лучше, но если вы используете Spring для внедрения зависимостей, то Jersey кажется самой простой, самой популярной, активной и функциональной реализацией.

Другие советы

Рестлет имеет обширный список расширений для Spring, WADL, XML, JSON и многих других, включая расширение для API JAX-RS.

Это также единственная основа доступен в шести последовательных редакциях:

  • Ява SE
  • Java EE
  • Веб-инструментарий Google
  • Google AppEngine
  • Андроид
  • OSGi-среды

Его основные преимущества:

  • полностью симметричный клиентский и серверный API, когда JAX-RS был разработан для обработки на стороне сервера
  • соединители для других протоколов, кроме HTTP (сопоставление семантики HTTP), когда JAX-RS работает только с HTTP
  • гораздо более широкий набор функций, включая полный контроль маршрутизации URI через Restlet API (но при необходимости можно интегрировать с сервлетом)
  • полное обеспечение поддержки NIO

API JAX-RS может быть хорошим выбором, если вы ограничены API, одобренными JCP (тогда не используйте Spring или какие-либо расширения проектов JAX-RS, такие как Jersey и RESTeasy!), Но в остальном Restlet является наиболее зрелой платформой ( первоначально выпущенный в 2005 году) и в версии 2.0 предоставит вам все преимущества аннотаций в сочетании с мощной и расширяемой классово-ориентированной структурой.

На более длительный срок список функций, пожалуйста, проверьте эту страницу.

С уважением, Джером Лувел

Restlet ~ Основатель и ведущий разработчик ~ http://www.restlet.org

Моя команда и я широко используем Restlet, но не его функции JAX-RS.Могу сказать вам, что я был очень впечатлен разработчиками и сообществом Restlet;они очень активны, заинтересованы, отзывчивы и привержены стабильной, эффективной, надежной и действенной структуре.Мне жаль, что я не могу напрямую затронуть ваш основной интерес, но я подумал, что мой опыт работы с Restlet может оказаться для вас ценным.

Мой коллега упоминает, почему мы используем RESTeasy для нашего текущего проекта в Веб-сервисы RESTful в Java EE с RESTeasy (JAX-RS):

Его эталонная реализация Jersey не была выбрана, поскольку у нас были проблемы с ее хорошей интеграцией с EJB3 и Seam 2.0.

Мы используем реализацию JAX-RS RESTeasy, поскольку у нас не возникло проблем с ее интеграцией с нашими EJB и Seam.Он также имеет достаточную документацию.

Есть еще одна реализация от Apache, но я ее не пробовал, поскольку она использует более старую версию JAX-RS.

Наконец, есть еще одна платформа для веб-сервисов RESTful для Java, называемая Restlet, но мы не отдаем ей предпочтение, поскольку на момент написания этой статьи она использует специальную архитектуру, хотя надлежащая поддержка JAX-RS находится в разработке.

Кажется, существует четыре достойных реализации JAX-RS, так что вас, вероятно, устроит любая из них.Как бы то ни было, я пока считаю Джерси (1.0.2) действительно хорошим.Мои потребности довольно скромные, простое сервисное обслуживание, уход за сантехникой и так далее.И этот Джерси неплохо справляется.

Выяснилось, что с Apache Wink очень легко работать, он поддерживает JAX-RS и имеет множество функций, выходящих за рамки стандарта.

Я бы не использовал фреймворк.Только тот, который поставляется с вашим сервером приложений.Если вы используете особенности одной платформы, вы потеряете переносимость и попадете в ад, если поставщик сервера приложений включит другую версию вашей любимой платформы.Я буду придерживаться jax-ws.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top