SlideShare una empresa de Scribd logo
1 de 22
Plataformas de
Desarrollo 2
Tema: 2 Web Services
Docente: Mg. Luis Fernando Aguas B
“La vida es mejor para aquellos que hacen lo
posible para tener lo mejor” – John Wooden.
Objetivo
• Construir aplicaciones de
software Web con acceso
a datos y que resuelva
problemas basados en
casos reales utilizando
Visual Studio
● 2.2 Rest y RestFul
Contenido
2.2 Rest y RestFul
¿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
¿Por qué ha triunfado la Web?
● Escalabilidad en interacciones entre componentes
● Generalidad en las interfaces
● Desarrollo independiente de componentes
● Existencia de componentes intermediarios (proxys)
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
Servicio
Acceso
CUENTA
BANCARIA
=123
USUARIO
Recurso
CUENTA
BANCARIA
=123
USUARIO
Sistema basado en RESTSistema basado en SOAP
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...
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)
RED
ESTADO A
ESTADO B
ESTADO C
ESTADO A
ESTADO B
ESTADO C
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.
Principios de REST V
● Promueve mecanismos caché y sistemas intermedios
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.
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
de mensajes
Propone HTTP como nivel de
aplicación
Ejemplo
● Sistema basado en
SOAP
○ Énfasis en diversidad
de operaciones
(verbos)
getUser()
addUser()
removeUser()
updateUser()
getLocation()
addLocation()
removeLocation()
updateLocation()
 Sistema REST
 Énfasis en diversidad
de recursos (nombres)
User {} Location{}
 Registro del recurso User
(accesible con HTTP
GET):
<usuario>
<nombre>Benito Pérez</nombre>
<genero>masculino</genero>
<localizacion
href="http://www.example.org/locations/
spain/oviedo"> Oviedo,
Spain
</localizacion>
</usuario>
Soap vs REST: Críticas
● 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é
● REST es poco flexible
● REST no está preparado para
albergar Servicios Web de gran
complejidad como las aplicaciones
B2B
● REST tiene grandes problemas de
seguridad al no soportar el concepto
de sesión
Uso de REST
● Adecuado para grandes cantidades de información pública para grupos
desconocidos de usuarios
● No adecuado para sistemas complejos cerrados
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..
Visión general conceptual
Definición de servicio web RESTful
● Un servicio web RESTful es:
○ Un conjunto de recursos web.
○ Interrelacionadas.
○ Centrado en datos, no centrado en la funcionalidad.
○ Orientado a la máquina.
○ Como las aplicaciones web, pero para máquinas.
○ Como WS-*, pero con más recursos web.
WS-* representa una variedad de especificaciones relacionadas con los servicios web
basados en SOAP.
WS-
collection
service
collection
entry
entry
entry
listEntries()
addEntry()
getEntry()
deleteEntry()
updateEntry()
listEntries()
addEntry()
getEntry()
deleteEntry()
updateEntry()
RESTful
● Un servicio SOAP (WS) tiene un único extremo que controla todas las
operaciones, por lo que tiene que tener una interfaz específica de la
aplicación.
● Un servicio RESTful tiene una serie de recursos (la colección, cada entrada),
por lo que las operaciones se pueden distribuir en los recursos y asignarse a
un pequeño conjunto uniforme de operaciones.
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
Gracias
Responsabilidad con pensamiento positivo

Más contenido relacionado

La actualidad más candente

La actualidad más candente (14)

Desarrollo de aplicaciones web
Desarrollo de aplicaciones webDesarrollo de aplicaciones web
Desarrollo de aplicaciones web
 
Programación Web I - ISC - UCQ - Presentación 03
Programación Web I - ISC - UCQ - Presentación 03Programación Web I - ISC - UCQ - Presentación 03
Programación Web I - ISC - UCQ - Presentación 03
 
Pagina web
Pagina webPagina web
Pagina web
 
Desarrollo aplicaciones
Desarrollo aplicacionesDesarrollo aplicaciones
Desarrollo aplicaciones
 
Servidores de contenido
Servidores de contenidoServidores de contenido
Servidores de contenido
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Que son los servidores de contenidos
Que son los servidores de contenidosQue son los servidores de contenidos
Que son los servidores de contenidos
 
Web 2
Web 2Web 2
Web 2
 
Glosario
GlosarioGlosario
Glosario
 
SERVIDORES DE CONTENIDOS
SERVIDORES DE CONTENIDOS SERVIDORES DE CONTENIDOS
SERVIDORES DE CONTENIDOS
 
Introduccion ws rest
Introduccion ws restIntroduccion ws rest
Introduccion ws rest
 
Web 3.0 Edgar Andrade 3
Web 3.0 Edgar Andrade 3Web 3.0 Edgar Andrade 3
Web 3.0 Edgar Andrade 3
 
Que Es La Web 2 0
Que Es La Web 2 0Que Es La Web 2 0
Que Es La Web 2 0
 
