SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Servicios Web
Joan Sebastián Ramírez Pérez
2017
Agenda
API
SOA
¿Qué es un Servicio Web?
¿Por qué usar servicios Web?
SOAP
REST
Bibliografía
API
Application Programming
Interface (API)
Procesos, funciones y métodos que brinda una
biblioteca de programación a modo de capa de
abstracción para que sea empleada por otro programa
informático.
Conjunto de reglas (código) y especificaciones que las
aplicaciones pueden seguir para comunicarse entre
ellas.
Una de las claves del funcionamiento de las API es la
facilidad de integración.
SOA
SOA
Arquitectura Orientada a Servicios
Paradigma de arquitectura que permite diseñar
software basado en la composición de
aplicaciones independientes.
Creación de sistemas de información altamente
escalables.
Arquitectura Orientada a
Servicios
Una aproximación para construir sistemas
usando servicios los cuales se adhieren a 4
pilares:
Los limites son explícitos
Los servicios son autónomos
Los servicios comparten esquemas y
contratos, no clases
La compatibilidad de los servicios, se
determina basados en las políticas
Beneficios de la Arquitectura
Orientada a Servicios
Proveer servicios a los consumidores vía interfaces
estándares, publicadas y de fácil ubicación
Soluciones basadas en protocolos estándares no en
productos
Eleva el nivel de abstracción para reutilización del código
Solventando problemas de heterogeneidad
Provee de un modelo claro para integrar sistemas de software
Dentro de a empresa
Mas allá de las fronteras organizacionales
Provee de la bases para aplicaciones conectadas de clase
mundial
El valor de negocio de las aplicaciones aisladas es limitado
¿Qué es un Servicio
Web?
Servicios Web
Tecnología que permite que las aplicaciones se
comuniquen en una forma que no depende de la
plataforma ni del lenguaje de programación.
Un servicio web es una interfaz que describe un
conjunto de operaciones a las cuales se puede
acceder por la red a través de mensajería
estandarizada.
¿Por qué usar Servicios
Web?
¿Por qué usar Servicios
Web?
Reuso del código
Interoperabilidad con otros sistemas
Posibilidad de usar microservicios como
arquietctura
SOAP
XML
Extensible Markup Language.
Lenguaje que permite definir lenguajes de marcas
o tags desarrollado por World Wide Web
Consortium (W3C).
Se usa para almacenar datos en forma legible
SOAP
Simple Object Access Protocol
Formato de mensaje XML utilizado en interacciones de
servicios web. Los mensajes SOAP habitualmente se
envían sobre HTTP o JMS, pero se pueden utilizar
otros protocolos.
Protocolo que te permite la comunicación entre
aplicaciones a través de mensajes por medio de
Internet, independiente de la plataforma y el lenguaje.
WSDL
WSDL
Web Services Description Language.
Notación XML para describir un servicio web
El uso de SOAP en un servicio web específico se
describe mediante la definición WSDL.
Una definición WSDL indica a un cliente cómo
componer una solicitud de servicio web y describe la
interfaz que proporciona el proveedor del servicio
web.
XSD
Es un mecanismo para comprobar la validez de un documento XML, es decir,
definir su estructura: qué elementos, qué tipos de datos, que atributos, en qué
orden, cuántas veces se repiten, etc.
Se compone de las etiquetas:
xmlns:xsi para declarar el espacio de nombres del esquema XSD.
xsi:noNamespaceSchemaLocation para vincular el documento XML con el
esquema local XSD.
xs:element <xs:element name="nombre" type="xs:string" default="TicArte"
minOccurs="1" maxOccurs="unbounded" />
xs:attribute <xs:attribute name="moneda" type="xs:string" default="euro"
use="required" />
Namespaces
Los espacios de nombres (namespaces) son uno de
los pilares de XML
Medio para organizar clases dentro de un entorno,
agrupándolas de un modo más lógico y jerárquico
Permiten eliminar las ambigüedades y solucionar los
problemas de homonimia que se producen en los
documentos, ya que en un mismo documento existen
palabras con el mismo nombre, pero con diferentes
significados y espacios semánticos.
REST
JSON
JavaScript Object Notation
Formato de texto ligero para el intercambio de
datos
Está constituído por dos estructuras:
Una colección de pares de nombre/valor. En
varios lenguajes esto es conocido como un
objeto, registro, estructura, diccionario, tabla
hash, lista de claves o un arreglo asociativo.
Una lista ordenada de valores. En la mayoría
de los lenguajes, esto se implementa como
arreglos, vectores, listas o secuencias.
Métodos estándar HTTP
GET: Para consultar y leer recursos
POST: Para crear recursos
PUT: Para editar recursos
DELETE: Para eliminar recursos.
REST
Representational State Transfer
Tipo de arquitectura de desarrollo web que se apoya
totalmente en el estándar HTTP.
Más simple y convencional que otras alternativas como
SOAP y XML-RPC.
Nunca se debe guardar estado en el servidor, toda la
información que se requiere para mostrar la información
que se solicita debe estar en la consulta por parte del
cliente.
REST
Leonard Richardson, padre de la arquitectura
orientada a recursos, define tres niveles de calidad
para usar REST:
Uso correcto de URIs
Uso correcto de HTTP.
Implementar Hypermedia (conectar mediante
vínculos las aplicaciones clientes con las APIs).
RESTFUL
Hace referencia a un servicio web que implementa
la arquitectura REST.
Bibliografía
Bibliografía
http://www.ibm.com/developerworks/ssa/webservices/newto/service.htmlVallecillo, Antonio. El
Futuro de los Servicios Web. Universidad de Málaga
Naranjo, Julio. Arquitectura Basada en Servicios, Microsoft.
Álvarez, José Mauricio. EL Valor de Negocio de Arquitecturas Orientadas a Servicios. Microsoft.
NET Architecture Center: Service Oriented Architecture
http://msdn.microsoft.com/architecture/soa/
Understanding Service-Oriented Architecture
http://msdn.microsoft.com/architecture/soa/default.aspx?pull=/library/en-us/dnmaj/html/aj1soa.asp
Patterns & Practices http://www.microsoft.com/resources/practices
FTPOnline: SPECIAL REPORT: Service-Oriented Architecture
http://www.ftponline.com/special/soa/

