You are on page 1of 5

WS-BPEL

WS-BPEL
(Web Services) Business Process Execution Language, WS-BPEL (en castellano, Lenguaje de Ejecucin de Procesos de Negocio con Servicios Web), es un lenguaje estandarizado por OASIS para la composicin de servicios web. Est desarrollado a partir de WSFL y XLANG, ambos lenguajes orientados a la descripcin de servicios Web. Bsicamente, consiste en un lenguaje basado en XML diseado para el control centralizado de la invocacin de diferentes servicios Web, con cierta lgica de negocio aadida que ayuda a la programacin en gran escala (programming in the large). Antes de su estandarizacin se denominaba BPEL4WS.

Propsito
La programacin en gran escala generalmente se refiere al desarrollo del software de gran tamao que involucra grandes procesos de desarrollo, evolucin y mantenimiento. Por otro lado, la programacin detallada se refiere a la construccin de componentes de software pequeos y autnomos. El desarrollo de BPEL nace de la necesidad de manejar lenguajes distintos entre la programacin a gran escala y la programacin detallada, ya que en su esencia ambos tipos de desarrollo requieren de distintos grados de comunicacin con otros servicios.

El Lenguaje BPEL
BPEL es un lenguaje de orquestacin, no un lenguaje coreogrfico (vea Coreografa de Servicio Web). La diferencia mayor entre ambos es el mbito. Un modelo de orquestacin provee un mbito especficamente enfocado en la vista de un participante en particular (ej: un modelo par-a-par). En cambio, un modelo coreogrfico abarca todos los participantes y sus interacciones asociadas, dando una vista global del sistema. Las diferencias entre orquestacin y coreografa estn basadas en analogas: la orquestacin describe un control central del comportamiento como un director de orquesta, mientras que la coreografa trata sobre el control distribuido del comportamiento donde participantes individuales realizan procesos basados en eventos externos, como en una danza coreogrfica donde los bailarines reaccionan a los comportamientos de sus pares. A travs de un documento XML BPEL, un analista de negocio es capaz de representar la lgica asociada y los elementos con los que se ver relacionado. Estos elementos sern servicios Web y la lgica el proceso BPEL. Si imaginamos un flujo de negocio determinado, con una entrada A y una salida Z, este se podra componer de muchos procesos internos que se lanzaran dependiendo de valores y respuestas anteriores. BPEL sera 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 informtica 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 mtodos de definicin y soporte para flujos de trabajo y procesos de negocio El enfoque sobre procesos de negocios modernos ms el bagaje de los lenguajes WSDL y XLANG, guiaron a BPEL a adoptar los servicios Web como su mecanismo de comunicacin externa. As las facilidades de mensajera BPEL dependen del uso del WSDL para describir los mensajes entrantes y salientes. Adicionalmente a proveer facilidades para habilitar el envo y recepcin de mensajes, el lenguaje de programacin BPEL tambin posibilita: Un mecanismo de correlacin 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 mltiples lenguajes: BPEL soporta Xpath 1.0 predeterminadamente.

WS-BPEL Construcciones de programacin estructurada incluyendo "if-then-elseif-else", "while", "sequence" (posibilita la ejecucin de comandos en orden) y "flow" (posibilita la ejecucin de comandos en paralelo). Un sistema de mbito (scoping) que permite el encapsulamiento de lgica con variables locales, manejadores de fallo, manejadores de compensacin y manejadores de eventos. mbitos serializados para controlar los accesos a las variables.

Objetivos del diseo de BPEL


1. Definir procesos de negocio que interactan 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 interpretacin grfica de procesos o proveer de una metodologa de diseo en particular. 3. Definir una serie de conceptos de orquestacin de servicios Web que pretenden ser usados por vistas internas o externas de un proceso de negocio. 4. Proveer sistemas de control jerrquicos y de estilo grfico, que permitan que su uso sea lo ms fusionado e inconstil posible. Esto reducira la fragmentacin del espacio del modelado de procesos. 5. Proveer funciones de manipulacin simple de datos, requeridas para definir datos de procesos y flujos de control. 6. Soportar un mtodo de identificacin de instancias de procesos que permita la definicin 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 creacin y terminacin implcitas de instancias de procesos, como un mecanismo bsico 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 transaccin de largo plazo que se base en tcnicas probadas tales como acciones de compensacin y mbito, de tal manera a brindar recuperacin a fallos para partes de procesos de negocios de largo plazo. 9. Usar servicios Web como modelo para la descomposicin y ensamblaje de procesos. 10. Construir sobre estndares de servicios Web (aprobados y propuestos) tanto como sea posible, de manera modular y extensible.

WS-BPEL y BPMN
No existe una especificacin grfica estndar para las composiciones WS-BPEL. Sin embargo, Business Process Management Notation (BPMN) s que es una notacin estndar para procesos de negocio que incluye, adems, traduccin automtica a cdigo WS-BPEL ejecutable[1]

Referencias
[1] BPMN FAQ (http:/ / www. bpmn. org/ Documents/ FAQ. htm) Object Management Group/Business Process Management Initiative

