SlideShare una empresa de Scribd logo
1 de 23
Plataformas de
Desarrollo 2
Tema: 2 Web Services
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
“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
Objetivos de Desarrollo Sostenible
4.7 De aquí a 2030, asegurar que todos los alumnos adquieran
los conocimientos teóricos y prácticos necesarios para
promover el desarrollo sostenible, entre otras cosas mediante la
educación para el desarrollo sostenible y los estilos de vida
sostenibles, los derechos humanos, la igualdad de género, la
promoción de una cultura de paz y no violencia, la ciudadanía
mundial y la valoración de la diversidad cultural y la
contribución de la cultura al desarrollo sostenible
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 REST
Sistema 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 (9)

Presentación práctica ICEfaces
Presentación práctica ICEfacesPresentación práctica ICEfaces
Presentación práctica ICEfaces
 
Desarrollo de aplicaciones web
Desarrollo de aplicaciones webDesarrollo de aplicaciones web
Desarrollo de aplicaciones web
 
Miltonfabiandiaz
MiltonfabiandiazMiltonfabiandiaz
Miltonfabiandiaz
 
Curso online-asp-net-lw
Curso online-asp-net-lwCurso online-asp-net-lw
Curso online-asp-net-lw
 
Web services
Web servicesWeb services
Web services
 
Presentacion de informatica
Presentacion de informaticaPresentacion de informatica
Presentacion de informatica
 
Mapa mental de los browser (1)
Mapa mental de los browser (1)Mapa mental de los browser (1)
Mapa mental de los browser (1)
 
Pagina web
Pagina webPagina web
Pagina web
 
Paginas web
Paginas webPaginas web
Paginas web
 

Similar a S4-PD2-REST-REST FULL

Similar a S4-PD2-REST-REST FULL (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
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Web 2 pamela sanchez
Web 2 pamela sanchezWeb 2 pamela sanchez
Web 2 pamela sanchez
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Paper ieee
Paper ieeePaper ieee
Paper ieee
 
Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertexto
 
Introduccion ws rest
Introduccion ws restIntroduccion ws rest
Introduccion ws rest
 
Presentac[2]..
Presentac[2]..Presentac[2]..
Presentac[2]..
 
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
 
Web 2[1].0
Web 2[1].0Web 2[1].0
Web 2[1].0
 
T final modulo_1
T final modulo_1T final modulo_1
T final modulo_1
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
Taller de arquitectura web
Taller de arquitectura webTaller de arquitectura web
Taller de arquitectura web
 
Medallo Bloguero 16/05/07
Medallo Bloguero   16/05/07Medallo Bloguero   16/05/07
Medallo Bloguero 16/05/07
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
REST
RESTREST
REST
 
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

Sesión de Clase A dde sistemas de riego y otras obras
Sesión de Clase A dde sistemas de riego y otras obrasSesión de Clase A dde sistemas de riego y otras obras
Sesión de Clase A dde sistemas de riego y otras obrasBildStrify1
 
subestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energiasubestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energiazaydaescalona
 
DIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptDIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptalisonsarmiento4
 
6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...
6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...
6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...jose880240
 
las humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingenierolas humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingenieroJsValdez
 
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJHInmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJHVivafornai
 
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSCONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSrobinarielabellafern
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptxJhonLeon59
 
Trabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayoTrabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayoAntonioCardenas58
 
herrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptxherrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptxDiegoSuarezGutierrez
 
TYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptxTYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptxLilibethBallesteros1
 
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfPRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfjorge477728
 
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfSegundo Silva Maguiña
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxJulio Lovon
 
UNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxUNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxElybe Hernandez
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfssuserf46a26
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdfThe16Frame
 
TIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZ
TIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZTIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZ
TIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZvarichard
 

Último (20)

Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
 
Sesión de Clase A dde sistemas de riego y otras obras
Sesión de Clase A dde sistemas de riego y otras obrasSesión de Clase A dde sistemas de riego y otras obras
Sesión de Clase A dde sistemas de riego y otras obras
 
subestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energiasubestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energia
 
DIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptDIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.ppt
 
6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...
6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...
6.1-Proclamación de la II República, la Constitución y el bienio reformista-L...
 
las humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingenierolas humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingeniero
 
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJHInmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
 
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSCONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
 
Trabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayoTrabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayo
 
herrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptxherrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptx
 
TYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptxTYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptx
 
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfPRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
 
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptx
 
UNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxUNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptx
 
50870516-hidroponia. descargado en novppt
50870516-hidroponia. descargado en novppt50870516-hidroponia. descargado en novppt
50870516-hidroponia. descargado en novppt
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdf
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf
 
TIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZ
TIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZTIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZ
TIPOS DE BASTIDORES Y CARROCERIA EN LA INDUSTRIA AUTOMOTRIZ
 

S4-PD2-REST-REST FULL

  • 1. Plataformas de Desarrollo 2 Tema: 2 Web Services Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec
  • 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. Objetivos de Desarrollo Sostenible 4.7 De aquí a 2030, asegurar que todos los alumnos adquieran los conocimientos teóricos y prácticos necesarios para promover el desarrollo sostenible, entre otras cosas mediante la educación para el desarrollo sostenible y los estilos de vida sostenibles, los derechos humanos, la igualdad de género, la promoción de una cultura de paz y no violencia, la ciudadanía mundial y la valoración de la diversidad cultural y la contribución de la cultura al desarrollo sostenible
  • 5. 2.2 Rest y RestFul
  • 6. ¿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
  • 7. ¿Por qué ha triunfado la Web? ● Escalabilidad en interacciones entre componentes ● Generalidad en las interfaces ● Desarrollo independiente de componentes ● Existencia de componentes intermediarios (proxys)
  • 8. 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 REST Sistema basado en SOAP
  • 9. 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...
  • 10. 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
  • 11. 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.
  • 12. Principios de REST V ● Promueve mecanismos caché y sistemas intermedios
  • 13. 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.
  • 14. 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
  • 15. 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>
  • 16. 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
  • 17. Uso de REST ● Adecuado para grandes cantidades de información pública para grupos desconocidos de usuarios ● No adecuado para sistemas complejos cerrados
  • 18. 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..
  • 19. 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.
  • 21. ● 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.
  • 22. 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