2009-03-31 13 views
6

Quiero saber cómo podría implementar REST en mi aplicación web. Quiero crear una aplicación web basada en este servicio, pero no sé cómo hacerlo. Ahora, estoy usando J2EE y Tomcat. ¿Qué cosas deberían considerarse para estas tecnologías?¿Cómo implementar REST en una aplicación web?

EDITAR: Lo siento, me refiero al servicio RESTful.

Respuesta

12

REST no es una interfaz o tecnología específica, sino un estilo. El mejor ejemplo es la propia web: su navegador envía una solicitud HTTP a un servidor web, que responde con una página web.

Representational State Transfer en este contexto: La representación es la página web, el estado es la información contenida en ella. Podríamos cambiar la representación cambiando a servir xml en lugar de html, pero la información sería la misma.

En un servicio RESTful, utiliza este estilo para enviar objetos de datos hacia adelante y hacia atrás: el estado se transfiere del servidor a usted y luego envía un nuevo estado nuevamente.

Entonces, en cierto sentido, Tomcat ya hará REST por usted, si pone las páginas de su servidor como recursos: http://carsales.com/cars/porsche2149 podría ser el recurso para su automóvil, al cual podría usar HTTP POST o PUT para cambiar los detalles de eso.

Las características de REST están utilizando URIs para denotar los recursos, como anteriormente, usando JSON o XML como medio de intercambio (aunque se utilizan AHAH y otros formatos), y discutiendo acerca de cómo eliminar colecciones.

Primero, determine cuáles serán sus recursos y organice su sistema URI para que se ajuste a ellos (utilice la reescritura de URL, etc.). Luego determine la (s) representación (es) que desea usar. Finalmente, escriba el backend para tratar el paso de representaciones de estado y actualice la base de datos.

+0

Gracias Phil H, tu respuesta es muy buena y útil –

+0

+1 para el ejemplo con porsche. Aunque ya se ha ido, pero aún así. – zmilojko

0

Esto es un poco de un coche-por la respuesta, pero si quieres un marco/API para ayudar aquí hay dos opciones:

Restlet

CXF's jax-rs

1

no tiene ningún experiencia con jax-rs de CXF pero Restlet funciona bien para mí. Permite implementar servicios y clientes RESTful de manera directa. Me ayudó mucho en la programación contra la interfaz de servicio REST de DekiWiki. Hay un libro de O'Reilly sobre "Servicio web RESTful" que proporciona una introducción correcta. También tiene una sección corta sobre Restlet.

0

También estamos utilizando Restlet con JAX-RS.

Si va a utilizar JAX-RS (API de Java para servicios web RESTful), este document puede ser útil (aunque es una guía de referencia para desarrollar en JBoss RESTEasy).

también recomiendo el REST test client

0

RESTful Web Services es un libro que puede ayudarle. Describe el incentivo detrás de los servicios web RESTful y brinda instrucciones sobre cómo diseñar su servicio. Luego podría avanzar en la implementación ya sea utilizando un marco o simplemente servlets.

Como alternativa a los métodos de implementación ya mencionados, me gustaría agregar Spring MVC.Es posible crear aplicaciones RESTful already, pero se agregará soporte más directo en Spring 3.0

Cuestiones relacionadas