Enlaces externos
SOA Agenda. Informacin de Inters en BPEL,BPM. (http://soaagenda.com).

Estndares (en ingls)


WS-BPEL 2.0 specification (OASIS standard) (http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf) OASIS WSBPEL TC Webpage (http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel) OASIS WSBPEL TC Issues List (http://www.choreology.com/external/WS_BPEL_issues_list.html)

WS-BPEL Latest editor's copies of OASIS WSBPEL TC Specs (http://wsbpeltc.cvs.sourceforge.net/wsbpeltc/ specifications/) The BPEL4WS 1.1 specification (http://www-128.ibm.com/developerworks/library/specification/ws-bpel/) Web Services Choreography Description Language (http://www.w3.org/TR/ws-cdl-10/)

BPEL y sitios de procesos de negocios (en ingls)


The Eclipse STP BPMN Diagram Editor (http://www.eclipse.org/stp/bpmn/) Orchestra, Open source BPEL Engine, designer, admin and real time monitoring tool (http://orchestra. objectweb.org/) ActiveBPEL, Open source BPEL server and BPEL samples (http://www.activebpel.org/) Business Process Management Initiative Web Site (http://www.bpmi.org/) Business Modeling Forum (http://www.BusinessModelingForum.com) BPEL Resource Guide (http://www.bpelsource.com/bpel_info/defined.html) Service Interaction Patterns (with BPEL code samples) (http://www.serviceinteraction.com) Service Interaction Patterns (with BPMN diagrams that match BPEL code samples) (http://www.eclarus.com/ bpel_bpmn_examples.html) The Open Source BPMS (Eclipse and Apache-based) (http://www.intalio.com) Apache ODE, Open source BPEL server (http://incubator.apache.org/projects/ode.html) NetBeans Enterprise Pack (http://www.netbeans.org/products/enterprise/) BPEL for Windows Workflow Foundation (http://www.microsoft.com/downloads/details. aspx?FamilyID=6D0DAF00-F689-4E61-88E6-CBE6F668E6A3&displaylang=en)

Artculos sobre BPEL (en ingls)


BPEL BluePrints: Web Services Orchestration Using BPEL - presented by the Java BluePrints Solutions Catalog (http://blueprints.dev.java.net/bpcatalog/ee5/soa/) "SOA Best Practices: The BPEL Cookbook" - BPEL howto's from Oracle (http://www.oracle.com/technology/ pub/articles/bpel_cookbook/index.html) "Pattern-based Evaluation of Oracle BPEL" (http://is.tm.tue.nl/research/patterns/download/Oracle_BPEL_v. 10.1.2.pdf) "What is BPEL and Why is it so important to my business?" - BPEL Primer from SoftCare (http://www. softcare.com/whitepapers/wp_whatis_bpel.php) Description of the upcoming changes from BPEL 1.1 to BPEL 2.0 (http://webservices.sys-con.com/read/ 155617.htm) Oracle Article: Weaving Web Services Together (http://www.oracle.com/technology/oramag/oracle/04-jul/ o44dev_web.html) BPEL for Programmers and Architects (http://www.bptrends.com/publicationfiles/BPEL4ProgArchies.pdf) (slides) The Promise of Portable Business Processes (http://ftpna2.bea.com/pub/downloads/BPEL4WS_WSJ.PDF) BPEL and Java (http://www.theserverside.com/tt/articles/article.tss?l=BPELJava) Process-centric realization of SOA: BPEL moves into the limelight (http://webservices.sys-con.com/read/ 46870.htm?CFID=131177&CFTOKEN=141F4729-FFA1-12C2-68DED6CB7C6E5134) Validating BPEL Specifications using OCL (http://www.cs.kent.ac.uk/pubs/2004/2027/content.pdf) IBM Article: Business Process Choreography in WebSphere: Combining the Power of BPEL and J2EE (http:// www.research.ibm.com/journal/sj/432/kloppmann.html) BPEL Primer (http://elementallinks.typepad.com/bmichelson/2005/09/view_bpel_proce.html) WS-BPEL Extension for Sub-processes, BPEL-SPE (http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/ docs/library/uuid/5cbf3ac6-0601-0010-25ae-ccb3dba1ef47)

WS-BPEL Analysis of Web Services Composition Languages: The Case of BPEL4WS (http://eprints.qut.edu.au/archive/ 00001776) BPEL Begone - How useful is this Standard? (http://blog.whatfettle.com/2007/01/13/bpel-begone/) Pattern-based Evaluation of IBM WebSphere BPEL (ftp://ftp.informatik.uni-stuttgart.de/pub/library/medoc. ustuttgart_fi/STUD-2052/STUD-2052.pdf) BPEL in SCA assembly model (http://khanderaotech.blogspot.com/2007/02/bpel-in-sca-assembly-model. html)

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


WS-BPEL Fuente: http://es.wikipedia.org/w/index.php?oldid=50478746 Contribuyentes: Airunp, Alexgsr, Arco10, Edgard Berendsen, Edub, El Pantera, Er conde, Esacchi, Flafus, HnZeKtO, Kausario, Paintman, Resped, Sonett72, Xatufan, 36 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

You might also like