Вопрос

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

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

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

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

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

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

Решение

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

http://enunciate.codehaus.org

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

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

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

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

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

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

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

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

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

JAX-RS JCP311https://jsr311.dev.java.net/

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

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

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

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

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

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