sábado, 11 de agosto de 2012

¿Qué es REST, despues de haber llevado el curso SDS?

REST (Representational State Transfer) es un estilo de arquitectura de software para sistemas distribuidos tales como la Web. REST se refiere estrictamente a una colección de principios para el diseño de arquitecturas en red. Estos principios resumen como los recursos son definidos y diseccionados. 

Especificación REST:

REST nace como un alternativa a SOAP/WSDL/WS basado en una arquitectura distribuida, protocolo cliente/servidor sin estado. REST utiliza los métodos HTTP de manera explícita, hace que los desarrolladores usen los métodos HTTP explícitamente de manera que resulte consistente con la definición del protocolo. Este principio de diseño básico establece una asociación uno-a-uno entre las operaciones de crear, leer, actualizar y borrar de los métodos HTTP. De acuerdo a esta asociación:
  • se usa POST para crear un recurso en el servidor
  • se usa GET para obtener un recurso
  • se usa PUT para cambiar el estado de un recurso o actualizarlo
  • se usa DELETE para eleminar un recurso
REST no mantiene estado, los servicios sin estado son mucho más simples de diseñar, escribir y distribuir a través de múltiples servidores. Un servicio sin estado no sólo funciona mejor, sino que además mueve la responsabilidad de mantener el estado al cliente de la aplicación. En un servicio web REST, el servidor es responsable de generar las respuestas y proveer una interfaz que le permita al cliente mantener el estado de la aplicación por su cuenta.