Diferencia entre revisiones de «BPEL»

(Página creada con '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....')
 
Línea 1: Línea 1:
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]].  
  
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.  
  
Cada documento BPEL tiene una etiqueta <code><process></code> 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.
+
Cada documento BPEL tiene una etiqueta <code>&lt;process&gt;</code> 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:
+
Ejemplo: <source lang="xml">
<source lang="xml">
 
 
<process  
 
<process  
 
   name="nombreDelProceso"
 
   name="nombreDelProceso"
Línea 25: Línea 24:
 
[...]
 
[...]
 
</process>
 
</process>
</source>
+
</source>  
  
Existen muchas otras etiquetas que modifican la forma en que la máquina ejecutora de BPEL interpreta el fichero BPEL.
+
Existen muchas otras etiquetas que modifican la forma en que la máquina ejecutora de BPEL interpreta el fichero BPEL.  
  
* <code><import></code>
+
*<code>&lt;import&gt;</code>  
** Importar un WSDL.
+
**Importar un WSDL.  
* <code><partnerLinks></code>
+
*<code>&lt;partnerLinks&gt;</code>  
** 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.
+
**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.  
* <code><variables></code>
+
*<code>&lt;variables&gt;</code>  
** Esta acción permite la definición de variables utilizadas por el proceso.
+
**Esta acción permite la definición de variables utilizadas por el proceso.  
* <code><secuence></code>
+
*<code>&lt;secuence&gt;</code>  
** Esta etiqueta va a contener las acciones o la estructura ligada a la ejecución del proceso directamente.
+
**Esta etiqueta va a contener las acciones o la estructura ligada a la ejecución del proceso directamente.  
* <code><receive></code>
+
*<code>&lt;receive&gt;</code>  
** Esta etiqueta permite recibir un dato o señal del exterior.
+
**Esta etiqueta permite recibir un dato o señal del exterior.  
* <code><reply></code>
+
*<code>&lt;reply&gt;</code>  
** Esta etiqueta permite enviar una respuesta a un partnerLink que esté esperando alguna.
+
**Esta etiqueta permite enviar una respuesta a un partnerLink que esté esperando alguna.  
* <code><invoke></code>
+
*<code>&lt;invoke&gt;</code>  
** Esta etiqueta permite hacer una llamada a un webservice. Ésta utiliza un partnerLink saliente y puede o no recibir una respueta.
+
**Esta etiqueta permite hacer una llamada a un webservice. Ésta utiliza un partnerLink saliente y puede o no recibir una respueta.  
* <code><forEach></code>
+
*<code>&lt;forEach&gt;</code>  
** 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.
+
**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.  
* <code><while></code> o <code><repeatUntil></code>
+
*<code>&lt;while&gt;</code> o <code>&lt;repeatUntil&gt;</code>  
** son formas alternativas para realizar bucles.
+
**son formas alternativas para realizar bucles.  
* <code><correlationSet></code>
+
*<code>&lt;correlationSet&gt;</code>  
** 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><invoke></code> y los <code><receive></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]]  
* [[BPM]]
+
*[[BPM]]  
* [[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]  
* [http://www.choreology.com/external/WS_BPEL_issues_list.html (en) OASIS WSBPEL TC Issues List]
+
*[http://www.choreology.com/external/WS_BPEL_issues_list.html (en) OASIS WSBPEL TC Issues List]  
* [http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html (en) Specification WS-BPEL 2.0]
+
*[http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html (en) Specification WS-BPEL 2.0]
  
 
[[Category:Informática]]
 
[[Category:Informática]]

Revisión del 09:17 2 nov 2010

Plantilla:MejorarBPEL, 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