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/

Servicios web

  • 1.
    Servicios Web Joan SebastiánRamírez Pérez 2017
  • 2.
    Agenda API SOA ¿Qué es unServicio Web? ¿Por qué usar servicios Web? SOAP REST Bibliografía
  • 3.
  • 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.
  • 6.
    SOA Arquitectura Orientada aServicios 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 Unaaproximació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 laArquitectura 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 unServicio Web?
  • 10.
    Servicios Web Tecnología quepermite 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é usarServicios Web?
  • 12.
    ¿Por qué usarServicios Web? Reuso del código Interoperabilidad con otros sistemas Posibilidad de usar microservicios como arquietctura
  • 13.
  • 14.
    XML Extensible Markup Language. Lenguajeque permite definir lenguajes de marcas o tags desarrollado por World Wide Web Consortium (W3C). Se usa para almacenar datos en forma legible
  • 16.
    SOAP Simple Object AccessProtocol 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.
  • 18.
    WSDL Web Services DescriptionLanguage. 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.
  • 20.
    XSD Es un mecanismopara 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" />
  • 22.
    Namespaces Los espacios denombres (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.
  • 24.
    JSON JavaScript Object Notation Formatode 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 Tipode 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, padrede 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).
  • 29.
    RESTFUL Hace referencia aun servicio web que implementa la arquitectura REST.
  • 31.
  • 32.
    Bibliografía http://www.ibm.com/developerworks/ssa/webservices/newto/service.htmlVallecillo, Antonio. El Futurode 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/