SlideShare a Scribd company logo
1 of 42
Unidad 3. Webservices
3.2. Uso deWebservices
(Introducción, Características)
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas
Plataformas de Desarrollo 2
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
“No puedes derrotar a la persona que
nunca se rinde”
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas
Plataformas de Desarrollo 2
Resultado de Aprendizaje
Desarrollar soluciones informáticas mediante metodologías,
herramientas y estándares que satisfagan los requerimientos de
las organizaciones sobre la base de los principios de la sociedad
de la información.
Contenidos
Introducción
Objetivos
Desarrollo de Contenidos
Conclusiones
Bibliografía
3.2. Uso de Webservices
Objetivos
Adquirir los conceptos básicos relacionados con el web Service
Reconocer las características del diseño de web Service
Estado del arte de los Web Services
Comparar REST y SOAP, quizás no es lo más correcto debido a
que no son exactamente lo mismo.
Mientras que SOAP es un protocolo estándar definido para
realizar esta función, REST es un estilo arquitectónico, por lo
que no es un estándar en términos de integración e
implementación. REST utiliza varios estándares y protocolos
ya definidos para su funcionamiento.
Estado del arte de los Web Services
Rest
Aspectos positivos:
Fácil de implementar y simple de interpretar
Es más ligero, sus respuestas contienen exactamente la información que
necesitamos.
Solo se envía la representación de un recurso.
Bajo consumo de recursos Al no tener estado, facilita la sincronización de servidores y
por consiguiente facilita la escalabilidad del sistema.
Rest
Aspectos positivos:
Es flexible en cuanto al tipo de respuesta que se necesita, ya que puede consumir
XML o JSON Funciona muy bien con dispositivos móviles y aplicaciones RIA (Rich
Internet Application) basadas en Javascript facilitando la portabilidad a otras
tecnologías HATEOAS (Hypermedia as the Engine of Application State), posibilita el
descubrir otros recursos cuando recibamos la representación de uno de ellos.
Rest
Aspectos negativos:
La seguridad puede ser un problema y puede llegar a ser una tarea muy difícil
de implementar correctamente.
No hay un estándar en sus respuestas por lo que no se definen tipos de datos.
A la hora del diseño, el manejo del espacio de nombres puede ser algo más
rebuscado.
SOAP
Aspectos positivos:
Utilizando tecnología .NET o Java es muy sencillo de consumir y existen varias
herramientas de desarrollo para poder consumirlo.
Funciona muy bien en entornos empresariales.
Buen manejo de errores.
Estructura más rígida y fuerte.
Mayor seguridad en el transporte
SOAP
Aspectos negativos:
Es complejo y difícil de entender
Sólo sirve XML
No aprovecha la infraestructura web como cachés, negociación de formatos
Depende de la especificación WSDL para poder operar con los procesos
Flujograma conexión HTTP bajo TCP
Arquitectura REST | 2
Índice
Qué no es REST
Introducción
Restricciónes
Richardson Madurity Model
Rest Anti Patterns
Seguridad
Documentación
Algunos Frameworks Java y PHP
Demo Time
Q&A
Arquitectura REST
REST NO ES …
Arquitectura REST | 16
REST no es un tecnología.
REST no es un framework.
REST no es un patrón de diseño.
REST no es un protocolo.
REST no es un estándar.
Arquitectura REST
¿QUÉ ES REST?
REST is a coordinated set of architectural
constraints that attempts to minimize latency
and network communication while at the same
time maximizing the independence and scalability
of component implementations.
Roy Fielding
Tesis Doctoral
Architectural Styles and the Design of Network-
based Software Architectures, Universityof
California, Irvine, 2000
Arquitectura REST | 17
Arquitectura REST
DESCRIPCIÓN GENERAL
Arquitectura REST | 18
REST == REpresentational State Transfer
Basado en Recursos (Elemento de información)
Representación (Formato de la información)
Restricciones:
 Client-Server
 Stateless
 Cacheable
 Uniform Interface
 Layered System
 Code-on-demand
