Title: Representational State Transfer (REST)
1Representational State Transfer (REST)
- PROYECTO FIN DE CARRERA
- Tutor Antonio J. Sierra Collado
- Alumno Alberto Cubo Velázquez
2- ÍNDICE
- INTRODUCCIÓN
- HTTP, URI, XML
- SOAP Y WSDL
- REST
- DEBATE REST-SOAP
- IMPLEMENTACIONES REST
- FUTURO DE REST
3 1. INTRODUCCIÓN
4INTRODUCCIÓN
- Necesidad de realizar tareas en menor tiempo
- Internet y Servicios Web como solución
5SERVICIOS 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
6IMPORTANCIA DE REST EN LA WEB
7 2. URI, HTTP Y XML
8URI, HTTP, XML
- Bases para construir Servicios Web
- Identificador de recursos URI, UUID
- Protocolo de Transferencia HTTP
- Descripción y estructurado de datos XML
9 3. SOAP Y WSDL
10CARACTERÍ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
11FUNCIONAMIENTO DE SOAP
12MENSAJES SOAP
- lt?xml version"1.0"?gt
- ltSOAP-ENVEnvelope
- xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/
envelope/" - SOAP- ENVencodingStyle "http//schemas.xmlso
ap.org/soap/encoding/"gt - ltSOAP-ENVHeadergt
- lttTransaction xmlnst"some-URI"
SOAP-ENVmustUnderstand"1"gt - 5
- lt/tTransactiongt
- lt/SOAP-ENVHeadergt
- ltSOAP-ENVBodygt
- ltgetQuote xmlns "http//namespaces.alberto.org/
xmljava/ch2/"gt - ltsymbolgtRHATlt/symbolgt
- lt/getQuotegt
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
13 4. REST
14CARACTERÍ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
15ESTILO 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.
16RESTRICCIONES DE REST
- Cliente Servidor
- Sin estado
- Caché
- Sistema de capas
- Interfaz Uniforme
17RESTRICCION 1 CLIENTE-SERVIDOR
18RESTRICCIÓN 2 SIN ESTADO
19RESTRICCIÓN 3 CACHÉ
20RESTRICCIÓN 4 SISTEMA DE CAPAS
21RESTRICCIÓ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
22RECURSOS
- REST es orientado a recursos y no a métodos
23IDENTIFICACIÓN DE RECURSOS
24MANIPULACIÓN DE RECURSOS
- Un cliente manipula la representación de un
recurso en vez de su implementación.
25MENSAJES AUTO-DESCRIPTIVOS
- Toda la información necesaria para procesar el
mensaje se encuentra en el propio mensaje. - Usa HTTP como protocolo de aplicación.
26HIPERMEDIO COMO EL MOTOR DE ESTADO
27MÉTODOS DE REST
- Usa los métodos de HTTP
- Cumple con la restricción de interfaz uniforme
28BENEFICIOS 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
29 5. DEBATE REST-SOAP
30DEBATE 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
31DIFERENCIAS 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
32CRÍ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é
33CRÍ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
34 6. IMPLEMENTACIONES
35AMAZON
- 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
36eBay
- 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?C
allNameGetSearchResultsRequestToken
xyz123RequestUserIdebayuserQuerytoy20boatSc
hema1 - Fallo, usa un método con parámetros para invocar
un producto
37RESTLETS
- 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
38 7. FUTURO DE REST
39FUTURO 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