REST
REST (REpresentational State Transfer)
Estilo arquitectonico presentado en Architectural Styles and the Design of Network-based Software Architectures para la obtención de Doctor en Filosofía en Información y Ciencias Computacionales por Roy Thomas Fielding.
- Representational State Transfer (REST)
- Autor: Roy Thomas Fielding (https://twitter.com/fielding)
Restricciones
- Modelo Cliente-Servidor
- Comunicación carente de estado (stateless)
- Cacheable
- Interfaz uniforme: la famosa API REST.
- Sistema en capas.
- Código bajo demanda: opcional, aunque JavaScript (en el Navegador Web) cumpliría esta carácteristica.
Objetivos
- Escalabilidad.
- Generalidad de interfaz.
- Independencia de despliegue de componentes.
- Desacoplamiento.
Consideraciones
- Orientado a recursos.
- Todo es expuesto mediante URLs.
- Los recursos son accesibles e identificables uno de otro.
- La comunicación entre cliente y servidor se hace mediante HTTP, haciendo uso de sus métodos, códigos de estado, cabeceras de solicitud/respuesta y el cuerpo de solicitud/respuesta.
Vídeos
- Arquitecturas MVC y REST por Cecilio Álvarez Caules.
- ¿Qué es REST y RESTful? por Jesús Conde.
Lecturas
- REST vs Web Services por Rafael Navarro Marset.
- Principios de REST por Diego Gomez.
- Introducción a los servicios web RESTful por Diego Gomez.
- Que es REST?
- ¿SOA está muerto?
- Arquitectura multinivel para la construcción de servicios web RESTful
- REST: La Arquitectura de la World Wide Web [PDF]. Un extenso documento
con cuestiones teoricas detras de REST. Autor: Diego Sevilla Ruiz.
- Displonibles en InfoQ, en ingles: InfoQ eMag: Web APIs: From Start to Finish, InfoQ eMag: REST, InfoQ Explores: REST y REST-y Reader .