Weitere ähnliche Inhalte

Was ist angesagt?

Introduccion a la programacion web
Introduccion a la programacion webIntroduccion a la programacion web
Introduccion a la programacion webRobert Rodriguez
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosJorge Guerra
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datosjudithmore16
 
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos SqlHerramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos SqlOlaya Molina
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Diapositivas servicios web
Diapositivas servicios webDiapositivas servicios web
Diapositivas servicios webanmari23
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datoscatherine4ad
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datosIsabel
 

Was ist angesagt? (20)

Introduccion a la programacion web
Introduccion a la programacion webIntroduccion a la programacion web
Introduccion a la programacion web
 
Servidor web
Servidor webServidor web
Servidor web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos SqlHerramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
Herramientas Control, Monitoreo Y Estadisticas De Bases De Datos Sql
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Diapositivas servicios web
Diapositivas servicios webDiapositivas servicios web
Diapositivas servicios web
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
PROCESAMIENTO DE CONSULTAS
PROCESAMIENTO DE CONSULTASPROCESAMIENTO DE CONSULTAS
PROCESAMIENTO DE CONSULTAS
 
Tema 3 1
Tema 3 1Tema 3 1
Tema 3 1
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datos
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 

Andere mochten auch (20)

Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Apis, como reutilizar contenidos en tu web
Apis, como reutilizar contenidos en tu webApis, como reutilizar contenidos en tu web
Apis, como reutilizar contenidos en tu web
 
Apis webapps
Apis webappsApis webapps
Apis webapps
 
API WEB SQL ITParral
API WEB SQL ITParralAPI WEB SQL ITParral
API WEB SQL ITParral
 
