0% encontró este documento útil (0 votos)
12 vistas16 páginas

Ponencia REST

Cargado por

David Sarmiento
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas16 páginas

Ponencia REST

Cargado por

David Sarmiento
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

REST

REpresentational State
Transfer
PROGRAMA DE DOCTORADO:
Avances en Informática
(2006-2007)

Javier González Pisano


¿Qué es REST?

 Origen: Fielding, Roy T. “Architectural Styles and


the Design of Network-based Software
Architectures.” Tesis Doctoral, Universidad de
California, 2000.
 Describe un estilo de arquitectura que utilizar como
modelo en los servicios de computación Web.
 Estilo de arquitectura: Conjunto coordinado de
restricciones que controlan el funcionamiento y
características de los elementos de la arquitectura y
permite las relaciones de unos con otros.
 Describe cómo debería comportarse la Web
 NO es un estándar

Javier González Pisano


¿Por qué ha triunfado la
Web?
 Escalabilidad en interacciones entre
componentes
 Generalidad en las interfaces
 Desarrollo independiente de componentes
 Existencia de componentes intermediarios
(proxys)

Javier González Pisano


Principios de REST
 El estado y la funcionalidad de las aplicaciones se divide en
recursos
 REST es orientado a recursos y no a métodos
 No se accede directamente a los recursos, sino a representaciones de
los mismos

Sistema basado en Sistema basado en


SOAP REST
Servicio
Recurso
Acceso
CUENTA
USUARIO CUENTA USUARIO BANCARIA
BANCARIA
=123
=123

Javier González Pisano


Principios de REST II
 Todo recurso es identificado de forma única global mediante
una sintaxis universal. Como en HTTP los recursos se identifican
mediante URIs (Uniform Resource Identifier).
 Conjunto potencialmente infinito de recursos.
 Todos los recursos comparten un interfaz uniforme formado por:
 Conjunto de operaciones limitado para transferencia de estado

 En HTTP GET, PUT, POST, DELETE


 Conjunto limitado de tipos de contenidos
 En HTTP se identifican mediante tipos MIME: XML , HTML...

Javier González Pisano


Principios de REST III
 Un protocolo cliente/servidor, sin estado y basado en capas
 Cada mensaje contiene la información necesaria para
comprender la petición (mensajes autocontenidos, como
HTTP)
ESTADO A

ESTADO A
ESTADO B
ESTADO B RED ESTADO C

ESTADO C

Javier González Pisano


Principios de REST IV
 Uso de hipermedios, tanto para la información de la
aplicación como para las transiciones de estado de la
aplicación.
 A través de sucesivas peticiones de recursos cambia el
estado de la aplicación.

Javier González Pisano


Principios de REST V

 Promueve mecanismos caché y sistemas


intermedios

Javier González Pisano


Ventajas de REST
 Mejora el tiempo de respuesta gracias al mecanismo
Caché y los mensajes auto-descriptivos.
 Disminución de carga en servidor
 Mayor escalabilidad al no requerir mantenimiento de
estado en el servidor
 Facilita desarrollo de clientes (menor dependencia del
servidor).
 Mayor estabilidad frente a futuros cambios
 Permite evolución independiente de los tipos de
documentos al procesar éstos en el cliente.

Javier González Pisano


Diferencias entre REST y SOAP

SOAP REST
Orientado a RPC Orientado a recursos

Servidor almacena parte del estado El estado se mantiene sólo en el


cliente, y no se permiten las
sesiones

Usa HTTP como túnel para el paso Propone HTTP como nivel de
de mensajes aplicación

Javier González Pisano


Ejemplo
 Sistema basado en SOAP  Sistema REST
 Énfasis en diversidad de  Énfasis en diversidad de
operaciones (verbos) recursos (nombres)
User {} Location{}
getUser()  Registro del recurso User
addUser() (accesible con HTTP
removeUser() GET):
updateUser() <usuario>
<nombre>Benito Pérez</nombre>
getLocation()
<genero>masculino</genero>
addLocation() <localizacion
removeLocation() href="http://www.example.org/locations/
spain/oviedo"> Oviedo, Spain
updateLocation()
</localizacion>
listUsers() </usuario>

Javier González Pisano


Soap vs REST: Críticas

 SOAP no es transparente,  REST es poco flexible


apuesta por el  REST no está preparado
encapsulamiento para albergar Servicios
 SOAP no dispone de un Web de gran complejidad
sistema de como las aplicaciones B2B
direccionamiento global  REST tiene grandes
 SOAP puede derivar en problemas de seguridad al
agujeros de seguridad no soportar el concepto de
 SOAP no aprovecha sesión
muchas de las ventajas de
HTTP al usarlo solamente
como túnel
 SOAP no puede hacer uso
de los mecanismos Caché

Javier González Pisano


Uso de REST

 Adecuado para grandes cantidades de


información pública para grupos
desconocidos de usuarios
 No adecuado para sistemas complejos
cerrados

Javier González Pisano


Ejemplo de Implementaciones
 AMAZON
 Pionera en el uso de REST en 2002

 Base de datos con todos los productos que vende

 Los productos se acceden como recursos, no como métodos de

búsqueda
 API disponible en associates.amazon.com

 Posible carencia, si realiza servicios más sofisticados puede que

deba migrar a SOAP


 EBAY
 Desarrolló una API REST en 2004

 Consulta de productos a través del método GetSearchResults()

 OTROS: YOUTUBE, YAHOO, FLICKR, etc..


 En ocasiones siguen la arquitectura “sin querer”.

Javier González Pisano


Futuro de REST

 SOAP mantiene el monopolio de los Servicios


Web
 Carencia de documentación
 Escasas implementaciones y ejemplos
prácticos para acercar REST al programador
común
 Única solución, crear organización o entidad
que agrupe el disperso y escaso trabajo que
existe sobre REST

Javier González Pisano


Gracias por vuestra
atención

Javier González Pisano

También podría gustarte