Arquitectura REST
RESTRICCIONES: CLIENT-SERVER
Separación de responsabilidades.
Mejora la portabilidad a distintas plataformas.
Aumento de la escalabilidad.
Componentes evolucionan de forma
independiente.
Arquitectura REST | 19
Arquitectura REST
RESTRICCIONES: STATELESS
Cada petición contiene toda la información
necesaria para que el servidor la procese.
El estado de sesión se mantiene totalmente en el
cliente.
Componentes evolucionan de forma
independiente.
Arquitectura REST | 20
Arquitectura REST
RESTRICCIONES: CACHEABLE
Respuestas del
son cacheables:
 Implícita
 Explicita
 Negociables
servidor (representaciones)
Arquitectura REST | 21
Arquitectura REST
RESTRICCIONES: UNIFORM INTERFACE
Arquitectura REST | 22
Principal característica diferenciadora frente a
otras arquitecturas.
Las implementaciones se separan de los
servicios que proporcionan
¿Cómo?
 Verbos HTTP
 URIs (nombres de recursos)
 Respuestas HTTP (status, body)
Arquitectura REST
RESTRICCIONES: LAYERED SYSTEM
Los servicios REST están orientados a la
escalabilidad.
El cliente no sabe si la petición se realiza
directamente a un servidor, un sistema de
cachés o por ejemplo un balanceador que se
encarga de redirigirlo hacia un servidor final.
Arquitectura REST | 23
Arquitectura REST
RESTRICCIONES: CODE-ON-DEMAND
s
Servidor puede extender o personalizar
temporalmente la funcionalidad del cliente.
Transferencia de la lógica al cliente.
Cliente ejecuta la lógica.
Restricción opcional
Ejemplos:
 Java Applet
 JavaScript
Arquitectura REST | 24
Arquitectura REST
OBJETIVOS
Simplicidad
Escalabilidad
Portabilidad
Independizar el cliente/servidor
Sintaxis “universal”
Sistemas tolerantes al cambio
Minimizar la latencia
Arquitectura REST | 25
RICHARDSON MATURITY MODEL
Arquitectura REST
Arquitectura REST | 26
Arquitectura REST
LEVEL 0: THE SWAMP OF POX (PLAIN OLD XML)
Una URI, un Método HTTP
HTTP como un sistema de transporte para
interacciones remotos
Basado en Remote Procedure Invocation.
XML-RPC y SOAP
Arquitectura REST | 27
Arquitectura REST
LEVEL 1: RESOURCES
Arquitectura REST | 28
URI (Uniform Resource Identifier)
Los nombres de URI no deben implicar una
acción
Evitar uso de verbos.
Deben ser Únicas
Independientes del formato.
Deben mantener una jerarquía lógica.
Los filtrados de información de un recurso no se
hacen en la URI.
LEVEL 1: RESOURCES
Arquitectura REST
Arquitectura REST | 29
LEVEL 1: RESOURCES
Arquitectura REST
Arquitectura REST | 30
Arquitectura REST
LEVEL 2: HTTP VERBS
GET para obtener la representacion/es de un
recurso/s
POST para crear un recurso
PUT para modificar un recurso
DELETE para eliminar un recuerso
PATCH para actualizar parcialmente un recurso
 Uso de HTTP Status Code para indicar el resultado:
 HTTP/1.1 2xx Petición Correcta
 HTTP/1.1 4xx Errores del Cliente
 HTTP/1.1 5xx Errores en el Servidor
Arquitectura REST | 31
LEVEL 2: HTTP VERBS
Arquitectura REST
Arquitectura REST | 32
Arquitectura REST
LEVEL 3: HYPERMEDIA CONTROLS
 HATEOS (Hypermedia as the Engine of Application
State)
 API debe poder ser navegable sin documentación
Arquitectura REST | 33
LEVEL 3: HYPERMEDIA CONTROLS
Arquitectura REST | 34
Arquitectura REST
LEVEL 3: HYPERMEDIA CONTROLS (EJEMPLO)
Arquitectura REST
Arquitectura REST | 35
LEVEL 3: HYPERMEDIA CONTROLS (EJEMPLO)
Arquitectura REST
Arquitectura REST | 36
Arquitectura REST
REST ANTI-PATTERS BY STEFAN TILKOV
Todas las peticiones a través de GET
Todas las peticiones mediante POST
Cache, ¿qué cache?????
No utilizar códigos de respuesta
Mal uso de cookies
Olvidarnos de Hypermedia
Haciendo caso omiso de los tipos MIME
Mal uso de las cabeceras HTTP
Arquitectura REST | 37
Arquitectura REST
SEGURIDAD
Recordad que nuestros servicios web deben ser
stateless (sin estado):
 No utilizar cookies o HTTP Session.
