WS-BPEL

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.

Contenido

Propósito

La 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 BPEL

BPEL es un lenguaje de orquestación, no un lenguaje coreográfico (vea Coreografía de Servicio Web). La diferencia mayor 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 el 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:

  • Un mecanismo de correlación de mensajes basado en propiedades.
  • Variables del tipo XML y WSDL.
  • Un modelo de lenguaje extensible de componentes para permitir escribir expresiones y consultas (queries) en múltiples lenguajes: BPEL soporta Xpath 1.0 predeterminadamente.
  • Construcciones de programación estructurada incluyendo "if-then-elseif-else", "while", "sequence" (posibilita la ejecución de comandos en orden) y "flow" (posibilita la ejecución de comandos en paralelo).
  • Un sistema de ámbito (scoping) que permite el encapsulamiento de lógica con variables locales, manejadores de fallo, manejadores de compensación y manejadores de eventos.
  • Ámbitos serializados para controlar los accesos a las variables.

Objetivos del diseño de BPEL

  1. Definir procesos de negocio que interactúan con entidades externas mediante operaciones de un servicio Web definidas usando WSDL 1.1 y que se manifiestan a sí mismas como servicios Web.
  2. Definir procesos de negocio utilizando un lenguaje basado en XML. No definir una interpretación gráfica de procesos o proveer de una metodología de diseño en particular.
  3. Definir una serie de conceptos de orquestación de servicios Web que pretenden ser usados por vistas internas o externas de un proceso de negocio.
  4. Proveer sistemas de control jerárquicos y de estilo gráfico, que permitan que su uso sea lo más fusionado e inconsútil posible. Esto reduciría la fragmentación del espacio del modelado de procesos.
  5. Proveer funciones de manipulación simple de datos, requeridas para definir datos de procesos y flujos de control.
  6. Soportar un método de identificación de instancias de procesos que permita la definición de identificadores de instancias a nivel de mensajes de aplicaciones. Los identificadores de instancias deben ser definidos por socios y pueden cambiar.
  7. Brindar la posibilidad de la creación y terminación implícitas de instancias de procesos, como un mecanismo básico de ciclo de vida. Operaciones avanzadas de ciclo de vida como por ejemplo "suspender" y "continuar" pueden agregarse en futuras versiones para mejorar el manejo del ciclo de vida.
  8. Definir un modelo de transacción de largo plazo que se base en técnicas probadas tales como acciones de compensación y ámbito, de tal manera a brindar recuperación a fallos para partes de procesos de negocios de largo plazo.
  9. Usar servicios Web como modelo para la descomposición y ensamblaje de procesos.
  10. Construir sobre estándares de servicios Web (aprobados y propuestos) tanto como sea posible, de manera modular y extensible.

WS-BPEL y BPMN

No existe una especificación gráfica estándar para las composiciones WS-BPEL. Sin embargo, Business Process Management 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]

Referencias

  1. BPMN FAQ Object Management Group/Business Process Management Initiative

Véase también

Enlaces externos

SOA 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)


Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • BPEL — (англ. Business Process Execution Language)  язык на основе XML для формального описания бизнес процессов и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия веб служб и включает в эту модель поддержку… …   Википедия

  • BPEL — Die WS Business Process Execution Language (BPEL) ist eine XML basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind. Die im Jahr 2002 von IBM, BEA Systems und Microsoft… …   Deutsch Wikipedia

  • BPEL — Business Process Execution Language En informatique, Business Process Execution Language (ou BPEL, prononcé bipeul , ou bipèl ), est un langage de programmation destiné à l exécution des procédures d entreprise. Le BPEL est issu des langages WSFL …   Wikipédia en Français

  • WS-BPEL — Die WS Business Process Execution Language (BPEL) ist eine XML basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind. Die im Jahr 2002 von IBM, BEA Systems und Microsoft… …   Deutsch Wikipedia

  • Comparison of BPEL engines — This article is a comparison of BPEL and BPMN engines. Product Product Page Vendor Edition Release Date Framework Compatibility License ActiveVOS [1] Active Endpoints [2] 8.0 September 2010 Servlet or Java EE BPMN 2.0; WS BPEL; …   Wikipedia

  • WS-BPEL — Business Process Execution Language En informatique, Business Process Execution Language (ou BPEL, prononcé bipeul , ou bipèl ), est un langage de programmation destiné à l exécution des procédures d entreprise. Le BPEL est issu des langages WSFL …   Wikipédia en Français

  • Oracle BPEL Process Manager — is a BPEL engine that is a member of the Oracle Fusion Middleware family of products. It enables enterprises to orchestrate disparate applications and Web services into business processes. The ability to quickly build and deploy these processes… …   Wikipedia

  • Business Process Execution Language — As defined in the abstract of the Web Services Business Process Execution Language OASIS Standard WS BPEL 2.0, WS BPEL (or BPEL for short) is a language for specifying business process behavior based on Web Services. Processes in WS BPEL export… …   Wikipedia

  • BPEL4WS — Die WS Business Process Execution Language (BPEL) ist eine XML basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind. Die im Jahr 2002 von IBM, BEA Systems und Microsoft… …   Deutsch Wikipedia

  • Business Process Execution Language — Die WS Business Process Execution Language (BPEL) ist eine XML basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind. Die im Jahr 2002 von IBM, BEA Systems und Microsoft… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”