Google Analytics API
Google Analytics APIGoogle Analytics API
Google Analytics API
 
OAuth and OpenID
OAuth and OpenIDOAuth and OpenID
OAuth and OpenID
 
WEB SCRAPING & API REST
 WEB SCRAPING & API REST WEB SCRAPING & API REST
WEB SCRAPING & API REST
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Elevator pitch
Elevator pitchElevator pitch
Elevator pitch
 
Uml
UmlUml
Uml
 
Modelo negocio
Modelo negocioModelo negocio
Modelo negocio
 
Scrum
ScrumScrum
Scrum
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Ceremonias scrum
Ceremonias scrumCeremonias scrum
Ceremonias scrum
 

Ähnlich wie Servicios web (20)

SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
REST
RESTREST
REST
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Paper ieee
Paper ieeePaper ieee
Paper ieee
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Presentacion Unidad 6
Presentacion Unidad 6Presentacion Unidad 6
Presentacion Unidad 6
 
Web services
Web servicesWeb services
Web services
 
Diseño Web - Introducción al Internet
Diseño Web - Introducción al InternetDiseño Web - Introducción al Internet
Diseño Web - Introducción al Internet
 
Ingeneria de software III
Ingeneria de software IIIIngeneria de software III
Ingeneria de software III
 
Ingeneria de software iii
Ingeneria de software iiiIngeneria de software iii
Ingeneria de software iii
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicas
 
WEB SERVICE.pptx
WEB SERVICE.pptxWEB SERVICE.pptx
WEB SERVICE.pptx
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Glosario
Glosario Glosario
Glosario
 
Scom5 Ws Ii
Scom5 Ws IiScom5 Ws Ii
Scom5 Ws Ii
 
Servicios web
Servicios webServicios web
Servicios web
 

Mehr von Joan Sebastián Ramírez Pérez (19)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
 
Lean canvas
Lean canvasLean canvas
Lean canvas
 
Retrospectiva
RetrospectivaRetrospectiva
Retrospectiva
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 

