Sie sind auf Seite 1von 31

Servicios Web

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

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

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

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Introduccin a los protocolos de coordinacin

Interaccin entre servicios


Cliente de Servicios

Proveedor de Servicio

Objetos
Aplicacin
(cliente)

Invocacin

Bsqueda

Objetos
Aplicacin
(servicio)

Publicacin

Pila de Estndares de Servicios Web


Ncleo del Registro UDDI

Descripciones de Servicios

Registro de Servicios

Estndares de Propsito General Infraestructura Comn


Estndares bsicos (SOAP, WSDL, UDDI, etc.)
XML
Protocolos de Transporte (HTTP, TCP/IP, SMTP,etc.)

Copyright Springer Verlag Berlin Heidelberg 2004

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Introduccin a los protocolos de coordinacin

Interaccin entre servicios


Cliente de Servicios

Proveedor de Servicio

Objetos
Aplicacin
(cliente)

Invocacin

Objetos
Aplicacin
(servicio)

La infraestructura bsica est pensada para interacciones


simples e independientes, pero (Fabio Casati et. Col.)
Bsqueda

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

Estndares de Propsito General Infraestructura Comn


Estndares bsicos (SOAP, WSDL, UDDI, etc.)
XML

Protocolos de Transporte (HTTP, TCP/IP, SMTP,etc.)


Copyright Springer Verlag Berlin Heidelberg 2004

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Introduccin a los protocolos de coordinacin

Interaccin entre servicios


Pila de Estndares de Servicios Web
Estndares de Dominio de Aplicacin
Estndares de Interaccin Infraestructura Lgica
Composicin y flujo (BPEL4WS, WSFL, Xlang, etc.)
Coordinacion e Integracin (WS-Coordination)
Estndares de Propsito General Infraestructura Comn
Estndares bsicos (SOAP, WSDL, UDDI, etc.)
XML
Protocolos de Transporte (HTTP, TCP/IP, SMTP,etc.)

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

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

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Introduccin a los protocolos de coordinacin

Coordinacin entre servicios


Cliente
House hunting
service

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

Internet DSL line


installation service

send cancelOrder

3: realizaPago

send confirmOrder

Copyright Springer Verlag Berlin Heidelberg 2004

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)

Introduccin a los protocolos de coordinacin

Coordinacin entre servicios


Cliente
House hunting
service

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

Internet DSL line


installation service

send cancelOrder

3: realizaPago

send confirmOrder

Copyright Springer Verlag Berlin Heidelberg 2004

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)

Introduccin a los protocolos de coordinacin

Coordinacin entre servicios


Cliente
House hunting
service

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

Clasificacin de los protocolos


Infraestructura de protocolos de coordinacin

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

11

Descripcin de protocolos de coordinacin

Conversacin entre un cliente y un servicio Web


solicitaPresupuesto

Estado de la conversacin

Presupuesto solicitado

encargaPedido

Copyright Springer Verlag Berlin Heidelberg 2004

cancelaPedido
Pedido cancelado

Pedido encargado

realizaPago
Pedido completado

Operacin del servicio Web


Mquinas de estado para el modelado de conversaciones a partir de las operaciones
ofertadas por la interfaz del servicio Web (WSDL)
Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

12

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web

servicio Web

1: solicitaPresupuesto

servicio Web

2: encargaPedido
Cliente

3:confirmaPedido
4: realizaPago

Proveedor

Copyright Springer Verlag Berlin Heidelberg 2004

Problema: ambas entidades imponen restricciones sobre la secuencia ordenada de


operaciones (conversaciones multi-party)

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

13

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (II)


Mensajes intercambiados

servicio Web

1: solicitaPresupuesto

servicio Web

2: encargaPedido
Cliente

3:confirmaPedido
4: realizaPago

Roles

Proveedor

Copyright Springer Verlag Berlin Heidelberg 2004

Orden de la secuencia de operaciones


Descripcin de protocolos de coordinacin

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

14

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (III)


1: solicitaPresupuesto

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

Generalizacin de conversaciones multi-party


Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

15

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (IV)

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

Descripcin de protocolos de coordinacin


Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Orden de la secuencia
de operaciones
16

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (V)

Mensajes intercambiados

1: solicitaPresupuesto

servicio Web

servicio Web

No obstante, describir protocolos es ms complejo:


2: encargaPedido
- expresar alternativas en la
conversacin por condiciones en
Cliente
Proveedor
tiempo de ejecucin
4: confirmaPedido
- excepciones
- restricciones de tiempo 5: realizaPago
7: compruebaDetallesEnvio
- propiedades
de correlacin entre los mensajes
3: confirmaStockDisponible
Roles
-

6:encargaEnvo

8: confirmaEnvo
Copyright Springer Verlag Berlin Heidelberg 2004

Almacn
9: confirmaEnvo

servicio Web

Descripcin de protocolos de coordinacin


Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Orden de la secuencia
de operaciones
17

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (VI)

Qu formalismos nos permiten


