Marcos JAX-RS [cerrado]


He estado trabajando con la implementación de referencia de JAX-RS (Jersey). Conozco al menos otros dos frameworks (Restlet y Apache CXF).

Mi pregunta es: ¿Alguien ha hecho alguna comparación entre esos marcos y, si es así, qué marco recomendaría y por qué?

Author: bluelurker, 2008-09-17

7 answers

FWIW estamos usando Jersey ya que está lleno de características (por ejemplo, WADL, vistas implícitas, soporte XML/JSON/Atom) tiene una gran y vibrante comunidad de desarrolladores detrás de él y tiene una gran integración spring.

Si utiliza JBoss/SEAM puede encontrar que RESTEasy se integra un poco mejor, pero si utiliza Spring para la Inyección de dependencias, Jersey parece la implementación más fácil, más popular, activa y funcional.

 30
Author: James Strachan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 10:46:15

Restlet tiene una extensa lista de extensiones para Spring, WADL, XML, JSON y muchas más, incluyendo una extensión para la API JAX-RS.

También es el único framework disponible en seis ediciones consistentes :

  • Java SE
  • Java EE
  • Google Web Toolkit
  • Google AppEngine
  • Android
  • Entornos OSGi

Sus principales beneficios son:

  • API de cliente y servidor completamente simétrica cuando JAX-RS fue diseñado para el procesamiento del lado del servidor
  • conectores para otros protocolos que no sean HTTP (mapeo a la semántica HTTP) cuando JAX-RS es solo HTTP
  • un alcance de características mucho más amplio que incluye el control completo de enrutamiento de URI a través de la API Restlet (pero puede integrarse con Servlet si es necesario)
  • provisión completa para el soporte de NIO

La API JAX-RS puede ser una buena opción si está restringido a las API aprobadas por JCP (entonces no use Spring o cualquier extensión de los proyectos JAX-RS como Jersey y ¡RESTEasy!), pero por lo demás Restlet es el framework más maduro (lanzado inicialmente en 2005) y le dará, en su versión 2.0, todos los beneficios de las anotaciones combinadas con un framework orientado a clases potente y extensible.

Para obtener una lista más larga de características , consulte esta página.

Saludos cordiales, Jerome Louvel

Restlet ~ Fundador y desarrollador principal ~ http://www.restlet.org

 26
Author: Jerome Louvel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-16 07:29:29

Mi equipo y yo usamos Restlet extensivamente, pero no sus características JAX-RS. Puedo decirles que he quedado muy impresionado con los desarrolladores y la comunidad de Restlet; son muy activos, comprometidos, receptivos y comprometidos con un marco estable, eficiente, confiable y efectivo. Siento no poder dirigirme directamente a su interés principal, pero pensé que podría encontrar valiosa mi experiencia con Restlet.

 7
Author: Avi Flax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 18:37:43

Mi colega menciona por qué estamos usando RESTEasy para nuestro proyecto actual en Servicios web RESTful en Java EE con RESTEasy (JAX-RS):

Su implementación de referencia, Jersey, no fue elegida porque tuvimos problemas para integrarla bien con EJB3 y Seam 2.0.

Estamos utilizando la implementación RESTEasy de JAX-RS, porque no tuvimos problemas para integrarla con nuestros EJBs y Seam. También tiene documentación suficiente.

Hay otro implementación de Apache, pero no lo he probado porque utiliza una versión anterior de JAX-RS.

Finalmente hay otro framework para servicios web RESTful para Java llamado Restlet, pero no lo favorecimos porque en el momento de escribir esto, está utilizando una arquitectura personalizada, a pesar de que se está trabajando en el soporte adecuado para JAX-RS.

 6
Author: Peter Hilton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 08:05:32

Parece que hay 4 implementaciones JAX-RS decentes, por lo que probablemente esté de acuerdo con cualquiera de ellas. Por si sirve de algo, he encontrado Jersey (1.0.2) muy agradable hasta ahora. Mis necesidades son bastante modestas, servicio de back-end simple, cuidar de la plomería y así sucesivamente. Y esa camiseta lo hace muy bien.

 6
Author: StaxMan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-28 00:50:40

Descubrió que Apache Wink es muy fácil de trabajar, soporta JAX-RS y tiene muchas características más allá del estándar.

 6
Author: Shimi Bandiel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-17 07:10:34

No usaría ningún framework. Solo el que viene con su servidor de aplicaciones. Si usas detalles de un marco, perderás la portabilidad y estarás en el infierno de lo que si el proveedor del servidor de aplicaciones incluye una versión diferente de tu marco favorito. Me quedo con jax-ws.

 0
Author: Fabián Escalante,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-06 07:47:05