BPEL
De Wikipedia, la enciclopedia libre
Business Process Execution Language (BPEL), en castellano Lenguaje de Ejecución de Procesos de Negocio es un lenguaje que se desarrolló a partir de WSDL y XLANG, ambos lenguajes basados en XML 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 ayudan a la programación en gran escala (programming in the large).
La programación en gran escala generalmente se refiere a desarrollo de software de gran tamaño que involucran 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.
[editar] El Lenguaje BPEL
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 los grandes de la informática como lo son Oracle, BEA Systems, IBM, SAP y Microsoft entre otros.
[editar] Objetivos del diseño de BPEL
- 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 si mismas como un servicio Web.
- 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.
- 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.
- Proveer de sistemas de control jerárquicos y estilo gráfico que permitan que su uso sea fusionado lo más ininterrumpido posible. Esto reduciría la fragmentación del espacio del modelado de procesos.
- Proveer de funciones de manipulación de datos simples requeridas para definir datos de 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
- Usar servicios Web como el modelo para descomponer y ensamblar modelos.