Paginas web
Paginas webPaginas web
Paginas web
 

Similar a S4-PD2-2.2. REST

Similar a S4-PD2-2.2. REST (20)

S4-PD2.pptx
S4-PD2.pptxS4-PD2.pptx
S4-PD2.pptx
 
S4-PD2.pptx
S4-PD2.pptxS4-PD2.pptx
S4-PD2.pptx
 
S7-DAW-2022S1.pptx
S7-DAW-2022S1.pptxS7-DAW-2022S1.pptx
S7-DAW-2022S1.pptx
 
10-Unidad 3: Diseños de Vista-3.2 Usos Web Services
10-Unidad 3: Diseños de Vista-3.2 Usos Web Services10-Unidad 3: Diseños de Vista-3.2 Usos Web Services
10-Unidad 3: Diseños de Vista-3.2 Usos Web Services
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Web 2 pamela sanchez
Web 2 pamela sanchezWeb 2 pamela sanchez
Web 2 pamela sanchez
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Presentac[2]..
Presentac[2]..Presentac[2]..
Presentac[2]..
 
Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertexto
 
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
REST
RESTREST
REST
 
Herramientas 2[1].0
Herramientas 2[1].0Herramientas 2[1].0
Herramientas 2[1].0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Curso: Programación Web con Tecnología Java
Curso:  	Programación Web con Tecnología JavaCurso:  	Programación Web con Tecnología Java
Curso: Programación Web con Tecnología Java
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.Presentación sobre el protocolo RESTAPI.
Presentación sobre el protocolo RESTAPI.
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinars
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Cadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesCadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesal21510263
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIARafaelPaco2
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 

Último (20)

SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Cadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesCadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operaciones
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 

S4-PD2-2.2. REST

  • 1. Plataformas de Desarrollo 2 Tema: 2 Web Services Docente: Mg. Luis Fernando Aguas B
  • 2. “La vida es mejor para aquellos que hacen lo posible para tener lo mejor” – John Wooden.
  • 3. Objetivo • Construir aplicaciones de software Web con acceso a datos y que resuelva problemas basados en casos reales utilizando Visual Studio ● 2.2 Rest y RestFul Contenido
  • 4. 2.2 Rest y RestFul
  • 5. ¿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
  • 6. ¿Por qué ha triunfado la Web? ● Escalabilidad en interacciones entre componentes ● Generalidad en las interfaces ● Desarrollo independiente de componentes ● Existencia de componentes intermediarios (proxys)
  • 7. 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 Servicio Acceso CUENTA BANCARIA =123 USUARIO Recurso CUENTA BANCARIA =123 USUARIO Sistema basado en RESTSistema basado en SOAP
  • 8. 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...
  • 9. 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) RED ESTADO A ESTADO B ESTADO C ESTADO A ESTADO B ESTADO C
  • 10. 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.
  • 11. Principios de REST V ● Promueve mecanismos caché y sistemas intermedios
  • 12. 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.
  • 13. 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 de mensajes Propone HTTP como nivel de aplicación
  • 14. Ejemplo ● Sistema basado en SOAP ○ Énfasis en diversidad de operaciones (verbos) getUser() addUser() removeUser() updateUser() getLocation() addLocation() removeLocation() updateLocation()  Sistema REST  Énfasis en diversidad de recursos (nombres) User {} Location{}  Registro del recurso User (accesible con HTTP GET): <usuario> <nombre>Benito Pérez</nombre> <genero>masculino</genero> <localizacion href="http://www.example.org/locations/ spain/oviedo"> Oviedo, Spain </localizacion> </usuario>
  • 15. Soap vs REST: Críticas ● 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é ● REST es poco flexible ● REST no está preparado para albergar Servicios Web de gran complejidad como las aplicaciones B2B ● REST tiene grandes problemas de seguridad al no soportar el concepto de sesión
  • 16. Uso de REST ● Adecuado para grandes cantidades de información pública para grupos desconocidos de usuarios ● No adecuado para sistemas complejos cerrados
  • 17. 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..
  • 18. Visión general conceptual Definición de servicio web RESTful ● Un servicio web RESTful es: ○ Un conjunto de recursos web. ○ Interrelacionadas. ○ Centrado en datos, no centrado en la funcionalidad. ○ Orientado a la máquina. ○ Como las aplicaciones web, pero para máquinas. ○ Como WS-*, pero con más recursos web. WS-* representa una variedad de especificaciones relacionadas con los servicios web basados en SOAP.
  • 20. ● Un servicio SOAP (WS) tiene un único extremo que controla todas las operaciones, por lo que tiene que tener una interfaz específica de la aplicación. ● Un servicio RESTful tiene una serie de recursos (la colección, cada entrada), por lo que las operaciones se pueden distribuir en los recursos y asignarse a un pequeño conjunto uniforme de operaciones.
  • 21. 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