representational state transfer (rest) proyecto fin de carrera: tutor: antonio j. sierra collado...
TRANSCRIPT
![Page 1: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/1.jpg)
Representational State Transfer (REST)
PROYECTO FIN DE CARRERA:
Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez
![Page 2: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/2.jpg)
ÍNDICE
1. INTRODUCCIÓN
2. HTTP, URI, XML
3. SOAP Y WSDL
4. REST
5. DEBATE REST-SOAP
6. IMPLEMENTACIONES REST
7. FUTURO DE REST
![Page 3: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/3.jpg)
1. INTRODUCCIÓN
![Page 4: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/4.jpg)
■ Necesidad de realizar tareas en menor tiempo
Internet y Servicios Web como solución
INTRODUCCIÓN
![Page 5: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/5.jpg)
SERVICIOS WEB:
Facilitan tareas a los usuarios
Ligadas al mundo Web (Internet)
Datan de las últimas dos décadas
Origen: CORBA, RPC
Actualmente SOAP tiene el monopolio
REST como alternativa a SOAP
![Page 6: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/6.jpg)
IMPORTANCIA DE REST EN LA WEB
![Page 7: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/7.jpg)
2. URI, HTTP Y XML
![Page 8: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/8.jpg)
URI, HTTP, XML
Identificador de recursos: URI, UUID
Protocolo de Transferencia: HTTP
Descripción y estructurado de datos: XML
Bases para construir Servicios Web:
![Page 9: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/9.jpg)
3. SOAP Y WSDL
![Page 10: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/10.jpg)
CARACTERÍSTICAS DE SOAP:
Arquitectura de Servicios Web
Creado por IBM, Microsoft y actualmente W3C
Basada en RPC
Intercambio de información entre dos puntos mediante XML
Uso de HTTP como túnel para las comunicaciones
Descubrimiento de Servicios mediante WSDL
![Page 11: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/11.jpg)
FUNCIONAMIENTO DE SOAP:
![Page 12: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/12.jpg)
MENSAJES SOAP:
<?xml version="1.0"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP- ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header><t:Transaction xmlns:t="some-URI" SOAP-ENV:mustUnderstand="1">
5</t:Transaction>
</SOAP-ENV:Header><SOAP-ENV:Body>
<getQuote xmlns= "http://namespaces.alberto.org/xmljava/ch2/"><symbol>RHAT</symbol>
</getQuote></SOAP-ENV:Body>
</SOAP-ENV:Envelope>
![Page 13: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/13.jpg)
4. REST
![Page 14: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/14.jpg)
CARACTERÍSTICAS
Origen Roy Thomas Fielding, ámbito académico
Estilo de arquitectura
Describe como debería comportarse la Web
Se apoya en el uso de URI y HTTP
REST evoluciona en la red
![Page 15: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/15.jpg)
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.
![Page 16: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/16.jpg)
RESTRICCIONES DE REST:
Cliente Servidor
Sin estado
Caché
Sistema de capas
Interfaz Uniforme
![Page 17: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/17.jpg)
RESTRICCION 1: CLIENTE-SERVIDOR
![Page 18: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/18.jpg)
RESTRICCIÓN 2: SIN ESTADO
![Page 19: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/19.jpg)
RESTRICCIÓN 3: CACHÉ
![Page 20: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/20.jpg)
RESTRICCIÓN 4: SISTEMA DE CAPAS
![Page 21: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/21.jpg)
RESTRICCIÓN 5: INTERFAZ UNIFORME
La implementación se separa del servicio que proporciona.
Mecanismos para conseguirlo:
Recursos e identificación de recursos
Manipulación de recursos a través de sus representaciones
Mensajes Auto-descriptivos
Hipermedios como el motor de estado de la aplicación
![Page 22: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/22.jpg)
RECURSOS
• REST es orientado a recursos y no a métodos
![Page 23: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/23.jpg)
IDENTIFICACIÓN DE RECURSOS
• URI Física
• URI Lógica
![Page 24: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/24.jpg)
MANIPULACIÓN DE RECURSOS
Un cliente manipula la representación de un recurso en vez de su implementación.
![Page 25: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/25.jpg)
MENSAJES AUTO-DESCRIPTIVOS
Toda la información necesaria para procesar el mensaje se encuentra en el propio mensaje.
Usa HTTP como protocolo de aplicación.
![Page 26: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/26.jpg)
HIPERMEDIO COMO EL MOTOR DE ESTADO
![Page 27: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/27.jpg)
MÉTODOS DE REST
Usa los métodos de HTTP
Cumple con la restricción de interfaz uniforme
![Page 28: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/28.jpg)
BENEFICIOS OBTENIDOS AL USAR REST
Mejora el tiempo de respuesta gracias al mecanismo Caché y los mensajes auto-descriptivos
Mejora la seguridad debido a los mensajes auto-descriptivos y el uso de los métodos HTTP
![Page 29: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/29.jpg)
5. DEBATE REST-SOAP
![Page 30: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/30.jpg)
DEBATE REST-SOAP
Inicio junto con la disertación de Roy Fielding
Los adeptos a REST buscan los puntos débiles de SOAP
A veces toma un tono político al unir SOAP con Microsoft
Principales autores: Paul Prescod, Tim Bray, Robert McMillan, Sam Ruby…
![Page 31: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/31.jpg)
DIFERENCIAS ENTRE REST Y SOAP
SOAP REST
Origen en el ámbito académico Origen en el ámbito de las empresas
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 de mensajes
Propone HTTP como nivel de aplicación
![Page 32: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/32.jpg)
CRÍTICAS DE REST HACIA SOAP
SOAP no es transparente, apuesta por el encapsulamiento
SOAP no dispone de un sistema de direccionamiento global
SOAP puede derivar en agujeros de seguridad
SOAP no aprovecha muchas de las ventajas de HTTP al usarlo solamente como túnel
SOAP no puede hacer uso de los mecanismos Caché
![Page 33: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/33.jpg)
CRÍTICAS DE SOAP HACIA REST
REST es poco flexible
REST no está preparado para albergar Servicios Web de gran complejidad como las aplicaciones B2B
REST falla a la hora de realizar Servicios Web que necesiten procesado de datos
REST tiene grandes problemas de seguridad al no soportar el concepto de sesión
![Page 34: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/34.jpg)
6. IMPLEMENTACIONES
![Page 35: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/35.jpg)
AMAZON
Pionera en el uso de REST en 2002, muy comentado en la Web
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
![Page 36: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/36.jpg)
eBay
Desarrolló una API REST en 2004
Consulta de productos a través del método GetSearchResults()
Ejemplo de uso: http://rest.api.ebay.com/restapi?CallName=GetSearchResults&RequestToken =xyz123&RequestUserId=ebayuser&Query=toy%20boat&Schema=1
Fallo, usa un método con parámetros para invocar un producto
![Page 37: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/37.jpg)
RESTLETS
API desarrollada en 2006
Funcionando aunque en fase de depuración
Acerca REST a los desarrolladores Java
Realiza las mismas funciones de los Servlets pero al estilo REST
![Page 38: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/38.jpg)
7. FUTURO DE REST
![Page 39: Representational State Transfer (REST) PROYECTO FIN DE CARRERA: Tutor: Antonio J. Sierra Collado Alumno: Alberto Cubo Velázquez](https://reader035.vdocuments.us/reader035/viewer/2022062322/5665b43e1a28abb57c90545d/html5/thumbnails/39.jpg)
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