El cliente debe enviar las credenciales de
autenticación en cada llamada.
Opciones:
 HTTP Security
 OAuth
Arquitectura REST | 38
Arquitectura REST
DOCUMENTACIÓN
JavadocTagsForExtendedWADL
 Permite añadir más información al WADL.
Se puede aplicar un transformada para generar
documentación ad hoc.
Swagger
 Ampliamente extendido y estable.
 Independiente del lenguaje de programación.
 UI para probar los servicios.
Arquitectura REST | 39
ALGUNOS FRAMEWORKS JAVA Y PHP
Arquitectura REST
Arquitectura REST | 40
LECTURAS RECOMENDADAS
Arquitectura REST
Arquitectura REST | 41
Bibliografía

More Related Content

What's hot

Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
Alex Uhu Colli
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
anibalsmit
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
tvazamar
 
Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09
Reingsys
 
Presentacion
PresentacionPresentacion
Presentacion
viringas
 
Metodologia de desarrollo de aplicaciones eorm
Metodologia de desarrollo de aplicaciones eormMetodologia de desarrollo de aplicaciones eorm
Metodologia de desarrollo de aplicaciones eorm
Leonardo Martinez
 

What's hot (20)

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Taller 4 - Teleinformatica
Taller 4 - TeleinformaticaTaller 4 - Teleinformatica
Taller 4 - Teleinformatica
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Arquitectura en capas
Arquitectura en capasArquitectura en capas
Arquitectura en capas
 
03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas
 
Implementacion exitosa soa
Implementacion exitosa soaImplementacion exitosa soa
Implementacion exitosa soa
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 
Uwe uml
Uwe umlUwe uml
Uwe uml
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
 
Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09
 
Aplicaciones de n capas en visual net
Aplicaciones de n capas en visual netAplicaciones de n capas en visual net
Aplicaciones de n capas en visual net
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Programando en capas
Programando en capasProgramando en capas
Programando en capas
 
Metodologia de desarrollo de aplicaciones eorm
Metodologia de desarrollo de aplicaciones eormMetodologia de desarrollo de aplicaciones eorm
Metodologia de desarrollo de aplicaciones eorm
 
Framework
FrameworkFramework
Framework
 

Similar to 10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Características)

Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.
camilaml
 

Similar to 10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Características) (20)

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
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
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
 
REST
RESTREST
REST
 
S4-PD2-2.2. REST
S4-PD2-2.2. RESTS4-PD2-2.2. REST
S4-PD2-2.2. REST
 
105.desarrollo rest-con-rails
105.desarrollo rest-con-rails105.desarrollo rest-con-rails
105.desarrollo rest-con-rails
 
Webinar oracle adf12c… descubre todo su potencial
Webinar oracle adf12c… descubre todo su potencialWebinar oracle adf12c… descubre todo su potencial
Webinar oracle adf12c… descubre todo su potencial
 
Introduccion ws rest
Introduccion ws restIntroduccion ws rest
Introduccion ws rest
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Clases 30 05
Clases 30 05Clases 30 05
Clases 30 05
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.
 
GraphQL Reactivo
GraphQL ReactivoGraphQL Reactivo
GraphQL Reactivo
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Clase 1 Introducción al Desarrollo Web
Clase 1 Introducción al Desarrollo WebClase 1 Introducción al Desarrollo Web
Clase 1 Introducción al Desarrollo Web
 

More from 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
 

Recently uploaded

tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
susafy7
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
vladimirpaucarmontes
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 

Recently uploaded (20)

Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 