describir protocolos de
coordinacin?
No existe consenso en cmo expresar estas conversaciones
entre servicios (Fabio Casati et. Col.) aunque estn
emergiendo lenguajes estndar de descripcin de
protocolos (roles, mensajes, secuencia de mensajes, ).

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

18

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (VI)


Cliente

Proveedor

Almacn

solicitaPresupuesto
encargaPedido
confirmaStockDisponible
confirmaPedido
realizaPago
encargaEnvo
compruebaDetallesEnvio
confirmaEnvo
ConfirmaEnvo

Copyright Springer Verlag Berlin Heidelberg 2004

Diagrama de Secuencia
Arquitectura orientada a servicios Web: Conceptos y estndares
Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

19

Descripcin de protocolos de coordinacin

Conversacin entre mltiples servicios Web (VII)


Cliente

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)

Copyright Springer Verlag Berlin Heidelberg 2004

compruebaDetallesEnvo

confirmaEnvo
(al Proveedor)

Diagrama de Actividades

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

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

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

21

Protocolos de coordinacin

Clasificacin de los protocolos

Finanzas

Comunicaciones

Salud

Fabricacin

Infraestructura de protocolos

Soporte para protocolos


transacciones, fiabilidad, seguridad,
Middleware de servicios Web
(e.g., SOAP routers)

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

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

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

Ideas generales: Objetivo y herramientas software


Herramientas (Controladores y Mdulos de soporte)
Requisitos de estandarizacin

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

23

Infraestructura de protocolos de coordinacin

Ideas generales
Objetivo: alcanzar un elevado grado de automatizacin en la ejecucin
de conversaciones vlidas conforme protocolos (horizontales o
verticales)
Herramientas software:

Controlador (conversation controller)


Encamina cada mensaje de la conversacin al receptor adecuado
Verifica que los mensajes intercambiados se ajusten a la especificacin del

protocolo

Mdulos de soporte (protocol handler)


Implementan funcionalidad genrica aplicable a diferentes protocolos (nivel de

infraestrutura middleware de servicios Web) o especfica de un protocolo (nivel


de protocolo)

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

24

Infraestructura de protocolos de coordinacin

Herramientas: Controlador
Proveedor de servicio

Middleware

Objeto para P1

Clientes invocan al servicio a


travs de una direccin nica

P1
Objeto para P2

Objeto para P3

Objeto para P4

Objeto para P5

Copyright Springer Verlag Berlin Heidelberg 2004

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

El controlador redirige los mensajes a los


correspondientes objetos (estado conversacin)

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

25

Infraestructura de protocolos de coordinacin

Herramientas: Controlador (II)


Proveedor de servicio
Contenedor de EJB
EJB

EJB

SOAP router
(con controlador)

EJB
Conversin
Id a Objeto
EJB

HTTP Server

EJB
Mensajes SOAP sobreHTTP

Objetivo: estandarizar la forma de


integrar identificadores de
conversacin en los mensajes
intercambiados

Copyright Springer Verlag Berlin Heidelberg 2004

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

26

Infraestructura de protocolos de coordinacin

Herramientas: Mdulos de soporte


Implementacin del
Servicio Web (A)
Direccin de B

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

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Controlador
conversacin

27

Infraestructura de protocolos de coordinacin

Cliente del servicio

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

Copyright Springer Verlag Berlin Heidelberg 2004

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

Protocolos Horizontales

Proveedor de servicio

Protocolos Verticales

Coordinacin distribuida

28

Infraestructura de protocolos de coordinacin

Cliente del servicio

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

Copyright Springer Verlag Berlin Heidelberg 2004

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

seguridad,
transacciones,
...

Protocolos Horizontales

Proveedor de servicio

Protocolos Verticales

Coordinacin centralizada

29

Infraestructura de protocolos de coordinacin

Objeto
(implementacin SW)

Mdulos de soporte
Lgica protocolo,
codificacin, ...

Cliente del servicio


Creacin de Contextos

Lgica de
Aplicacin

Mdulos de soporte
seguridad,
transacciones,
...

Objeto
(implementacin SW)

Mdulos de soporte
Lgica protocolo,
codificacin, ...

Mdulos de soporte

Middleware

Controlador

Copyright Springer Verlag Berlin Heidelberg 2004

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

seguridad,
transacciones,
...

Protocolos Horizontales

Proveedor de servicio

Protocolos Verticales

Problemas coordinacin

30

Infraestructura de protocolos de coordinacin

Requisitos de estandarizacin
Objetivos:

Identificadores de conversacin en los mensajes SOAP (correspondencia


entre mensajes intercambiados y conversaciones)
Lenguaje estndar de descripcin de protocolos (WSCI, WSCL, etc.)
Infraestructura comn para la coordinacin que facilite la conversacin entre
servicios Web (gestin de conversaciones) (WS-Coordination, WS-CAF,
Linda, etc.)
Protocolos horizontales que ofrezcan soporte a propiedades adicionales (WSTransaction, WS-CAF, Linda Mltiples restriciones, etc.)

Arquitectura orientada a servicios Web: Conceptos y estndares


Departamento de Informtica e Ingeniera de Sistemas (Univ. Zaragoza)

31

Das könnte Ihnen auch gefallen