stringtranslate.com

Coreografía del servicio

La coreografía de servicios en informática empresarial es una forma de composición de servicios en la que el protocolo de interacción entre varios servicios asociados [ aclaración necesaria ] se define desde una perspectiva global. [1] La idea subyacente al concepto de coreografía de servicios se puede resumir de la siguiente manera:

“Los bailarines bailan siguiendo un escenario global sin un único punto de control”

Es decir, en tiempo de ejecución cada participante en una coreografía de servicio ejecuta su parte de acuerdo con el comportamiento de los otros participantes. [2] El rol de una coreografía especifica el comportamiento de mensajería esperado de los participantes que la ejecutarán en términos de la secuencia y el tiempo de los mensajes que pueden consumir y producir. [3]

La coreografía describe la secuencia y las condiciones en las que se intercambian datos entre dos o más participantes con el fin de cumplir algún propósito útil. [4]

Coreografía de servicios y orquestación de servicios

La coreografía de servicios se entiende mejor a través de la comparación con otro paradigma de composición de servicios: la orquestación de servicios . Por un lado, en las coreografías de servicios la lógica de las interacciones basadas en mensajes entre los participantes se especifica desde una perspectiva global. En la orquestación de servicios, por otro lado, la lógica se especifica desde el punto de vista local de un participante controlador, llamado el orquestador . En el lenguaje de orquestación de servicios BPEL , por ejemplo, la especificación de la orquestación de servicios (por ejemplo, el archivo de proceso BPEL) es un flujo de trabajo que se puede implementar en la infraestructura de servicios (por ejemplo, un motor de ejecución BPEL como Apache ODE ). La implementación de la especificación de orquestación de servicios transforma un flujo de trabajo en un servicio compuesto. [5]

En cierto sentido, la coreografía y las orquestaciones de servicios son dos caras de la misma moneda. Por un lado, los roles de una coreografía de servicios pueden extraerse como orquestaciones de servicios a través de un proceso llamado proyección . [6] A través de la proyección es posible realizar esqueletos , es decir, orquestaciones de servicios incompletas que pueden usarse como líneas base para realizar los servicios web que participan en la coreografía de servicios. Por otro lado, las orquestaciones de servicios ya existentes pueden componerse en coreografías de servicios.

Representación de coreografías de servicio

Las coreografías de servicios no se ejecutan: se ponen en práctica . Una coreografía de servicios se pone en práctica cuando sus participantes ejecutan sus roles. [7] Es decir, a diferencia de la orquestación de servicios, las coreografías de servicios no son ejecutadas por algún motor en la infraestructura de servicios, sino que "suceden" cuando se ejecutan sus roles. Esto se debe a que la lógica de la coreografía de servicios se especifica desde un punto de vista global y, por lo tanto, no la realiza un solo servicio como en la orquestación de servicios.

La pregunta clave que gran parte de la investigación sobre coreografía intenta responder es esta: supongamos que se construye una coreografía global que describe las posibles interacciones entre los participantes en una colaboración. ¿Qué condiciones debe obedecer la coreografía para garantizar que la colaboración tenga éxito ? Aquí, tiene éxito significa que el comportamiento emergente que resulta cuando se lleva a cabo la colaboración, con cada participante actuando independientemente de acuerdo con su propio esqueleto , sigue exactamente la coreografía a partir de la cual se proyectaron originalmente los esqueletos. Cuando este es el caso, se dice que la coreografía es realizable . [8] En general, determinar la realizabilidad de una coreografía es una pregunta no trivial, particularmente cuando la colaboración utiliza mensajería asincrónica y es posible que diferentes participantes envíen mensajes simultáneamente.

Idiomas de la coreografía de servicios

En el ámbito de las especificaciones relativas a servicios Web , las siguientes especificaciones se han centrado en definir lenguajes para modelar coreografías de servicios:

Además, la especificación OMG BPMN versión 2.0 incluye diagramas para modelar coreografías de servicios. [9]

