WS-BPEL
(Web Services) Business Process Execution Language, WS-BPEL (en castellano, Lenguaje de Ejecución de Procesos de Negocio con Servicios Web), es un lenguaje estandarizado por OASIS para la composición de servicios web. Está desarrollado a partir de WSFL y XLANG, ambos lenguajes orientados a la descripción de servicios Web. Básicamente, consiste en un lenguaje basado en XML diseñado para el control centralizado de la invocación de diferentes servicios Web, con cierta lógica de negocio añadida que ayuda a la programación en gran escala (programming in the large). Antes de su estandarización se denominaba BPEL4WS. PropósitoLa programación en gran escala generalmente se refiere al desarrollo del software de gran tamaño que involucra grandes procesos de desarrollo, evolución y mantenimiento. Por otro lado, la programación detallada se refiere a la construcción de componentes de software pequeños y autónomos. El desarrollo de BPEL nace de la necesidad de manejar lenguajes distintos entre la programación a gran escala y la programación detallada, ya que en su esencia ambos tipos de desarrollo requieren de distintos grados de comunicación con otros servicios. El Lenguaje BPELBPEL es un lenguaje de orquestación, no un lenguaje coreográfico (vea Coreografía de Servicio Web). La mayor diferencia entre ambos es el ámbito. Un modelo de orquestación provee un ámbito específicamente enfocado en la vista de un participante en particular (ej: un modelo par-a-par). En cambio, un modelo coreográfico abarca todos los participantes y sus interacciones asociadas, dando una vista global del sistema. Las diferencias entre orquestación y coreografía están basadas en analogías: la orquestación describe un control central del comportamiento como un director de orquesta, mientras que la coreografía trata sobre el control distribuido del comportamiento donde participantes individuales realizan procesos basados en eventos externos, como en una danza coreográfica donde los bailarines reaccionan a los comportamientos de sus pares. A través de un documento XML BPEL, un analista de negocio es capaz de representar la lógica asociada y los elementos con los que se verá relacionado. Estos elementos serán servicios Web y la lógica del proceso BPEL. Si imaginamos un flujo de negocio determinado, con una entrada A y una salida Z, este se podría componer de muchos procesos internos que se lanzarían dependiendo de valores y respuestas anteriores. BPEL sería el encargado de orquestar todo el proceso ordenando qué proceso ejecutar (servicio Web) y en qué momento. Este lenguaje fue concebido por grandes de la informática como Oracle, BEA Systems, IBM, SAP y Microsoft entre otros. Es un lenguaje de alto nivel que lleva el concepto de servicio un paso adelante al proporcionar métodos de definición y soporte para flujos de trabajo y procesos de negocio. El enfoque sobre procesos de negocios modernos más el bagaje de los lenguajes WSDL y XLANG, guiaron a BPEL a adoptar los servicios Web como su mecanismo de comunicación externa. Así las facilidades de mensajería BPEL dependen del uso del WSDL para describir los mensajes entrantes y salientes. Adicionalmente a proveer facilidades para habilitar el envío y recepción de mensajes, el lenguaje de programación BPEL también posibilita:
Objetivos del diseño de BPEL
WS-BPEL y BPMNNo existe una especificación gráfica estándar para las composiciones WS-BPEL. Sin embargo, Business Process Modeling Notation (BPMN) sí que es una notación estándar para procesos de negocio que incluye, además, traducción automática a código WS-BPEL ejecutable[1] ReferenciasVéase también
Enlaces externosSOA Agenda. «Información de Interés en BPEL,BPM.». Estándares (en inglés)
BPEL y sitios de procesos de negocios (en inglés)
Artículos sobre BPEL (en inglés)
|