2009-04-19 12 views
6

Estoy buscando la mejor manera que esté disponible para que los desarrolladores de Java implementen servicios REST que se comunicarán a través de JSON o XML. Estoy buscando productos listos para producción.¿Cuál es la mejor forma de Java para crear servicios web REST JSON/XML que es similar a WCF?

Sé que se acerca la primavera 3.0, pero aún no ha terminado, sin suerte.

¿Es el jersey?

Mi aplicación es alojada por Tomcat, utiliza Spring, Jettison y XStream.

Me gustaría utilizar un paquete de código abierto que me permita tener una experiencia de desarrollo similar a WCF.NET, donde puedo declarar las plantillas de URL, asignar GET/POST y obtener una salida en XML o JSON. La carga útil aceptada también debe ser XML o JSON.

¿Tienes alguna idea?

Respuesta

3

Jersey, RESTEasy y Restlet reclaman hacer lo que usted solicita. Solo he probado Restlet, y pensé que era bastante desagradable.

Spring 3 aún no ha llegado a su versión final, pero la versión M2 parece ser bastante sólida, y tiene el material REST allí. Si estuviera construyendo una nueva aplicación de REST, probablemente me arriesgaría con M2.

+0

¿Cuál crees que es el marco de tiempo para el lanzamiento de Spring 3.0? – IgorM

+0

M3 saldría el mes pasado, pero aún no ha aparecido. RC1 vence en junio, creo, así que con suerte el lanzamiento final de 3.0 será Q3 este año. – skaffman

0

Sí, Jersey es bastante bueno y de acuerdo con su descripción haría exactamente lo que desea.

No esperaba por Spring-WS-thing - Jersey es bueno, y no sé qué beneficios hay para Spring alternative, más allá de "Spring brand". Para mí JAX-RS (que implementa jersey) es un muy buen ejemplo de elegir y utilizar los mejores componentes que implementan API abiertas; Jersey se ejecuta (entre otras cosas) en cualquier contenedor de servlets, puede usar los mejores analizadores XML/JSON/etc, usa la validación enchufable (api de validación de bean) y demás. Lo mismo debería ser cierto para otras implementaciones de JAX-RS también (como Resteasy).

0

He usado y he enviado algunos parches a CXF. Es compatible con JAX-RS y es totalmente configurable con resorte. Hay un buen tutorial aquí:

http://cwiki.apache.org/CXF20DOC/jax-rs.html

CXF es un proyecto de Apache y como JAX-RS es un estándar que no debería tener problemas para mover lejos de él, si tiene alguna dificultad.

Espero que esto ayude.

2

He intentado con Restlet, RestEasy, Jersey, CXF, Spring. Aquí están mis comentarios:

  1. Restlet: Tipo de desagradable con su propio conjunto de anotaciones. Y poco confuso también. No puedo culpar mucho, ya que miraron la implementación de esto incluso antes de que JAX-RS estuviera allí.

  2. RestEasy/Jersey/CXF: Tan fácil como su nombre es. Simple y directo para comenzar a trabajar en él. Una buena parte de estos 3 frameworks es que, como son compatibles con JAX-RS, en cualquier momento en el futuro pueden recurrir rápidamente a otros marcos compatibles con JAX-RS si funcionan mejor o satisfacen sus necesidades aún mejor

  3. Spring: Spring 3 comenzó a admitir API REST. Pero asegúrese de que NO sea compatible con JAX-RS, por el mismo motivo que para Restlet.

    Así que solo elegiría entre RestEasy/Jersey/CXF.

Cuestiones relacionadas