Легкая библиотека REST для Java - PullRequest
16 голосов
/ 15 сентября 2008

Я ищу облегченную версию REST для разрабатываемого веб-приложения на Java.

Я посмотрел на RESTlet (www.restlet.org) и плагин REST для Struts 2, но я не решил. Я склоняюсь к RESTlet, так как он кажется легче.

Кто-нибудь реализовал слой RESTful без каких-либо фреймворков или с фреймворками?

Какие-либо проблемы с производительностью, которые вы видели из-за нового веб-слоя?

Добавило ли введение REST неуправляемую или необоснованную сложность вашему проекту? (Некоторая сложность понятна, но то, что я имею в виду, просто излишне убивает ваш дизайн, просто чтобы добавить REST)

Ответы [ 6 ]

20 голосов
/ 17 сентября 2008

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

JAX-RS позволяет создавать ресурсы REST с помощью POJO с простыми аннотациями, связанными с отображениями URI, методами HTTP и согласованием контента, которые прекрасно интегрированы с внедрением зависимостей. Нет сложных API для изучения; требуются только основные концепции REST (URI, заголовки / коды ответов и согласование содержимого). FWIW JAX-RS вполне Rails-ish с точки зрения контроллера

Существует несколько реализаций JAX-RS - см. эту тему для обсуждения .

Моя личная рекомендация - использовать Джерси , поскольку за ним стоит самое большое, самое активное сообщество, оно обладает лучшими функциями на момент написания (поддержка WADL, неявные представления, весенняя интеграция, хороший клиент REST API); хотя, если вы используете JBoss / SEAM, вы можете обнаружить, что RESTeasy интегрируется немного лучше.

8 голосов
/ 19 сентября 2008

Я большой поклонник Restlet, но обычно я использую его для реализации приложений, основная роль которых заключается в быть веб-сервисе RESTful. Похоже, вы хотите добавить RESTful API в существующее приложение. Если это так, подход JAX-RS (или Enunciate), основанный на аннотациях, может лучше подходить для вашего проекта.

Что касается Restlet, я могу сказать вам, что я был очень впечатлен разработчиками и сообществом; они очень активны, вовлечены, отзывчивы и привержены стабильной, эффективной, надежной и действенной структуре. Мой единственный любимый аспект фреймворка заключается в том, что он представляет собой основную реализацию парадигмы REST; поэтому между внешним API-интерфейсом приложения Restlet и его внутренней реализацией нет несоответствия импеданса. Мне также очень нравится, насколько он гибок - он может работать внутри контейнера / сервера приложений Java, таких как JBoss, Tomcat, Jetty и т. Д., Или автономно со встроенной библиотекой HTTP-сервера.

3 голосов
/ 16 сентября 2008

Вы знаете, что есть новый JCP API для доступа к службам RESTful, также:

JAX-RS JCP311 https://jsr311.dev.java.net/

Версия с открытым исходным кодом называется Project Jersey

3 голосов
/ 15 сентября 2008

Ну, я использовал Enunciate совсем немного. Он использует простые аннотации для предоставления конечных точек REST и / или SOAP.

http://enunciate.codehaus.org

Кроме того, Райан Хитон всегда оказывал первоклассную поддержку и для вещей.

1 голос
/ 16 сентября 2008

Я нашел рестлет действительно элегантной архитектурой. Я работаю в мире .net, так что это было не вариант для меня, но я смог построить свою собственную структуру, следуя тем же базовым принципам рестлета. Я обнаружил, что преобразование нашего приложения SOA на основе контракта WCF в приложение на основе REST значительно упростило приложение

1 голос
/ 16 сентября 2008

Я работаю над REST API для gliffy.com , и мы закончили работу над своим собственным. Мы не хотели вводить Struts 2, Spring или другие фреймворки. Я посмотрел на RESTLet и нашел его невероятно запутанным и слишком сложным.

В Apache есть реализация спецификации JAX-RS, но она не завершена и имеет некоторые странности. Мы предварительно планируем открыть наше решение с открытым исходным кодом, но это не на несколько месяцев.

Но кататься по-своему легко. Спецификация сервлета дает вам все, что вам нужно, и вы можете легко подключиться к базе данных через Hibernate (см. http://www.naildrivin5.com/daveblog5000/?p=39, как настроить JPA без использования EJB3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...