Está en la página 1de 7

BPEL

BPEL, siglas en inglés de (Business Process Execution Language),


es un lenguaje de programación destinado para la ejecución de
Procesos Empresariales. BPEL es un descendiente de WSFL y
XLANG, y se deriva de XML. También es conocido como WS-BPEL
o Web Services- Business Process Execution Language (Lenguaje
de Ejecución de Procesos de Negocio con Servicios Web)
BPEL persigue lograr un modelo de Programación a grán escala.
Los conceptos de programación a grán escala y de Programación
a pequeña escala distinguen dos enfoques del desarrollo de
procedimientos asincrónicos de larga duración que vamos a
generalizar dentro del concepto Procesos Empresariales.
BPEL ha sido diseñado específicamente como un lenguaje para la definición de procesos de negocio.

BPEL soporta dos tipos diferentes de procesos de negocio:

Procesos de negocio Procesos abstractos de


ejecutables: negocio:

Especifican los detalles exactos de los Especifican solamente el intercambio de


procesos del negocio y pueden ser mensajes públicos entre las partes
ejecutados en una máquina de implicadas, sin incluir detalles específicos de
orquestación (orchestration engine). En la los flujos de los procesos. No son
mayoría de los casos BPEL se utiliza para ejecutables y raramente se utilizan.
procesos ejecutables
El lenguaje BPEL proporciona soporte para:

Elevados tiempos de
ejecución

Normalmente, los procesos de negocio


tardan bastante tiempo en completar su Compensación
ejecución, particularmente si éstos
implican interacciones con partners a
través de Internet. Puede ocurrir que Llamamos compensación al proceso de
dichos procesos requieran minutos,
deshacer pasos realizados en un proceso de
horas, e incluso días antes de su
negocio que ya se han completado con
finalización. Puede ocurrir que invoquen
éxito. Este concepto es uno de los más
a un servicio Web y necesiten esperar la
respuesta durante un periodo importantes en los procesos de negocio. El
relativamente largo de tiempo. objetivo de la compensación es dar marcha
atrás a los efectos de actividades previas
que ya se han llevado a cabo como parte de
un proceso de negocio que está siendo
abandonado.
Formato

El BPEL, como todo lenguaje basado en XML consta de etiquetas y cada etiqueta
tiene su semántica.
Cada documento BPEL tiene una etiqueta <process> que es el elemento raíz(en
el sentido XML de la palabra) del documento. En el interior de esta etiqueta se
encontrarán la descripción completa del proceso. Por medio del attributo name
uno puede asignarle un nombre a un proceso.
Existen muchas otras etiquetas que modifican la forma
en que la máquina ejecutora de BPEL interpreta el
fichero BPEL.

• <import>: Importar un WSDL. <reply>: Esta etiqueta permite enviar una


• respuesta a un partnerLink que esté esperando
<partnerLinks>: Permite referirse a acciones
alguna.
definidas dentro del WSDL. Los atributo
myRole y partnerRole define si esta es una <invoke>: Esta etiqueta permite hacer una llamada
acción que depende del proceso o si es una a un webservice. Ésta utiliza un partnerLink
acción llamada desde el proceso. saliente y puede o no recibir una respueta.
• <variables>: Esta acción permite la definición <forEach>: Esta etiqueta permite realizar un bucle.
de variables utilizadas por el proceso. Uno declara un contador(variable que será
• incrementada en cada iteración), un valor inicial y
<secuence>: Esta etiqueta va a contener las
un valor final. El bucle se puede ejecutar en
acciones o la estructura ligada a la ejecución
del proceso directamente. paralelo.

• <receive>: Esta etiqueta permite recibir un


dato o señal del exterior.
Objetivos del diseño de BPEL

Definir procesos de negocio que


interactúan con entidades externas
mediante operaciones de un servicio Definir procesos de negocio utilizando un
Web definidas usando WSDL 1.1 y que lenguaje basado en XML. No definir una
se manifiestan a sí mismas como interpretación gráfica de procesos o
servicios Web. proveer de una metodología de diseño en
particular.

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.
Objetivos del diseño de BPEL

Proveer sistemas de control jerárquicos


y de estilo gráfico, que permitan que su
uso sea lo más fusionado e inconsútil Proveer funciones de manipulación simple
posible. Esto reduciría la fragmentación de datos, requeridas para definir datos de
del espacio del modelado de procesos. procesos y flujos de control.

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.

También podría gustarte