Las propuestas académicas para los lenguajes de la coreografía de servicios incluyen:

Además, se han propuesto una serie de formalismos coreográficos de servicios basados ​​en:

Coreografía de servicios web

La coreografía de servicios web ( WS-Choreography ) es una especificación del W3C que define un lenguaje de modelado de procesos de negocio basado en XML que describe protocolos de colaboración entre participantes de servicios web que cooperan , en los que los servicios actúan como pares y las interacciones pueden ser duraderas y con estado. ( La orquestación es otro término con un significado muy similar, pero aún así diferente ).

El esfuerzo principal para obtener una coreografía, el Grupo de Trabajo de Coreografía de Servicios Web del W3C, se cerró el 10 de julio de 2009 [24] dejando a WS-CDL como Recomendación Candidata.

"Muchas presentaciones en el Taller del W3C sobre servicios Web del 11 y 12 de abril de 2001 apuntaron a la necesidad de una interfaz común y un lenguaje de composición para ayudar a abordar la coreografía. El Borrador de trabajo de requisitos de arquitectura de servicios Web creado por el Grupo de trabajo de arquitectura de servicios Web también incluye la idea de las capacidades de coreografía de servicios Web como un factor crítico de éxito , en apoyo de varios objetivos de alto nivel diferentes para la naciente arquitectura de servicios Web"[1].

El problema de la coreografía fue de gran interés para la industria en esa época; se presentaron al W3C iniciativas como WSCL (Web Service Conversation Language) y WSCI (Web Service Choreography Interface) que se publicaron como notas técnicas. Además, se lanzaron iniciativas complementarias: [25]

"En junio de 2002, Intalio, Sun, BEA y SAP publicaron una especificación conjunta denominada Interfaz de coreografía de servicios web (WSCI). Esta especificación también se envió al W3C como nota en agosto de 2002. Desde entonces, el W3C ha formado un nuevo grupo de trabajo denominado Grupo de trabajo de coreografía de servicios web dentro de la Actividad de servicios web. La especificación WSCI es una de las principales aportaciones al Grupo de trabajo de coreografía de servicios web, que publicó una recomendación candidata sobre la versión 1.0 de WS-CDL el 9 de noviembre de 2005"[3]. "XLang, WSFL y WSCI ya no reciben soporte de ninguna organización o empresa de normalización. BPEL sustituyó a Xlang y WSFL. WSCI fue reemplazado por WS-CDL "[4].

La próxima versión 2.0 de Business Process Modeling Notation introducirá diagramas para especificar coreografías de servicios. [9]

El ámbito académico ha propuesto otros lenguajes de coreografía de servicios, por ejemplo Let's Dance, [10] BPEL4Chor [11] y MAP. [19]

Paradigmas de coreografías de servicios

Las coreografías de servicios especifican interacciones basadas en mensajes entre los participantes desde una perspectiva global. De la misma manera que los lenguajes de programación se pueden agrupar en paradigmas de programación , los lenguajes de coreografía de servicios se pueden agrupar en estilos : [26]

Proyectos de investigación sobre coreografías

Hay varios proyectos de investigación activos sobre el tema de la coreografía de servicios.

Véase también