10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Características)

  • 1. Unidad 3. Webservices 3.2. Uso deWebservices (Introducción, Características) Autor(es): Ciencias de la Ingeniería Carrera de Sistemas Plataformas de Desarrollo 2 Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es
  • 2. “No puedes derrotar a la persona que nunca se rinde” (Anónimo) Ciencias de la Ingeniería Carrera de Sistemas Plataformas de Desarrollo 2
  • 3. Resultado de Aprendizaje Desarrollar soluciones informáticas mediante metodologías, herramientas y estándares que satisfagan los requerimientos de las organizaciones sobre la base de los principios de la sociedad de la información.
  • 5. 3.2. Uso de Webservices
  • 6. Objetivos Adquirir los conceptos básicos relacionados con el web Service Reconocer las características del diseño de web Service
  • 7. Estado del arte de los Web Services Comparar REST y SOAP, quizás no es lo más correcto debido a que no son exactamente lo mismo. Mientras que SOAP es un protocolo estándar definido para realizar esta función, REST es un estilo arquitectónico, por lo que no es un estándar en términos de integración e implementación. REST utiliza varios estándares y protocolos ya definidos para su funcionamiento.
  • 8. Estado del arte de los Web Services
  • 9. Rest Aspectos positivos: Fácil de implementar y simple de interpretar Es más ligero, sus respuestas contienen exactamente la información que necesitamos. Solo se envía la representación de un recurso. Bajo consumo de recursos Al no tener estado, facilita la sincronización de servidores y por consiguiente facilita la escalabilidad del sistema.
  • 10. Rest Aspectos positivos: Es flexible en cuanto al tipo de respuesta que se necesita, ya que puede consumir XML o JSON Funciona muy bien con dispositivos móviles y aplicaciones RIA (Rich Internet Application) basadas en Javascript facilitando la portabilidad a otras tecnologías HATEOAS (Hypermedia as the Engine of Application State), posibilita el descubrir otros recursos cuando recibamos la representación de uno de ellos.
  • 11. Rest Aspectos negativos: La seguridad puede ser un problema y puede llegar a ser una tarea muy difícil de implementar correctamente. No hay un estándar en sus respuestas por lo que no se definen tipos de datos. A la hora del diseño, el manejo del espacio de nombres puede ser algo más rebuscado.
  • 12. SOAP Aspectos positivos: Utilizando tecnología .NET o Java es muy sencillo de consumir y existen varias herramientas de desarrollo para poder consumirlo. Funciona muy bien en entornos empresariales. Buen manejo de errores. Estructura más rígida y fuerte. Mayor seguridad en el transporte
  • 13. SOAP Aspectos negativos: Es complejo y difícil de entender Sólo sirve XML No aprovecha la infraestructura web como cachés, negociación de formatos Depende de la especificación WSDL para poder operar con los procesos
  • 15. Arquitectura REST | 2 Índice Qué no es REST Introducción Restricciónes Richardson Madurity Model Rest Anti Patterns Seguridad Documentación Algunos Frameworks Java y PHP Demo Time Q&A
  • 16. Arquitectura REST REST NO ES … Arquitectura REST | 16 REST no es un tecnología. REST no es un framework. REST no es un patrón de diseño. REST no es un protocolo. REST no es un estándar.
  • 17. Arquitectura REST ¿QUÉ ES REST? REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing the independence and scalability of component implementations. Roy Fielding Tesis Doctoral Architectural Styles and the Design of Network- based Software Architectures, Universityof California, Irvine, 2000 Arquitectura REST | 17
  • 18. Arquitectura REST DESCRIPCIÓN GENERAL Arquitectura REST | 18 REST == REpresentational State Transfer Basado en Recursos (Elemento de información) Representación (Formato de la información) Restricciones:  Client-Server  Stateless  Cacheable  Uniform Interface  Layered System  Code-on-demand
  • 19. Arquitectura REST RESTRICCIONES: CLIENT-SERVER Separación de responsabilidades. Mejora la portabilidad a distintas plataformas. Aumento de la escalabilidad. Componentes evolucionan de forma independiente. Arquitectura REST | 19
  • 20. Arquitectura REST RESTRICCIONES: STATELESS Cada petición contiene toda la información necesaria para que el servidor la procese. El estado de sesión se mantiene totalmente en el cliente. Componentes evolucionan de forma independiente. Arquitectura REST | 20
  • 21. Arquitectura REST RESTRICCIONES: CACHEABLE Respuestas del son cacheables:  Implícita  Explicita  Negociables servidor (representaciones) Arquitectura REST | 21
  • 22. Arquitectura REST RESTRICCIONES: UNIFORM INTERFACE Arquitectura REST | 22 Principal característica diferenciadora frente a otras arquitecturas. Las implementaciones se separan de los servicios que proporcionan ¿Cómo?  Verbos HTTP  URIs (nombres de recursos)  Respuestas HTTP (status, body)
  • 23. Arquitectura REST RESTRICCIONES: LAYERED SYSTEM Los servicios REST están orientados a la escalabilidad. El cliente no sabe si la petición se realiza directamente a un servidor, un sistema de cachés o por ejemplo un balanceador que se encarga de redirigirlo hacia un servidor final. Arquitectura REST | 23
  • 24. Arquitectura REST RESTRICCIONES: CODE-ON-DEMAND s Servidor puede extender o personalizar temporalmente la funcionalidad del cliente. Transferencia de la lógica al cliente. Cliente ejecuta la lógica. Restricción opcional Ejemplos:  Java Applet  JavaScript Arquitectura REST | 24
  • 25. Arquitectura REST OBJETIVOS Simplicidad Escalabilidad Portabilidad Independizar el cliente/servidor Sintaxis “universal” Sistemas tolerantes al cambio Minimizar la latencia Arquitectura REST | 25
  • 26. RICHARDSON MATURITY MODEL Arquitectura REST Arquitectura REST | 26
  • 27. Arquitectura REST LEVEL 0: THE SWAMP OF POX (PLAIN OLD XML) Una URI, un Método HTTP HTTP como un sistema de transporte para interacciones remotos Basado en Remote Procedure Invocation. XML-RPC y SOAP Arquitectura REST | 27
  • 28. Arquitectura REST LEVEL 1: RESOURCES Arquitectura REST | 28 URI (Uniform Resource Identifier) Los nombres de URI no deben implicar una acción Evitar uso de verbos. Deben ser Únicas Independientes del formato. Deben mantener una jerarquía lógica. Los filtrados de información de un recurso no se hacen en la URI.
  • 29. LEVEL 1: RESOURCES Arquitectura REST Arquitectura REST | 29
  • 30. LEVEL 1: RESOURCES Arquitectura REST Arquitectura REST | 30
  • 31. Arquitectura REST LEVEL 2: HTTP VERBS GET para obtener la representacion/es de un recurso/s POST para crear un recurso PUT para modificar un recurso DELETE para eliminar un recuerso PATCH para actualizar parcialmente un recurso  Uso de HTTP Status Code para indicar el resultado:  HTTP/1.1 2xx Petición Correcta  HTTP/1.1 4xx Errores del Cliente  HTTP/1.1 5xx Errores en el Servidor Arquitectura REST | 31
  • 32. LEVEL 2: HTTP VERBS Arquitectura REST Arquitectura REST | 32
  • 33. Arquitectura REST LEVEL 3: HYPERMEDIA CONTROLS  HATEOS (Hypermedia as the Engine of Application State)  API debe poder ser navegable sin documentación Arquitectura REST | 33
  • 34. LEVEL 3: HYPERMEDIA CONTROLS Arquitectura REST | 34 Arquitectura REST
  • 35. LEVEL 3: HYPERMEDIA CONTROLS (EJEMPLO) Arquitectura REST Arquitectura REST | 35
  • 36. LEVEL 3: HYPERMEDIA CONTROLS (EJEMPLO) Arquitectura REST Arquitectura REST | 36
  • 37. Arquitectura REST REST ANTI-PATTERS BY STEFAN TILKOV Todas las peticiones a través de GET Todas las peticiones mediante POST Cache, ¿qué cache????? No utilizar códigos de respuesta Mal uso de cookies Olvidarnos de Hypermedia Haciendo caso omiso de los tipos MIME Mal uso de las cabeceras HTTP Arquitectura REST | 37
  • 38. Arquitectura REST SEGURIDAD Recordad que nuestros servicios web deben ser stateless (sin estado):  No utilizar cookies o HTTP Session. El cliente debe enviar las credenciales de autenticación en cada llamada. Opciones:  HTTP Security  OAuth Arquitectura REST | 38
  • 39. Arquitectura REST DOCUMENTACIÓN JavadocTagsForExtendedWADL  Permite añadir más información al WADL. Se puede aplicar un transformada para generar documentación ad hoc. Swagger  Ampliamente extendido y estable.  Independiente del lenguaje de programación.  UI para probar los servicios. Arquitectura REST | 39
  • 40. ALGUNOS FRAMEWORKS JAVA Y PHP Arquitectura REST Arquitectura REST | 40