jax - restful services java example
REST en Java (6)
Estoy buscando una versión ligera de REST para una aplicación web Java que estoy desarrollando.
He consultado RESTlet (www.restlet.org) y el complemento REST para Struts 2, pero aún no me he decidido. Me estoy inclinando hacia RESTlet, ya que parece ser más ligero.
¿Alguien ha implementado una capa RESTful sin ninguno de los frameworks o frameworks?
¿Algún problema de rendimiento que hayas visto debido a la nueva capa web?
¿La introducción de REST añadió complejidad inmanejable o irracional a su proyecto? (Alguna complejidad es comprensible, pero lo que quiero decir es simplemente exagerar su diseño solo para agregar REST)
Bueno, he usado Enunciate bastante. Utiliza anotaciones simples para proporcionar extremos REST y / o SOAP.
Además, Ryan Heaton siempre ha brindado un soporte de primer nivel para las cosas también.
Estoy trabajando en una API REST para gliffy.com y terminamos rodando la nuestra. No queríamos tener que incorporar Struts 2, Spring o cualquier otro framework. Miré RESTLet y me pareció increíblemente confuso y complicado.
Apache tiene una implementación de la especificación JAX-RS, pero no está finalizada y también tiene algunas rarezas. Estamos tentativamente planeando abrir nuestra solución de código fuente, pero eso no es por unos pocos meses.
Sin embargo, hacer los tuyos es fácil. La especificación del servlet le brinda todo lo que necesita y puede conectarse fácilmente a una base de datos a través de Hibernate (consulte http://www.naildrivin5.com/daveblog5000/?p=39 para conocer cómo configurar JPA sin utilizar EJB3).
Encontré que restlet es una arquitectura realmente elegante. Estoy trabajando en el mundo de .net, así que no era una opción para mí, pero pude construir mi propio marco siguiendo los mismos principios básicos de restlet. He encontrado la conversión de nuestra aplicación SOA basada en contratos WCF a REST, basada en una simplificación significativa de la aplicación,
Usted sabe que hay una nueva API de JCP para acceder a los servicios RESTful, también:
JAX-RS JCP311 https://jsr311.dev.java.net/
La versión de código abierto se llama Project Jersey
Soy un gran admirador de Restlet, pero generalmente lo uso para implementar aplicaciones cuya función principal es ser un servicio web RESTful. Parece que está buscando agregar una API RESTful a una aplicación existente. Si ese es el caso, el enfoque basado en anotaciones de JAX-RS (o Enunciate) podría ser una mejor opción para su proyecto.
En cuanto a Restlet, puedo decirles que he quedado muy impresionado con los desarrolladores y la comunidad; son muy activos, comprometidos, receptivos y comprometidos con un marco estable, eficiente, confiable y efectivo. Mi único aspecto favorito del marco es que es una implementación básica del paradigma REST; por lo tanto, no existe una falta de coincidencia de impedancia entre la API externa de una aplicación de Restlet y la implementación interna. También me gusta lo flexible que es: puede ejecutarse dentro de un contenedor / servidor de aplicaciones Java como JBoss, Tomcat, Jetty, etc., o de forma independiente, con una biblioteca de servidor HTTP incorporada.
Soy un gran admirador de JAX-RS. Creo que han hecho un gran trabajo con esa especificación. Lo uso en una serie de proyectos y ha sido un placer trabajar con él.
JAX-RS le permite crear recursos REST utilizando POJOs con anotaciones simples que se ocupan de las asignaciones de URI, métodos HTTP y negociación de contenido, todo integrado muy bien con la inyección de dependencia. No hay API complejas para aprender; solo se requieren los conceptos básicos de REST (URI, encabezados / códigos de respuesta y negociación de contenido). FWIW JAX-RS es bastante Rails-ish desde el punto de vista del controlador
Hay una serie de implementaciones de JAX-RS. Consulte este hilo para ver una discusión .
Mi recomendación personal es utilizar Jersey ya que tiene la comunidad más grande y más activa detrás de él, tiene las mejores características al momento de escribir (soporte WADL, vistas implícitas, integración de primavera, API de cliente REST agradable); aunque si está utilizando JBoss / SEAM, puede encontrar que RESTeasy se integra un poco mejor.