Tuesday, December 14, 2010

diferencia entre orquestacion y coreografía

Leyendo y leyendo, todavía no he encontrado ningún artículo que ponga claramente cual es la diferencia entre estos conceptos. Al final, creo que hemos sacado una conculsión que cualquiera que crea que es erronea que lo diga.
Un Web service debe ser un servicio de negocio. Este servicio (de negocio) tiene un conjunto de operaciones (operaciones informáticas) que hay que ejecutarlas para llevarlas a buen termino de este servicio de negocio. Por ejemplo, para hacer una compra en una Web, tienes un WS con un conjunto de operaciones (informáticas). Para realizar la compra tienes que llamar a las operaciones de buscar libro, seleccionar libro, introducir usuario,  y validar compra. Todas las operaciones son un servicio de negocio definidas dentra de un WS.

Para llevar a cabo la ejecucion de un WS y no de una sola de las operaciones, temenos que coordinar las llamadas entre cada una de las operaciones de los Web Services. La coordinacion de estas operaciones es la orquestación. Hay un director que regula cada una de las llamadas. Estas llamadas se pueden realizar con BPEL para dirigir el flujo, aunque existe un estandar de Oasis para tal fin  http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-os.pdf 

Si queremos realizar una composicion de WS distintos, por ejemplo, comprar un libro y enviarlo para regalo, debemos coordinar las distintas llamadas de los WS de negocio, el WS de compra, empresa A y el WS de la empresa de envío del regalo, empresa B.
Cuando queremos llamar a varios WS (distintos negocios) para hacer algun tipo de servicio compuesto, estas llamadas se realizan una detras de otras a través de un BPEL, por ejemplo. Esto es una coreografia. Cada uno de los servicios sabe como actuar, bailan de manera autónoma ( ya que se ha definido en la orquestación), colaboran para dar un servicio compuesto.

No comments:

Post a Comment