Diferencia entre revisiones de «BPEL»

Línea 1: Línea 1:
'''{{Mejorar}}BPEL''', siglas en inglés de ('''B'''usiness '''P'''rocess '''E'''xecution '''L'''anguage), 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]].  
+
{{Mejorar}}
 +
 
 +
'''BPEL''', siglas en inglés de ('''B'''usiness '''P'''rocess '''E'''xecution '''L'''anguage), 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]].  
  
 
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 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]].  
Línea 5: Línea 7:
 
La especificación 2.0 de éste lenguaje fue descrita por el consorcio [[OASIS]] a finales de marzo del [[2007]].  
 
La especificación 2.0 de éste lenguaje fue descrita por el consorcio [[OASIS]] a finales de marzo del [[2007]].  
  
== El documento ==
+
== El documento ==
  
 
Un documento BPEL define el proceso, o la orquestación y la lógica de las acciones que serán ejecutadas por los motores de orquestación. La estructura de un fichero BPEL es la misma de la del proceso. El programa constituye en sí el código fuente de la aplicación que ejecuta el proceso, el motor de orquestación actúa como una máquina virtual capaz de ejecutar código BPEL.  
 
Un documento BPEL define el proceso, o la orquestación y la lógica de las acciones que serán ejecutadas por los motores de orquestación. La estructura de un fichero BPEL es la misma de la del proceso. El programa constituye en sí el código fuente de la aplicación que ejecuta el proceso, el motor de orquestación actúa como una máquina virtual capaz de ejecutar código BPEL.  
  
== Formato ==
+
== Formato ==
  
 
El BPEL, como todo lenguaje basado en XML consta de etiquetas y cada etiqueta tiene su semántica.  
 
El BPEL, como todo lenguaje basado en XML consta de etiquetas y cada etiqueta tiene su semántica.  
Línea 49: Línea 51:
 
**Cuando muchas acciones son lanzadas en paralelo, puede ser indispensable especificar las relaciones entre éstas. Por ejemplo una entrada puede estar ligada a una salida. Ésta etiqueta permite relacionar los <code>&lt;invoke&gt;</code> y los <code>&lt;receive&gt;</code>. Solo puede haber una sola etiqueta de éste tipo por proyecto.
 
**Cuando muchas acciones son lanzadas en paralelo, puede ser indispensable especificar las relaciones entre éstas. Por ejemplo una entrada puede estar ligada a una salida. Ésta etiqueta permite relacionar los <code>&lt;invoke&gt;</code> y los <code>&lt;receive&gt;</code>. Solo puede haber una sola etiqueta de éste tipo por proyecto.
  
== Ver también ==
+
== Ver también ==
  
 
*[[Workflow]]  
 
*[[Workflow]]  
Línea 55: Línea 57:
 
*[[ESB]]
 
*[[ESB]]
  
== Referencias ==
+
== Referencias ==
  
 
*[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel (en) OASIS WSBPEL TC Webpage]  
 
*[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel (en) OASIS WSBPEL TC Webpage]  

Revisión del 10:04 8 nov 2010

Plantilla:Mejorar

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.

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.

La especificación 2.0 de éste lenguaje fue descrita por el consorcio OASIS a finales de marzo del 2007.

El documento

Un documento BPEL define el proceso, o la orquestación y la lógica de las acciones que serán ejecutadas por los motores de orquestación. La estructura de un fichero BPEL es la misma de la del proceso. El programa constituye en sí el código fuente de la aplicación que ejecuta el proceso, el motor de orquestación actúa como una máquina virtual capaz de ejecutar código BPEL.

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.

Ejemplo:

<process 
  name="nombreDelProceso"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
  targetNamespace="http://www.softel.cu"
  xmlns:tns="http://www.softel.cu" >
[...]
</process>

Existen muchas otras etiquetas que modifican la forma en que la máquina ejecutora de BPEL interpreta el fichero BPEL.

  • <import>
    • Importar un WSDL.
  • <partnerLinks>
    • Permite referirse a acciones definidas dentro del WSDL. Los atributo myRole y partnerRole define si esta es una acción que depende del proceso o si es una acción llamada desde el proceso.
  • <variables>
    • Esta acción permite la definición de variables utilizadas por el proceso.
  • <secuence>
    • Esta etiqueta va a contener las acciones o la estructura ligada a la ejecución del proceso directamente.
  • <receive>
    • Esta etiqueta permite recibir un dato o señal del exterior.
  • <reply>
    • Esta etiqueta permite enviar una respuesta a un partnerLink que esté esperando alguna.
  • <invoke>
    • Esta etiqueta permite hacer una llamada a un webservice. Ésta utiliza un partnerLink saliente y puede o no recibir una respueta.
  • <forEach>
    • Esta etiqueta permite realizar un bucle. Uno declara un contador(variable que será incrementada en cada iteración), un valor inicial y un valor final. El bucle se puede ejecutar en paralelo.
  • <while> o <repeatUntil>
    • son formas alternativas para realizar bucles.
  • <correlationSet>
    • Cuando muchas acciones son lanzadas en paralelo, puede ser indispensable especificar las relaciones entre éstas. Por ejemplo una entrada puede estar ligada a una salida. Ésta etiqueta permite relacionar los <invoke> y los <receive>. Solo puede haber una sola etiqueta de éste tipo por proyecto.

Ver también

Referencias