<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Espacio SOA &#187; XPDL</title>
	<atom:link href="http://www.espaciosoa.net/category/xpdl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.espaciosoa.net</link>
	<description>Un Espacio para el Mundo SOA y BPM</description>
	<lastBuildDate>Tue, 26 May 2009 11:29:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BPMN, XPDL y BPEL&#8230; cuál escoger?</title>
		<link>http://www.espaciosoa.net/2007/06/08/bpmn-xpdl-y-bpel-cual-escoger/</link>
		<comments>http://www.espaciosoa.net/2007/06/08/bpmn-xpdl-y-bpel-cual-escoger/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 12:46:35 +0000</pubDate>
		<dc:creator>Kike</dc:creator>
				<category><![CDATA[BPM]]></category>
		<category><![CDATA[BPMN]]></category>
		<category><![CDATA[WS-BPEL]]></category>
		<category><![CDATA[XPDL]]></category>

		<guid isPermaLink="false">http://www.espaciosoa.net/2007/06/08/bpmn-xpdl-y-bpel-cual-escoger/</guid>
		<description><![CDATA[BPMN implementa una notación de modelo para procesos, concretamente el conjunto original de especificaciones propuestas por BPMI (Business Process Managment Iniciative), ahora parte del OMG (Object Management Group). Se trata de una notación gráfica de los pasos y actividades de un proceso de negocio. Modela tanto la secuencia de actividades como los datos o mensajes [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><a href="http://en.wikipedia.org/wiki/BPMN" target="_blank">BPMN</a> implementa una notación de modelo para procesos, concretamente el conjunto original de especificaciones propuestas por BPMI (Business Process Managment Iniciative), ahora parte del OMG (Object Management Group). Se trata de una notación gráfica de los pasos y actividades de un proceso de negocio. Modela tanto la secuencia de actividades como los datos o mensajes intercambiados entre los distintos participantes. BPMN no está pensado para modelar aplicaciones, sino procesos que correrán dentro de dichas aplicaciones. Por ello, la salida de BPMN necesita ser expresado en algo que no sea un lenguaje programático. Es aquí donde entra en juego BPML (metalenguaje desarrollado por BPMI). Así, a través de BPML disponemos de la traducción de un formato gráfico (para ser leido por personas) a un formato leible por máquinas (y permitir el intercambio entre distintas herramientas).<br />
En ausencia de BPML, nos encontramos con BPEL y XPDL como soluciones a esa traducción:</p>
<p><a href="http://en.wikipedia.org/wiki/BPEL" target="_blank">BPEL</a> es un lenguaje ejecutable con sus variables y operaciones. Las operaciones permiten enviar y recibir mensajes SOAP y tiene un gran soporte para XML y transformaciones XML. Además, permite de manera fácil invocar múltiples servicios web al mismo tiempo y sincronizar los resultados.<br />
BPEL no tiene soporte gráfico; es decir, no especifica como deben ser los diagramas interpretativos de los procesos que define.<br />
El objetivo de BPEL es ofrecer una forma de orquestar servicios web, la secuencia de interacciones subyacente y el flujo de datos punto a punto.</p>
<p><a href="http://en.wikipedia.org/wiki/Xpdl" target="_blank">XPDL</a>, por su lado, especifica un formato de diseño de los procesos. Permite una representación gráfica de los procesos incluyendo coordenadas X e Y para cada nodo implementado. Además, los nodos pueden especificar atributos tales como roles, descripción de actividades, timers, llamadas a servicios web, etc&#8230; Suele ser preferido cuando se trata de implementar procesos o workflows con interacciones humanas, ya que en esto supera a BPEL (para soportar interacciones humanas, BPEL necesita de añadidos a la especificación, lo cual dificulta su portabilidad ya que suelen ser implementaciones propietarias de cada proveedor).<br />
El objetivo de XPDL es almacenar y permitir el intercambio de diagramas de procesos. Intenta ofrecer una manera estándar para representar procesos de tal manera que puedan ser importados/exportados por cualquier editor que implemente el estándar.<br />
XPDL 2.0 tiene extensiones que permite representar todos los aspectos de BPMN.</p>
<p>A veces, el intercambio de procesos BPEL entre distintas herramientas no es todo lo satisfactorio que se desearía (ya que cada proveedor implemente BPEL &#8220;a su manera&#8221;; incluso cuando el objetivo inicial de la especificación era la unificación en la forma de implementarlo).<br />
Por el contrario, XPDL en su representación de BPMN si es transportable de una herramienta a otra (ya que luego cada proveedor realiza su conversión de XPDL a BPEL según necesite; o incluso ejecuta XPDL de forma nativa). Por eso, XPDL se puede establecer como un formato ideal para intercambio de procesos entre distintos proveedores que transformarán los desarrollos al formato BPEL adecuado a sus necesidades.</p>
<p>BPEL y XPDL no son competidores entre sí, ya que pueden ser complementarios según el uso que se haga de ellos. De hecho, a partir de un modelo BPMN podemos pasar a un proceso BPEL ejecutable por un motor de una herramienta.<br />
Igualmente a partir de un proceso BPMN podemos obtener una implementacion XPDL (de hecho, desde la versión XPDL 2.0 esto es inmediato en ambos sentidos) que puede ser ejecutada por algunos motores de forma nativa. La desventaja del paso de BPMN a BPEL es que no siempre se puede hacer el camino inverso (lo que dificulta la exportación/importación entre herramientas). Pero tampoco hay una necesidad imperiosa de ello: BPEL y XPDL están pensados para cosas distintas; pero pueden ser complementarias si se utilizan de esa manera.</p>
<p>Es interesante la aproximación a la cadena de valor BPMN-XPDL-BPEL que se detalla en el artículo &#8220;<a href="http://www.bijonline.com/index.cfm?section=article&amp;aid=806#" target="_blank">Understanding the BPMN-XPDL-BPEL Value Chain</a>&#8221; de Nathaniel Palmer:</p>
<ol>
<li>El usuario genera un diagrama con notación BPMN del proceso que quiere construir.</li>
<li>Se guardan los diagramas parciales como XPDL durante el desarrollo. En el caso de XPDL 2.0 esto es inmediato.</li>
<li>Finalmente se traducen ciertas partes a BPEL (básicamente en lo que a intercambio de datos se refiere, no a interacciones humanas donde BPEL no es adecuado ya que necesita de modulos específicos que son diferentes en su implementación por los distintos fabricantes).</li>
</ol>
<p>¿Qué creeis? ¿Habéis utilizado alguna vez alguno de estos estándares?</p>
<p>Espero que cuando menos se hallan disipado alguna de las dudas acerca de las tres implementaciones más conocidas de que disponemos para crear Procesos de Negocio.</p>
<p><strong>Links interesantes:</strong></p>
<p><a href="http://kswenson.wordpress.com/2006/05/26/bpmn-xpdl-and-bpel/" target="_blank">The BPMN-XPDL-BPEL value chain (Go Flow)</a><br />
<a href="http://www.wfmc.org/standards/xpdl.htm" target="_blank">Recursos XPDL (WFMC)</a><br />
<a href="http://www.bpmn.org/" target="_blank">Recursos BPMN (OMG)</a><br />
<a href="http://www.oasis-open.org/committees/wsbpel/" target="_blank">Recursos BPEL (OASIS)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.espaciosoa.net/2007/06/08/bpmn-xpdl-y-bpel-cual-escoger/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
