Documentos de Académico
Documentos de Profesional
Documentos de Cultura
E. Servicios Web PDF
E. Servicios Web PDF
1
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Tabla de contenidos
Introducción
Protocolos
Conceptos
Arquitecturas de servicios web
Localización y seguridad
Orquestación y coreografía
Plataformas actuales
Calidad
2
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Introducción
Internet ha favorecido a la necesidad de
integración de sistemas muy heterógeneos:
Software
Hardware
Introducción
Solución es buscar un lenguaje común de
intercambio de información aprovechando los
estándares que existen.
Así es como nacen los SERVICIOS WEB
basados en XML.
Un servicio web es una colección de
protocolos y estándares que sirven para
intercambiar datos entre aplicaciones.
El concepto de intercambio → interoperabilidad se
adopta mediante estándares abiertos.
4
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Introducción
Los servicios proporcionan mecanismos de
comunicación estándares entre diferentes
aplicaciones.
5
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Protocolos: Precedentes
SMTP/MIME
correo electrónico es todavía uno de los
sistemas dominantes
FTP, NNTP
HTTP/HTTPS y el lenguaje HTML
protocolos que dan popularidad a Internet
6
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Protocolos: Precedentes
DCE de OSF – basado en RPC, procedural
ORB – orientado a objetos, mayoritariamente síncrono
CORBA, COM/DCOM/COM+/.NET de Microsoft, Java RMI/EJBs
MOM – orientada a mensaje, comunicación síncrona así
como asíncrona
Muchas implementaciones propietarias
JMS como ejemplo de Java API estándar
7
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Conceptos
8
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Conceptos
Características
Usados en entornos con necesidad de comunicación entre
plataformas heterogéneas
Usar servicios desde clientes esparcidos por la web
9
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Conceptos
Características
intercambio de
mensajes
aplicación aplicación
protocolo para registro y
descubrimiento de descubrimiento de localización UDDI
servicios servicios
mensajería mensajería
comunicación entre procesos incluyendo
empaquetado / desempaquetado de datos XML,SOAP
transporte transporte
envío de mensajes TCP,HTTP
protocolo de red para la
red red transmisión física y IP
encaminamiento de paquetes
Conceptos
11
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Conceptos
Conceptos
Ventajas:
13
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Conceptos
Inconvenientes:
14
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Centrado en Documento
el servicio recibe un documento XML, y el documento contiene sólo datos y no
vinculaciones explícitas a la lógica de negocio a aplicar
no son invocados método específicos en el servicio.
el servicio web aplica la lógica de negocio al documento XML, y el contenido del
documento determina el flujo de trabajo.
Ej: servicio web de agencia de viajes.
1. se recibe una petición: documento XML con los datos
2. se procesa
3. se responde de acuerdo al contenido del documento
16
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Centrado en mensajes
Débilmente acoplados
Centrados en el “contrato” (proporcionado por el documento WSDL)
17
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
18
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
SOAP
Protocolo de comunicación para los servicios web
XML.
Incluye aspectos como invocación a objetos o
servicio de nombres, pero no los especifica.
Define el formato XML para los mensajes, es decir,
un fragmento XML correctamente definido e incluido
en un par de elementos SOAP es un mensaje SOAP.
Se puede especificar la representación de datos.
Permite utilizar SOAP para realizar llamadas a
procedimientos remotos, es decir, se puede utilizar
para implementar aplicaciones de tipo RPC con un
mensaje SOAP que contiene una función invocable.
Normalmente emplea HTTP pero NO es necesario.
20
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
SOAP
Accesible a través de una URL
Servidor web en http://www.sd.com
Ej: http://www.sd.com/
Nombre del servicio (endpoint)
Servicio web en la ruta /Servicio
Ej: http://www.sd.com/Servicio
Operación
Habilitando operaciones
Nombre: Concat
Ej: concatenar
Único nombre global para las
operaciones (namespace) Operación
Globalmente únicos
Ej: http://www.sd.com/ope
Internet
21
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
22
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
<foo:concatenarResponse
Mensaje de respuesta XML xmlns:foo="http://www.sd.com/ope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"
xsi:type="xsd:string">
texto1texto2
</foo:concatenarResponse>
23
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
SOAP:
No es lo mismo la especificación SOAP que las
múltiples implementaciones de dicha especificación.
A día de hoy nadie escribe mensajes SOAP
directamente sino que se utilizan software de apoyo:
Microsoft SOAP Toolkit o Apache Tookit. El primero
traduce llamadas de funciones de COM a SOAP,
mientras el segundo de JAVA a SOAP, es decir, son
implementaciones concretas.
Implementado en diferentes hardware y software, es
decir, multiplataforma.
UBICUIDAD de HTTP y la simplicidad de CORBA los
hacen ideales para usar en WS.
25
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
WSDL
Documento XML que describe un conjunto de mensajes
SOAP y cómo se realiza el intercambio de mensajes.
Al ser XML es legible y editable.
Especifica contenido de un mensaje de petición y el
aspecto del mensaje de respuesta en una notación
inequívoca.
Se basa en el estándar XML Schema y es
INDEPENDIENTE del lenguaje de programación, es
decir, es clave para describir interfaces pues se basa en
estándares.
También indica dónde está el servicio y el protocolo de
comunicación.
Entre las herramientas más usadas están en .NET
26
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
[Tipos]
WSDL es similar a IDL
más flexible y extensible {Mensajes}
Binding
Se puede acceder a un tipo de puerto usando diferentes formatos
Ej: SOAP
28
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Estructura
Web Services Description Language. (2013, October 31). In Wikipedia, The Free Encyclopedia.
http://en.wikipedia.org/w/index.php?title=Web_Services_Description_Language&oldid=579589757 29
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Bottom-up
Dirigido por el componente servidor
Ligado a la implementación del componente inicial
Generando WSDL y códigos adicionales (clientes, etc.)
Ej: en Java con JAX-WS, herramienta wsgen
30
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Operaciones
CRUD (Create, Read, Update, Delete → PUT, GET, POST,
DELETE → etc.)
Códigos de estado (HTTP) a devolver
32
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
services"
Se suelen distribuir con "toolkits" que describen las interfaces en los
33
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
34
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Resumen:
Estilo de integración de aplicaciones
[Pautasso et al., 2008]
SOAP
REST WS*
35
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Localización
Universal Description, Discovery and Integration (UDDI)
Etc.
Proporciona
Soporte para taxonomías de entidades UDDI
APIs estándar para acceder al registro
Soporte I18n (internacionalización)
Modelo de seguridad
Arquitectura y Servicios de Internet – Servicios web
Seguridad
WS-Security
Protocolos de seguridad para servicios web
Garantías de integridad y seguridad
A nivel de aplicación sobre el mensaje SOAP
Autenticación: cómo transferir token de seguridad
Integridad (XML Signature)
Confidencialidad (XML Encription)
Alternativa
Trabajar con TLS con HTTPS
Encriptación punto a punto
37
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Orquestación y coordinación
Orquestación
Servicios web gestionados por un único punto
central (otro WS)
Componiendo un proceso de negocio
Coreografía
Cada WS sabe en qué momento tiene que
actuar
Descentralizada
Basada en la colaboración y el intercambio de
mensajes en procesos públicos
38
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Plataformas actuales
.NET
WebLogic
WebSphere
Axis y Jakarta Tomcat
Java Servicios Web Development Pack
ColdFusion
JOnAS
Novell exteNd
Zope
VERASTREAM
39
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Calidad
No se puede definir CALIDAD para un WebService.
40
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
41
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
42
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>
Arquitectura y Servicios de Internet – Servicios web
Bibliografía
Liu, M. L (2004) Computación Distribuida. Addison-Wesley
Capítulo 11. Aplicaciones de Internet – Parte 2
Tong Ka Iok, Kent (2006) Developing Web Services with Apache
Axis TipTec Development ISBN 1-4116-7032-9
Pautasso, C., Zimmermann, O. And Leymann, F. (2008) RESTful
Web Services vs. "Big" Web Services: Making the Right
Architectural Decision. IW3C2 2008.
43
Universidad de Burgos - Francisco J. Rodríguez <fjrdiaz@ubu.es>