Estoy comenzando un nuevo proyecto Java que requerirá una API RESTful. Será una aplicación empresarial SaaS que servirá a clientes móviles.
He desarrollado un proyecto con Java EE 6, pero no estoy muy familiarizado con el ecosistema, ya que la mayor parte de mi experiencia está en la plataforma de Microsoft.
¿Cuál sería una opción sensata para una implementación JAX-RS para un nuevo proyecto como el descrito?
A juzgar por la lista de Wikipedia , los principales contendientes parecen ser Jersey, Apache CXF, RESTeasy y Restlet. Pero la comparación de las implementaciones JAX-RS citadas en Wikipedia es de 2008.
Mi primera impresión de sus respectivas páginas de inicio es que:
- CXF pretende ser una solución muy completa (me recuerda a WCF en el espacio de Microsoft), lo que me hace pensar que puede ser más complejo de entender, configurar y depurar que lo que necesito;
- Jersey es la implementación de referencia y podría ser una buena opción, pero es un legado de Sun y no estoy seguro de cómo Oracle la está tratando (la página de anuncios no funciona y el último aviso de confirmación es de hace 4 meses);
- RESTeasy es de JBoss y probablemente sea una opción sólida, aunque no estoy seguro acerca de la curva de aprendizaje;
- Restlet parece ser popular pero tiene mucha historia, no estoy seguro de cuán actualizado está en el mundo Java EE 6 o si tiene una mentalidad J2EE pesada (como mucha configuración XML).
¿Cuáles serían los méritos de cada una de estas alternativas? ¿Qué pasa con la curva de aprendizaje? ¿Soporte de funciones? ¿Herramientas (por ejemplo, NetBeans o asistentes de Eclipse)? ¿Qué pasa con la facilidad de depuración y también la implementación? ¿Alguno de estos proyectos está más actualizado que los otros? ¿Qué tan estables son?