Beruflich Dokumente
Kultur Dokumente
Captulo 8:
Conceptos bsicos de
Coordinacin de Servicios
Pedro J. lvarez
alvaper@unizar.es
Jos ngel Baares
banares@unizar.es
http://iaaa.cps.unizar.es/docencia/SWDoct.html
Departamento de Informtica e Ingeniera de Sistemas
ndice Captulo 8
Interaccin entre servicios
Introduccin a los protocolos de coordinacin
Descripcin de protocolos de coordinacin
Clasificacin de los protocolos
Infraestructura de protocolos de coordinacin
ndice Captulo 8
Interaccin entre servicios
Introduccin a los protocolos de coordinacin
Descripcin de protocolos de coordinacin
Clasificacin de los protocolos
Infraestructura de protocolos de coordinacin
Proveedor de Servicio
Objetos
Aplicacin
(cliente)
Invocacin
Bsqueda
Objetos
Aplicacin
(servicio)
Publicacin
Descripciones de Servicios
Registro de Servicios
Proveedor de Servicio
Objetos
Aplicacin
(cliente)
Invocacin
Objetos
Aplicacin
(servicio)
Publicacin
Se necesitan:
Pila de Estndares de Servicios Web
- Formalismos capaces de describir las interacciones entre
los servicios Web
- AbstraccionesDescripciones
que declaren
propiedades adicionales
de Servicios
requeridas por las interacciones
de Servicios
- InfraestructuraRegistro
a nivel
de middleware para interpretar y
ejecutar estas descripciones formales
Ncleo del Registro UDDI
ndice Captulo 8
Interaccin entre servicios
Introduccin a los protocolos de coordinacin
Descripcin de protocolos de coordinacin
Clasificacin de los protocolos
Infraestructura de protocolos de coordinacin
Packaging service
Shipment service
Flight reservation
service
Proveedor
1: solicitaPresupuesto (servicio Web)
2: encargaPedido
receive orderGoods
invoke
checkLocalStock
inStock=false
invoke
checkShipAvailable
Phone line
installation service
inStock=true
shippingAvail=true
send cancelOrder
3: realizaPago
send confirmOrder
Definiciones:
En aplicaciones reales, la interaccin entre clientes y servidores consta de una
secuencia ordenada de operaciones (conversacin)
No todas las posibles secuencias ordenadas son vlidas, por ejemplo, no se
puede encargar un pedido previamente a solicitar su presupuesto
El conjunto de conversaciones vlidas se describe en un protocolo de
coordinacin
Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
Packaging service
Shipment service
Flight reservation
service
Proveedor
1: solicitaPresupuesto (servicio Web)
2: encargaPedido
receive orderGoods
invoke
checkLocalStock
inStock=false
invoke
checkShipAvailable
Phone line
installation service
inStock=true
shippingAvail=true
send cancelOrder
3: realizaPago
send confirmOrder
Implicaciones:
Desde el punto de vista del proveedor, es necesario describir sus protocolos
(WSDL no ofrece abstracciones para su descripin) y disponer de capacidad
de gestionar varias conversaciones concurrentemente
Desde el punto de vista del cliente, su lgica interna debe integrar la gestin
de las conversaciones en las que est involucrado (secuenciamiento, variables
de correlacin, etc.)
Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
Packaging service
Shipment service
Flight reservation
service
Proveedor
1: solicitaPresupuesto (servicio Web)
2: encargaPedido
receive orderGoods
invoke
checkLocalStock
inStock=false
invoke
checkShipAvailable
Phone line
installation service
Internet DSL line
installation service
inStock=true
shippingAvail=true
send cancelOrder
send confirmOrder
3: realizaPago
Copyright Springer Verlag Berlin Heidelberg 2004
Inters actual:
Cmo describir la lgica interna de un cliente que implementa una conversacin
concreta? (lenguajes de programacin convencionales, flujos, privado?...)
Descripcin de protocolos de coordinacin (semejante a la descripcin en WSDL
de las interfaces de los servicios...WSCI?, WSCL?)
Automatizar el control a partir de las descripciones de los protocolos +
Infraestructura de coordinacin capaz de interpretar y ejecutar los protocolos
(WS-Coordination, Linda,...)
Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
10
ndice Captulo 8
Interaccin entre servicios
Introduccin a los protocolos de coordinacin
Descripcin de protocolos de coordinacin
Conversacin entre un cliente y un servicio Web
Conversacin entre mltiples servicios Web
11
Estado de la conversacin
Presupuesto solicitado
encargaPedido
cancelaPedido
Pedido cancelado
Pedido encargado
realizaPago
Pedido completado
12
servicio Web
1: solicitaPresupuesto
servicio Web
2: encargaPedido
Cliente
3:confirmaPedido
4: realizaPago
Proveedor
13
servicio Web
1: solicitaPresupuesto
servicio Web
2: encargaPedido
Cliente
3:confirmaPedido
4: realizaPago
Roles
Proveedor
14
servicio Web
servicio Web
2: encargaPedido
Cliente
Proveedor
4: confirmaPedido
5: realizaPago
7: compruebaDetallesEnvio
3: confirmaStockDisponible
6:encargaEnvo
8: confirmaEnvo
Copyright Springer Verlag Berlin Heidelberg 2004
Almacn
9: confirmaEnvo
servicio Web
15
Mensajes intercambiados
1: solicitaPresupuesto
servicio Web
servicio Web
2: encargaPedido
Cliente
Proveedor
4: confirmaPedido
5: realizaPago
7: compruebaDetallesEnvio
Roles
3: confirmaStockDisponible
6:encargaEnvo
8: confirmaEnvo
Copyright Springer Verlag Berlin Heidelberg 2004
Almacn
9: confirmaEnvo
servicio Web
Orden de la secuencia
de operaciones
16
Mensajes intercambiados
1: solicitaPresupuesto
servicio Web
servicio Web
6:encargaEnvo
8: confirmaEnvo
Copyright Springer Verlag Berlin Heidelberg 2004
Almacn
9: confirmaEnvo
servicio Web
Orden de la secuencia
de operaciones
17
18
Proveedor
Almacn
solicitaPresupuesto
encargaPedido
confirmaStockDisponible
confirmaPedido
realizaPago
encargaEnvo
compruebaDetallesEnvio
confirmaEnvo
ConfirmaEnvo
Diagrama de Secuencia
Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)
19
Proveedor
Almacn
solicitaPresupuesto
(al Proveedor)
encargaPedido
(al Proveedor)
confirmaStockDisponible
(al Almacn)
Almacn
confirma
confirmarPedido
realizaPago
(al Proveedor)
(al Cliente)
Almacn
cancela
cancelaPedido
(al Cliente)
encargaEnvo
(al Almacn)
(al Cliente)
confirmaEnvo
(al Almacn)
compruebaDetallesEnvo
confirmaEnvo
(al Proveedor)
Diagrama de Actividades
20
ndice Captulo 8
Interaccin entre servicios
Introduccin a los protocolos de coordinacin
Descripcin de protocolos de coordinacin
Clasificacin de los protocolos
Infraestructura de protocolos de coordinacin
21
Protocolos de coordinacin
Finanzas
Comunicaciones
Salud
Fabricacin
Infraestructura de protocolos
Protocolos Verticales.
(especficos del dominio de
Aplicacin)
Por ejemplo, RosettaNet,
XCBL y parte de ebXML
Protocolos Horizontales
(protocolos middleware),
abstracciones de alto nivel
para soportar protocolos
verticales. Por ejemplo,
WS-Coordination y
WS-Transaction
Mensajes SOAP
Copyright Springer Verlag Berlin Heidelberg 2004
22
ndice Captulo 8
Interaccin entre servicios
Introduccin a los protocolos de coordinacin
Descripcin de protocolos de coordinacin
Clasificacin de los protocolos
Infraestructura de protocolos de coordinacin
23
Ideas generales
Objetivo: alcanzar un elevado grado de automatizacin en la ejecucin
de conversaciones vlidas conforme protocolos (horizontales o
verticales)
Herramientas software:
protocolo
24
Herramientas: Controlador
Proveedor de servicio
Middleware
Objeto para P1
P1
Objeto para P2
Objeto para P3
Objeto para P4
Objeto para P5
P1
P2
P3
Controlador de
la conversacin
P4
P2, P3
Cliente del
servicio
Cliente del
servicio
P4, P5
P5
Conversin
Id a Objeto
Cliente del
servicio
25
EJB
SOAP router
(con controlador)
EJB
Conversin
Id a Objeto
EJB
HTTP Server
EJB
Mensajes SOAP sobreHTTP
26
Ports de referencia
Implementacin del
Servicio Web (B)
Rol de B
Rol de A
Mdulo de
soporte (A)
Direccin de A
Mdulo de
soporte (B)
Mensajes (protocolo)
Controlador
conversacin
Controlador
conversacin
27
Objeto
(implementacin SW)
Mdulos de soporte
Lgica protocolo,
codificacin, ...
Objeto
(implementacin SW)
Lgica de
Aplicacin
Mdulos de soporte
seguridad,
transacciones,
...
Mdulos de soporte
Lgica protocolo,
codificacin, ...
Mdulos de soporte
Middleware
Controlador
seguridad,
transacciones,
...
Controlador
Protocolos Horizontales
Proveedor de servicio
Protocolos Verticales
Coordinacin distribuida
28
Objeto
(implementacin SW)
Mdulos de soporte
Lgica protocolo,
codificacin, ...
Objeto
(implementacin SW)
Lgica de
Aplicacin
Mdulos de soporte
seguridad,
transacciones,
...
Mdulos de soporte
Lgica protocolo,
codificacin, ...
Mdulos de soporte
Middleware
Controlador
seguridad,
transacciones,
...
Protocolos Horizontales
Proveedor de servicio
Protocolos Verticales
Coordinacin centralizada
29
Objeto
(implementacin SW)
Mdulos de soporte
Lgica protocolo,
codificacin, ...
Lgica de
Aplicacin
Mdulos de soporte
seguridad,
transacciones,
...
Objeto
(implementacin SW)
Mdulos de soporte
Lgica protocolo,
codificacin, ...
Mdulos de soporte
Middleware
Controlador
seguridad,
transacciones,
...
Protocolos Horizontales
Proveedor de servicio
Protocolos Verticales
Problemas coordinacin
30
Requisitos de estandarizacin
Objetivos:
31