Servicios web

  • 1. Servicios Web Joan Sebastián Ramírez Pérez 2017
  • 2. Agenda API SOA ¿Qué es un Servicio Web? ¿Por qué usar servicios Web? SOAP REST Bibliografía
  • 3. API
  • 4. Application Programming Interface (API) Procesos, funciones y métodos que brinda una biblioteca de programación a modo de capa de abstracción para que sea empleada por otro programa informático. Conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas. Una de las claves del funcionamiento de las API es la facilidad de integración.
  • 5. SOA
  • 6. SOA Arquitectura Orientada a Servicios Paradigma de arquitectura que permite diseñar software basado en la composición de aplicaciones independientes. Creación de sistemas de información altamente escalables.
  • 7. Arquitectura Orientada a Servicios Una aproximación para construir sistemas usando servicios los cuales se adhieren a 4 pilares: Los limites son explícitos Los servicios son autónomos Los servicios comparten esquemas y contratos, no clases La compatibilidad de los servicios, se determina basados en las políticas
  • 8. Beneficios de la Arquitectura Orientada a Servicios Proveer servicios a los consumidores vía interfaces estándares, publicadas y de fácil ubicación Soluciones basadas en protocolos estándares no en productos Eleva el nivel de abstracción para reutilización del código Solventando problemas de heterogeneidad Provee de un modelo claro para integrar sistemas de software Dentro de a empresa Mas allá de las fronteras organizacionales Provee de la bases para aplicaciones conectadas de clase mundial El valor de negocio de las aplicaciones aisladas es limitado
  • 9. ¿Qué es un Servicio Web?
  • 10. Servicios Web Tecnología que permite que las aplicaciones se comuniquen en una forma que no depende de la plataforma ni del lenguaje de programación. Un servicio web es una interfaz que describe un conjunto de operaciones a las cuales se puede acceder por la red a través de mensajería estandarizada.
  • 11. ¿Por qué usar Servicios Web?
  • 12. ¿Por qué usar Servicios Web? Reuso del código Interoperabilidad con otros sistemas Posibilidad de usar microservicios como arquietctura
  • 13. SOAP
  • 14. XML Extensible Markup Language. Lenguaje que permite definir lenguajes de marcas o tags desarrollado por World Wide Web Consortium (W3C). Se usa para almacenar datos en forma legible
  • 15.
  • 16. SOAP Simple Object Access Protocol Formato de mensaje XML utilizado en interacciones de servicios web. Los mensajes SOAP habitualmente se envían sobre HTTP o JMS, pero se pueden utilizar otros protocolos. Protocolo que te permite la comunicación entre aplicaciones a través de mensajes por medio de Internet, independiente de la plataforma y el lenguaje.
  • 17. WSDL
  • 18. WSDL Web Services Description Language. Notación XML para describir un servicio web El uso de SOAP en un servicio web específico se describe mediante la definición WSDL. Una definición WSDL indica a un cliente cómo componer una solicitud de servicio web y describe la interfaz que proporciona el proveedor del servicio web.
  • 19.
  • 20. XSD Es un mecanismo para comprobar la validez de un documento XML, es decir, definir su estructura: qué elementos, qué tipos de datos, que atributos, en qué orden, cuántas veces se repiten, etc. Se compone de las etiquetas: xmlns:xsi para declarar el espacio de nombres del esquema XSD. xsi:noNamespaceSchemaLocation para vincular el documento XML con el esquema local XSD. xs:element <xs:element name="nombre" type="xs:string" default="TicArte" minOccurs="1" maxOccurs="unbounded" /> xs:attribute <xs:attribute name="moneda" type="xs:string" default="euro" use="required" />
  • 21.
  • 22. Namespaces Los espacios de nombres (namespaces) son uno de los pilares de XML Medio para organizar clases dentro de un entorno, agrupándolas de un modo más lógico y jerárquico Permiten eliminar las ambigüedades y solucionar los problemas de homonimia que se producen en los documentos, ya que en un mismo documento existen palabras con el mismo nombre, pero con diferentes significados y espacios semánticos.
  • 23. REST
  • 24. JSON JavaScript Object Notation Formato de texto ligero para el intercambio de datos Está constituído por dos estructuras: Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo. Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listas o secuencias.
  • 25. Métodos estándar HTTP GET: Para consultar y leer recursos POST: Para crear recursos PUT: Para editar recursos DELETE: Para eliminar recursos.
  • 26. REST Representational State Transfer Tipo de arquitectura de desarrollo web que se apoya totalmente en el estándar HTTP. Más simple y convencional que otras alternativas como SOAP y XML-RPC. Nunca se debe guardar estado en el servidor, toda la información que se requiere para mostrar la información que se solicita debe estar en la consulta por parte del cliente.
  • 27. REST Leonard Richardson, padre de la arquitectura orientada a recursos, define tres niveles de calidad para usar REST: Uso correcto de URIs Uso correcto de HTTP. Implementar Hypermedia (conectar mediante vínculos las aplicaciones clientes con las APIs).
  • 28.
  • 29. RESTFUL Hace referencia a un servicio web que implementa la arquitectura REST.
  • 30.
  • 32. Bibliografía http://www.ibm.com/developerworks/ssa/webservices/newto/service.htmlVallecillo, Antonio. El Futuro de los Servicios Web. Universidad de Málaga Naranjo, Julio. Arquitectura Basada en Servicios, Microsoft. Álvarez, José Mauricio. EL Valor de Negocio de Arquitecturas Orientadas a Servicios. Microsoft. NET Architecture Center: Service Oriented Architecture http://msdn.microsoft.com/architecture/soa/ Understanding Service-Oriented Architecture http://msdn.microsoft.com/architecture/soa/default.aspx?pull=/library/en-us/dnmaj/html/aj1soa.asp Patterns & Practices http://www.microsoft.com/resources/practices FTPOnline: SPECIAL REPORT: Service-Oriented Architecture http://www.ftponline.com/special/soa/