Referencias

  1. ^ Modelo de conocimiento S-Cube: Coreografía de servicios
  2. ^ Chris Peltz: Orquestación y coreografía de servicios web. IEEE Computer (COMPUTER) 36(10):46-52 (2003)
  3. ^ Jianwen Su, Tevfik Bultan, Xiang Fu, Xiangpeng Zhao: Hacia una teoría de coreografías de servicios web. WS-FM 2007:1-16
  4. ^ "Descripción general del modelo de coreografía WS". 24 de marzo de 2004. Consultado el 16 de febrero de 2019 .
  5. ^ Arellanes, Damian; Lau, Kung-Kiu (2017). "Conectores exógenos para la composición jerárquica de servicios" (PDF) . 2017 IEEE 10th Conference on Service-Oriented Computing and Applications (SOCA) . Kanazawa: IEEE. págs. 125–132. doi :10.1109/SOCA.2017.25. ISBN. 9781538613269. Número de identificación del sujeto  31211787.
  6. ^ Hongli Yang, Xiangpeng Zhao, Chao Cai, Zongyan Qiu: "Explorando la conexión entre la coreografía y la orquestación con el manejo de excepciones y la finalización/compensación". FORTE 2007:81-96
  7. ^ Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer: Análisis basado en modelos de obligaciones en la coreografía de servicios web. AICT/ICIW 2006:149
  8. ^ Ashley McNeile: Contratos de protocolo con aplicación a colaboraciones multipartitas coreografiadas. Computación orientada a servicios y aplicaciones, volumen 4, número 2, 109-136 (2010)
  9. ^ de Jack Vaughan: BPMN 2.0 agrega notación para manejar la coreografía BPM. SearchSOA.com, 22 de octubre de 2009
  10. ^ abc Johannes Maria Zaha, Alistair P. Barros, Marlon Dumas , Arthur HM ter Hofstede : Let's Dance: Un lenguaje para el modelado del comportamiento de servicios. Conferencias OTM 2006:145-162
  11. ^ abc Gero Decker, Oliver Kopp, Frank Leymann, Mathias Weske : BPEL4Chor: Ampliación de BPEL para modelar coreografías. ICWS 2007:296-303
  12. ^ "Lenguaje de programación Chor".
  13. ^ Carbone, Marco; Montesi, Fabrizio (2013). Libertad de interbloqueo por diseño: Programación global asincrónica multipartidaria . doi :10.1145/2429069.2429101.
  14. ^ Gero Decker, Mathias Weske : Ejecución local en redes de Petri interactivas. BPM 2007:305-319
  15. ^ Karsten Schmidt: Controlabilidad de redes de flujo de trabajo abiertas. EMISA 2005:236-249
  16. ^ Nadia Busi, Roberto Gorrieri, Claudio Guidi, Roberto Lucchi, Gianluigi Zavattaro: Conformidad de coreografía y orquestación para el diseño de sistemas. COORDINACIÓN 2006:63-81
  17. ^ Tevfik Bultan, Jianwen Su, Xiang Fu: Análisis de conversaciones de servicios web. IEEE Internet Computing (INTERNET) 10(1):18-25 (2006)
  18. ^ Michele Mancioppi, Manuel Carro, Willem-Jan van den Heuvel, Mike P. Papazoglou: protocolos comerciales multilaterales sólidos para redes de servicios. ICSOC 2008:302-316
  19. ^ de Adam Barker, Christopher D. Walton, David Robertson: Choreographing Web Services. IEEE Transactions on Services Computing, volumen 2, número 2, páginas 152-166, IEEE Computer Society, abril-junio de 2009
  20. ^ ShuiGuang Deng, Zhaohui Wu, Mengchu Zhou, Ying Li, Jian Wu: Compatibilidad del servicio de modelado con Pi-cálculo para coreografía. ER 2006:26-39
  21. ^ Paolo Besana, Adam Barker: Un cálculo ejecutable para la coreografía de servicios. Conferencias OTM 2009:373-380
  22. ^ Raman Kazhamiakin, Marco Pistore: Análisis de las condiciones de realización para coreografías de servicios web. FORTE 2006:61-76
  23. ^ Zongyan Qiu, Xiangpeng Zhao, Chao Cai, Hongli Yang: hacia la base teórica de la coreografía. WWW 2007:973-982
  24. ^ Grupo de trabajo de coreografía de servicios web en W3
  25. ^ Carta
  26. ^ Gero Decker, Oliver Kopp, Alistair P. Barros: Introducción a las coreografías de servicio (Servicechoreographien - eine Einführung). it - Tecnología de la información (TI) 50(2):122-127 (2008)
  27. ^ Modelo de conocimiento S-Cube: modelo de coreografía de interacción
  28. ^ Modelo de conocimiento S-Cube: modelo de coreografía de interfaz interconectada

Enlaces externos