<?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>Workflow's World &#187; jBPM</title>
	<atom:link href="http://www.workflowsworld.com/category/jbpm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.workflowsworld.com</link>
	<description>Sigue el camino marcado...</description>
	<lastBuildDate>Mon, 31 May 2010 16:00:55 +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>jBPM + Reflection</title>
		<link>http://www.workflowsworld.com/2009/02/jbpm-reflection/</link>
		<comments>http://www.workflowsworld.com/2009/02/jbpm-reflection/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 13:04:48 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Descarga]]></category>
		<category><![CDATA[Ejemplo]]></category>
		<category><![CDATA[Reflection]]></category>

		<guid isPermaLink="false">http://www.workflowsworld.com/?p=168</guid>
		<description><![CDATA[hello
]]></description>
			<content:encoded><![CDATA[<p>hello</p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2009/02/jbpm-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplo Básico jBPM (y II)</title>
		<link>http://www.workflowsworld.com/2009/01/ejemplo-basico-jbpm-y-ii/</link>
		<comments>http://www.workflowsworld.com/2009/01/ejemplo-basico-jbpm-y-ii/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 09:23:45 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Básico]]></category>
		<category><![CDATA[Ejemplo]]></category>

		<guid isPermaLink="false">http://www.workflowsworld.com/?p=116</guid>
		<description><![CDATA[Para el ejemplo he utilizado lo mínimo , como veis no tengo ni ficheros de configuración , ni los de test ni nada&#8230; queda así mi estructura básica :
Como veis hay un paquete basico.init donde se va a iniciar la aplicación, un paquete basico.action donde está el handle de las acciones que definamos en los [...]]]></description>
			<content:encoded><![CDATA[<p>Para el ejemplo he utilizado lo mínimo , como veis no tengo ni ficheros de configuración , ni los de test ni nada&#8230; queda así mi estructura básica :</p>
<p><img class="aligncenter size-full wp-image-117" title="config" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/config.jpg" alt="config" width="252" height="252" />Como veis hay un paquete basico.init donde se va a iniciar la aplicación, un paquete basico.action donde está el handle de las acciones que definamos en los workflows y un directorio almacen-jPDL donde voy a almacenar el/los workflow/s que vayamos haciendo.</p>
<p>Para crear un nuevo workflow&#8230; botón derecho sobre el directorio donde lo quereis crear y elegir New, Other,  process definition.</p>
<p><img class="aligncenter size-full wp-image-119" title="seleccprocessdefinition" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/seleccprocessdefinition.gif" alt="seleccprocessdefinition" width="209" height="58" /></p>
<p>El workflow es muy simple, simplemente simulará el encendido de un botón y finalizará el workflow</p>
<p><img class="aligncenter size-full wp-image-118" title="wfboton" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/wfboton.jpg" alt="wfboton" width="181" height="263" />Después de dibujarlo, hay que añadir las acciones&#8230; a mi me resulta más comodo hacerlo por código, modificar el xml directamente. El contenido es el siguiente :</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</p>
<p>&lt;process-definition  xmlns=&#8221;urn:jbpm.org:jpdl-3.3&#8243;  name=&#8221;Boton&#8221;&gt;<br />
&lt;start-state name=&#8221;Inicio&#8221;&gt;<br />
&lt;transition to=&#8221;Boton ON&#8221; name=&#8221;Pulsa Boton&#8221;&gt;<br />
&lt;action name=&#8221;action&#8221; class=&#8221;basico.action.MessageActionHandler&#8221;&gt;<br />
&lt;message&gt;Pulsando Boton&lt;/message&gt;<br />
&lt;/action&gt;<br />
&lt;/transition&gt;<br />
&lt;/start-state&gt;<br />
&lt;node name=&#8221;Boton ON&#8221;&gt;<br />
&lt;action name=&#8221;action&#8221; class=&#8221;basico.action.MessageActionHandler&#8221;&gt;<br />
&lt;message&gt;Boton en posicion ON&lt;/message&gt;<br />
&lt;/action&gt;<br />
&lt;transition to=&#8221;Fin&#8221; name=&#8221;Fin&#8221;&gt;<br />
&lt;action name=&#8221;action&#8221; class=&#8221;basico.action.MessageActionHandler&#8221;&gt;<br />
&lt;message&gt;Proceso terminado&lt;/message&gt;<br />
&lt;/action&gt;<br />
&lt;/transition&gt;<br />
&lt;/node&gt;<br />
&lt;end-state name=&#8221;Fin&#8221;&gt;&lt;/end-state&gt;<br />
&lt;/process-definition&gt;</p></blockquote>
<p>La aplicación donde cargaremos y ejecutaremos el workflow es la siguiente :</p>
<blockquote><p>package basico.init;</p>
<p>import java.io.FileInputStream;<br />
import java.io.FileNotFoundException;</p>
<p>import org.jbpm.graph.def.ProcessDefinition;<br />
import org.jbpm.graph.exe.ProcessInstance;</p>
<p>public class Start {</p>
<p>public static void main(String[] args) throws FileNotFoundException {<br />
FileInputStream fis = new FileInputStream(&#8220;almacen-jPDL/Boton/processdefinition.xml&#8221;);<br />
ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(fis);<br />
ProcessInstance instance = new ProcessInstance(processDefinition);<br />
instance.signal(&#8220;Pulsa Boton&#8221;);<br />
instance.signal(&#8220;Fin&#8221;);<br />
}<br />
}</p></blockquote>
<p>Simplemente cargamos el fichero processdefinition.xml, parseamos el xml en la estructura ProcessDefinition y creamos una instancia del workflow. Con esto ya tendremos nuestro workflow preparado para recibir las ordenes.</p>
<p>La primera es &#8220;Pulsa Boton&#8221; que nos llevará al nodo Boton ON y ejecutará una acción&#8230; esta acción se define aqui :</p>
<blockquote><p>package basico.action;</p>
<p>import org.jbpm.graph.def.ActionHandler;<br />
import org.jbpm.graph.exe.ExecutionContext;</p>
<p>public class MessageActionHandler implements ActionHandler {</p>
<p>private static final long serialVersionUID = 1L;</p>
<p>String message;</p>
<p>public void execute(ExecutionContext context) throws Exception {<br />
context.getContextInstance().setVariable(&#8220;message&#8221;, message);<br />
System.out.println(message);<br />
}<br />
}</p></blockquote>
<p>El resultado final una vez ejecutado el workflow son los siguientes mensajes en la pantalla</p>
<blockquote><p>Pulsando Boton<br />
Boton en posicion ON<br />
Proceso terminado</p></blockquote>
<p>Fácil no?</p>
<p>Ahora os podeis bajar el código del ejemplo <a href="http://www.workflowsworld.com/descargas/">aquí</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6118847205948522";
/* 468x15, creado 10/02/09 */
google_ad_slot = "3489477131";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2009/01/ejemplo-basico-jbpm-y-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplo Básico jBPM (I)</title>
		<link>http://www.workflowsworld.com/2009/01/ejemplo-basico-jbpm-i/</link>
		<comments>http://www.workflowsworld.com/2009/01/ejemplo-basico-jbpm-i/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 10:57:22 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Ejemplo]]></category>
		<category><![CDATA[Iniciación]]></category>

		<guid isPermaLink="false">http://www.workflowsworld.com/?p=95</guid>
		<description><![CDATA[Algunas personas me han pedido que ponga algun ejemplo sencillo porque no les funciona el ejemplo básico que hay en el tutorial de jbpm.
Haré un ejemplo básico básico, de hecho, quitaré todo aquello que no se utilice, como ficheros de configuración, bases de datos&#8230; incluso se puede prescindir de la estructura inicial de ficheros que [...]]]></description>
			<content:encoded><![CDATA[<p>Algunas personas me han pedido que ponga algun ejemplo sencillo porque no les funciona el ejemplo básico que hay en el tutorial de jbpm.<br />
Haré un ejemplo básico básico, de hecho, quitaré todo aquello que no se utilice, como ficheros de configuración, bases de datos&#8230; incluso se puede prescindir de la estructura inicial de ficheros que propone jBPM.</p>
<p>Lo primero, vamos a iniciar el proyecto&#8230;</p>
<p style="text-align: center;"><img class="size-full wp-image-96 aligncenter" title="paso1" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/paso1.gif" alt="paso1" width="485" height="489" /></p>
<p>Elegimos Process Project y procedemos a darle un nombre</p>
<p style="text-align: center;"><img class="size-full wp-image-97 aligncenter" title="paso2" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/paso2.gif" alt="paso2" width="495" height="228" /></p>
<p>Nos pide configurar el JBoss jBPM Runtime&#8230; asi que buscamos el directorio donde nos hayamos instalado</p>
<p>el jBPM, sigo a partir del tutorial donde explico la instalacion del jBPM 3.3.0GA.</p>
<p><img class="aligncenter size-full wp-image-98" title="paso3" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/paso3.gif" alt="paso3" width="689" height="690" /></p>
<p><img class="aligncenter size-full wp-image-99" title="paso4" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/paso4.gif" alt="paso4" width="483" height="181" /></p>
<p>El nombre se lo poneis vosotros&#8230; que sea un nombre característico, porque ireis actualizando las librerias con nuevas versiones que si no vais con un poco de cuidado se lia bastante la cosa.</p>
<p><img class="aligncenter size-full wp-image-100" title="paso5" src="http://www.workflowsworld.com/wp-content/uploads/2009/01/paso5.gif" alt="paso5" width="480" height="108" /></p>
<p>A continuación elegis el Core jBPM al que le habeis dado nombre en el paso anterior y seleccionais el cuadro para que te genere el simple process definition, action handler y JUnit test. Generalmente es más fácil empezar con esto aunque para el ejemplo básico voy a crear el proyecto totalmente vacio.</p>
<p>Le dais a finalizar y ya teneis la estructura necesaria para empezar.</p>
<p>He encontrado también un video bastante majo para empezar, aunque es de una versión más antigua, os puede ayudar bastante. Aprovecha toda la estructura visual de eclipse&#8230; se configura todo por menus y tal&#8230; el mio será totalmente por código.</p>
<p><a href="http://docs.jboss.com/jbpm/v3/demos/movies/jbpm-overview.htm">Demo jBPM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2009/01/ejemplo-basico-jbpm-i/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Instalando jBPM 3.3.0GA en Ganymedes</title>
		<link>http://www.workflowsworld.com/2009/01/instalando-jbpm-330ga-en-ganymedes/</link>
		<comments>http://www.workflowsworld.com/2009/01/instalando-jbpm-330ga-en-ganymedes/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 17:03:43 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Instalación]]></category>

		<guid isPermaLink="false">http://www.workflowsworld.com/?p=79</guid>
		<description><![CDATA[Ahora que vuelvo de vacaciones me ha dado por mirar las nuevas versiones del jBPM.
Hace poco salió el jBPM 3.3.0GA, y ha tocado pelearse un poco por un par de problemillas&#8230; Lo primero es que ya te viene con un bonito instalador con el que tropecé un par de veces (alguna torpeza mia, alguna error [...]]]></description>
			<content:encoded><![CDATA[<p>Ahora que vuelvo de vacaciones me ha dado por mirar las nuevas versiones del jBPM.</p>
<p>Hace poco salió el jBPM 3.3.0GA, y ha tocado pelearse un poco por un par de problemillas&#8230; Lo primero es que ya te viene con un bonito instalador con el que tropecé un par de veces (alguna torpeza mia, alguna error que otro del jbpm y algún error que otro de descarga de paquetes&#8230;).<br />
En el menú te permite descargarte opcionalmente el Eclipse, el JBoss 4.2.2 y la GWT Console&#8230; si estais empezando de cero, bajaros todo&#8230; aunque recomiendo bajaros aparte el Eclipse, por claridad más que nada.</p>
<p>Una vez instalado todo, podeis seguir las instrucciones que puse en el  post anterior &#8220;Instalando jBPM en eclipse 3.4&#8243;. a partir de la instalación de las jBossTools.</p>
<p>Eso si&#8230; en esta versión hay un pequeño (o gran) error por ahi, como bien nos comentan en el foro de jboss jBPM</p>
<p><a href="http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;t=145459">&#8220;Problems with jBPM 3.3.0 GA and the GPD&#8221;</a> . La solución es bien sencilla&#8230; simplemente modificar el archivo <span class="postbody">&#8216;version.info.xml&#8217; en &#8217;src/resources/gpd&#8217; por esto : </span></p>
<pre>&lt;jbpm-version-info name="jBPM3" namespace="urn:jbpm.org:jpdl-3.3"&gt;

  &lt;classpathentry path="lib/jbpm-jpdl.jar" src="src/jbpm-jpdl-sources.jar" /&gt;
  &lt;classpathentry path="lib/jbpm-identity.jar" src="src/jbpm-identity-sources.jar" /&gt;

  &lt;classpathentry path="lib/antlr.jar" /&gt;
  &lt;classpathentry path="lib/asm.jar"/&gt;
  &lt;classpathentry path="lib/bsh.jar"/&gt;
  &lt;classpathentry path="lib/cglib.jar"/&gt;
  &lt;classpathentry path="lib/commons-collections.jar"/&gt;
  &lt;classpathentry path="lib/commons-logging.jar"/&gt;
  &lt;classpathentry path="lib/dom4j.jar"/&gt;
  &lt;classpathentry path="lib/hibernate.jar"/&gt;
  &lt;classpathentry path="lib/hsqldb.jar"/&gt;
  &lt;classpathentry path="lib/junit.jar"/&gt;
  &lt;classpathentry path="lib/log4j.jar"/&gt;

  &lt;config path="config"/&gt;
  &lt;examples path="examples" /&gt;

&lt;/jbpm-version-info&gt;
</pre>
<p>También ha salido hace prácticamente una semana el jBPM 4.0.0Alpha,  pero mejor me espero un poquillo que los &#8220;Alpha&#8221; son muy traicioneros&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2009/01/instalando-jbpm-330ga-en-ganymedes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conceptos de modelado de procesos en jBPM</title>
		<link>http://www.workflowsworld.com/2008/12/conceptos-de-modelado-de-procesos-en-jbpm/</link>
		<comments>http://www.workflowsworld.com/2008/12/conceptos-de-modelado-de-procesos-en-jbpm/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 16:30:05 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Conceptos]]></category>

		<guid isPermaLink="false">http://www.workflowsworld.com/?p=74</guid>
		<description><![CDATA[Aquí os dejo un poco de teoria necesaria para comprender jBPM&#8230; La mayoria de cosas las he sacado de la página de Red Hat
Process definition : Representa una especificacion formal de un proceso de negocio y esta basado en un grafo dirigido. El grafo esta compuesto por nodos y transiciones. Cada nodo en el grafo [...]]]></description>
			<content:encoded><![CDATA[<p>Aquí os dejo un poco de teoria necesaria para comprender jBPM&#8230; La mayoria de cosas las he sacado de la página de Red Hat</p>
<p><strong>Process definition</strong> : Representa una especificacion formal de un proceso de negocio y esta basado en un grafo dirigido. El grafo esta compuesto por nodos y transiciones. Cada nodo en el grafo es de un tipo específico y este define su comportamiento en tiempo de ejecución.</p>
<p><strong>Token</strong> : Es la ejecucion de un “camino” o “ruta”. Un token es el concepto en tiempo de ejecucion que mantiene un puntero a un nodo en el grafo.</p>
<p><strong>Process Instance</strong> : Ejecucion de un process definition. Cuando una instancia se crea, lo hace tambien un token, este es llamado por el “root” token de la instancia del proceso que lo posicionara en el estado inicial.</p>
<p><strong>Signal</strong> : Insta al token a continuar la ejecucion del grafo. Digamos que es la señal que ahce que avance nuestro camino por el grafo. Si hay varias transiciones el signal deberia estar acompañado de un identificador que le diga que camino seguir, sino por defecto seguira el primero definido.</p>
<p><strong>Nodes</strong> : Cuando un token entra en un nodo, este se ejecuta, son los responsables ellos mismos de la continuacion de la ejecucion del grafo. Como he dicho antes cada tipo de nodo implementa un comportamiento diferente de la ejecucion del grafo. Un nodo que no propaga su ejecución se comportará como un State.</p>
<p>El nodo tiene dos funciones principales:</p>
<p>    * Ejecutar codigo java (que hará la funcion del nodo)</p>
<p>    * Propagar la ejecucion del grafo, y ante esto tiene varias opciones :</p>
<ul>
<li>No propagarlo : Con lo que se quedaria como un estado de espera.</li>
<li>Propagarlo a través de una transición</li>
<li>Crear una nueva ruta de ejecución. Un nodo puede crear un nuevos tokens y tener nuevas rutas (como lo hace el fork)</li>
<li>Finalizar la ruta de ejecucion.</li>
</ul>
<p>- En general, un nodo puede cambiar la estructura entera de la instancia del proceso. La estructura en tiempo de ejecucion es una instancia de proceso que contiene un arbol de tokens. Cada token representa una ruta de ejecucion. Un nodo puede crear y finalizar tokens, poner cada token en un nodo del grafo y lanzar tokens sobre transiciones.</p>
<p><strong>Tipos</strong>: Ya os comentaré los tipos de nodos y su función dentro del modelado de procesos. Por ahora os nombro los que son :</p>
<p>    * Node Task</p>
<p>    * State</p>
<p>    * Fork and Join</p>
<p>    * Decision</p>
<p>    * Node</p>
<p><strong>Transitions</strong> : Las transiciones tienen un nodo origen y uno destino, puede tener un nombre (lo mas recomendable es darle un nombre siempre, porque mas de un problema he tenido por esto <img src='http://www.workflowsworld.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). En caso de que tengan el mismo nombre dos transiciones siempre cogerá la primera transición que se definió.</p>
<p><strong>Actions</strong> : Codigo java que se ejecutan en los eventos producidos en la ejecución del proceso. Digamos que son los detalles tecnicos y estos no se contemplan graficamente. Hay que diferenciar entre las acciones que se disparan mediante eventos y las acciones que se colocan en un nodo. Las primeras no tienen influciencia sobre el flujo del proceso mientras que la accion que se pone en el nodo tiene la responsabilidad de propagar la ejecución.</p>
<p><strong>Events</strong> : Son las ocurrencias definidas en el grafo, los principales son entrar en un nodo, dejar el nodo o coger una transicion.</p>
<p><strong>Swimlanes</strong> : Representa roles y su mision principal es dar tareas a una persona o grupo de personas. No son visuales, así que no podremos ver a quien corresponde cada tarea simplemente viendo la representación del grafo.</p>
<p><strong>Process Variables</strong> : Datos contextuales que una instancia de proceso construye durante su ejecución.</p>
<p><strong>Process State</strong> : Usado cuando necestamos modelar subprocesos que ajusten con procesos de mas alto nivel. Permite mayor abstraccion para proyectos de gran envergadura.</p>
<p><strong>Super State</strong> : Es una manera de modelar un grupo de nodos, esto nos ayudará a crear una jerarquía dentro del process definition.</p>
<p><strong>Process graph</strong> : Grafo hecho con nodos y transiciones. En jBPM viene especificado por el fichero processdefinition.xml.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6118847205948522";
/* 468x15, creado 10/02/09 */
google_ad_slot = "3489477131";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2008/12/conceptos-de-modelado-de-procesos-en-jbpm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Process Management with JBoss jBPM</title>
		<link>http://www.workflowsworld.com/2008/11/business-process-management-with-jboss-jbpm/</link>
		<comments>http://www.workflowsworld.com/2008/11/business-process-management-with-jboss-jbpm/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 12:30:07 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Libros]]></category>

		<guid isPermaLink="false">http://www.workflowsworld.com/?p=35</guid>
		<description><![CDATA[El otro dia compré un libro sobre jBPM, de hecho creo que me compré el único libro sobre jBPM que hay en la actualidad&#8230; algo que me parece un poco insólito dada la potencia de jBPM y su &#8220;futuro&#8221; dentro de las arquitecturas software.

Un libro muy ameno e interesante, hecho para los analistas de negocio [...]]]></description>
			<content:encoded><![CDATA[<p>El otro dia compré un libro sobre jBPM, de hecho creo que me compré el <strong>único</strong> libro sobre jBPM que hay en la actualidad&#8230; algo que me parece un poco insólito dada la potencia de jBPM y su &#8220;futuro&#8221; dentro de las arquitecturas software.</p>
<p style="text-align: center;"><a href="http://www.packtpub.com/jboss-jbpm/book"><img class="aligncenter" src="http://www.codebeach.com/blog/uploaded_images/jboss_jbpm-772595.jpg" alt="JBoss JBPM" width="240" height="240" /></a></p>
<p>Un libro muy ameno e interesante, hecho para los analistas de negocio (bussiness analysts) o para programadores que empiezan a iniciarse en este mundillo.</p>
<p>La cosa es que el libro empieza <strong>planteandote un proyecto software</strong>, dando detalles de todo tipo, desde las personas que deberian participar en el proyecto hasta la instalación y programación del jbpm y mysql. Eso si, sin una sola línea de código, cosa que agradeceran los analistas y que igual se le queda un poco corto a los programadores, aunque cuando terminas el libro sabes usar perfectamente la interfaz jBPM y entiendes la estructura y lo que pretendian los programadores de jBPM al hacer cada pestaña del workframe.</p>
<p>También como he dicho se toca la parte de base de datos, hace un repasito de <strong>Hypersonic </strong>y se pone a trabajar con <strong>mySQL </strong>creando e insertando tablas,recuperando datos&#8230; vamos lo justito para que se pueda entender todo.</p>
<p>Y para finalizar, jugamos un poco monitorizando la aplicación, y nos presenta la plataforma <strong>SeeWhy </strong>para estas lides y para interpretar los datos que nos vienen del servidor jbpm.</p>
<p>En conclusion un libro muy interesante que nos presenta un proyecto muy bien elaborado y organizado, desde su etapa de recogida de requerimientos hasta la puesta en marcha y presentacion de datos finales.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2008/11/business-process-management-with-jboss-jbpm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jBPM y MySQL</title>
		<link>http://www.workflowsworld.com/2008/10/jbpm-y-mysql/</link>
		<comments>http://www.workflowsworld.com/2008/10/jbpm-y-mysql/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 17:19:30 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://workflowers.wordpress.com/?p=39</guid>
		<description><![CDATA[Jbpm tiene un gestor de base de datos asociado mas o menos decente llamado Hypersonic, para hacer tus pruebas desarrollos, prototipados, probar persistencia, añadir usuarios y todo lo que se te ocurra, pero no tiene un nivel de robustez necesario para hacer una aplicacion seria, entre otras cosas las tablas las guarda en memoria solamente [...]]]></description>
			<content:encoded><![CDATA[<p>Jbpm tiene un gestor de base de datos asociado mas o menos decente llamado <strong>Hypersonic</strong>, para hacer tus pruebas desarrollos, prototipados, probar persistencia, añadir usuarios y todo lo que se te ocurra, pero no tiene un nivel de robustez necesario para hacer una aplicacion seria, entre otras cosas las tablas las guarda en memoria solamente en la ejecucion del servidor. De todas maneras antes de hablar de hacer algo con un gestor serio como es MySQL hablare un poco de Hypersonic y de su configuración, que en parte nos ayudará un poco a comprender la configuracion de MySQL en el jBPM.</p>
<p>Para ver un poco que puede hacer, vamos a jugar un poco con el HSQL Database Manager, el cual esta muy bien escondidito entre los recursos del JBoss. Lo primero de todo es encender el JBoss application server que hay incorporado en la distribución de jBPM (JBPM_PATH\server\start.bat). Este ya tiene todo configurado para que su gestor de base de datos por defecto sea Hypersonic.</p>
<p>En la dirección <a title="http://localhost:8080/jmx-console/" href="http://localhost:8080/jmx-console/">http://localhost:8080/jmx-console/</a> podemos arracar esta aplicación, simplemente hay que pinchar en la linea que pone <strong>database = jbpmDB, service = Hypersonic</strong> en el apartado <strong>jboss</strong>.</p>
<p>Te llevara a una pagina con las funciones disponibles para el hypersonic, ahí le damos al botón <strong>Invoke</strong> en la linea que pone <strong>startDatabaseManager()</strong>. A los pocos segundos verás aparecer en tu pantalla la aplicación.</p>
<p>Es bastante sencillita y si estas familiarizado con SQL no creo que tengas ningún problema en probar cosas.</p>
<p>Puedes probar con un <strong>Select * from PUBLIC.JBPM_ID_GROUP</strong> para ver que grupos por defecto estan definidos en jBPM, si quieres añadir alguno nuevo y quieres acceder al jBPM-console para jugar con  tu workflow favorito, acuerdate de modificar (mas bien añadir) el grupo en el archivo web.xml, dentro del paquete jbpm-console.war (el .war puedes descomprimirlo con el winrar mismo) en jbpm-jpdl-3.2.3\server\server\jbpm\deploy.  Miraros ahi las etiquetas &lt;security-role&gt; y &lt;security-constraint&gt;.</p>
<p>Si queremos algo mas robusto, como ya dije, tenemos que ir a parar a MySQL por ejemplo (jBPM también soporta otros muchos gestores que se pueden utilizar como Oracle, DB2, MSQL&#8230;)</p>
<p>Lo primero es bajarse el MySQL, la versión más recomendable a fecha de hoy es el 5.0 (<a title="http://dev.mysql.com/downloads/mysql/5.0.html" href="http://dev.mysql.com/downloads/mysql/5.0.html">http://dev.mysql.com/downloads/mysql/5.0.html)</a>.<br />
La Instalacion es bastante sencilla e intuitiva, recomiendo instalar también el MySQL Administrator que viene por separado para tener una ventana gráfica para administrar el gestor, aunque por línea de comando también puedes hacer todo, de hecho lo haré así&#8230;</p>
<p>La primera vez que arrancas el MySQL command Line Client te pedirá la contraseña que pusiste durante la instalación, desde aquí ya puedes crear la base de datos que usará jBPM:</p>
<p><a href="http://www.workflowsworld.com/wp-content/uploads/2008/10/mysql2.jpg"><img class="aligncenter size-full wp-image-42" title="MySQL command Line" src="http://www.workflowsworld.com/wp-content/uploads/2008/10/mysql2.jpg" alt="" width="672" height="221" /></a></p>
<p>Lo siguiente crear la infraestructura que utiliza jBPM, para esto usaremos el fichero jbpm.jpdl.mysql.sql (jBPM_PATH\db) donde estan contenidas todas las tablas y las relaciones necesarias. Así que las siguientes ordenes serán:</p>
<blockquote><p>mysql&gt;USE jbpmbackend</p>
<p>mysql&gt;source JBPM_PATH\db\jbpm.jpdl.mysql.sql</p></blockquote>
<p>Si todo va bien veras un montón de Querys OK aparecer por pantalla, cuando todo va bien no deja de ser bonito verlo <img src='http://www.workflowsworld.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>También tendrás que añadir tus usuarios, para esto si seria mejor que tuvieras el administrador de mySQL, ten en cuenta el fichero web.xml dentro de jbpm-console.war.</p>
<p>Una vez lista la base de datos hay que decirle al señor JBoss que queremos usar MySQL como gestor de base de datos. Al xml que configura esto se le llama <strong>JNDI Data source</strong> y se configura en JBPM_PATH\server\server\jbpm\deploy\<strong>jbpm-ds.xml</strong> (puedes crear otro archivo siempre que termine en -ds.xml)</p>
<p>El contenido del archivo debe quedar mas o menos de la siguiente manera:</p>
<p><!--[if gte mso 9]&gt;  Normal 0   21   false false false  ES X-NONE X-NONE                            &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 85.05pt 70.85pt 85.05pt; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} --> <!--[endif]--></p>
<blockquote>
<p class="MsoNormal">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;datasources&gt;<br />
&lt;local-tx-datasource&gt;<br />
&lt;jndi-name&gt;<strong>MySqlDS</strong>&lt;/jndi-name&gt;<br />
&lt;connection-url&gt;<strong>jdbc:mysql://localhost:3306/jbpmbackend</strong>&lt;/connection-url&gt;<br />
&lt;driver-class&gt;<strong>com.mysql.jdbc.Driver</strong>&lt;/driver-class&gt;<br />
&lt;user-name&gt;<strong>root</strong>&lt;/user-name&gt;<br />
&lt;password&gt;<strong>tu_password</strong>&lt;/password&gt;<br />
&lt;metadata&gt;<br />
&lt;type-mapping&gt;mySQL&lt;/type-mapping&gt;<br />
&lt;/metadata&gt;</p>
<p class="MsoNormal">&lt;/local-tx-datasource&gt;</p>
<p class="MsoNormal">&lt;/datasources&gt;</p>
</blockquote>
<p>Y ya que estamos modificando ficheros, vamos a cambiar un par más&#8230;</p>
<p>JBPM_PATH\server\server\jbpm\conf\login-config.xml</p>
<blockquote>
<p class="MsoNormal">&lt;application-policy name = &#8220;jbpm&#8221;&gt;<br />
&lt;authentication&gt;<br />
&lt;login-module code=&#8221;org.jboss.security.auth.spi.DatabaseServerLoginModule&#8221;<br />
flag=&#8221;required&#8221;&gt;<br />
&lt;module-option name=&#8221;dsJndiName&#8221;&gt;<strong>java:/MySqlDS</strong>&lt;/module-option&gt;<br />
&lt;module-option name=&#8221;principalsQuery&#8221;&gt;<br />
SELECT PASSWORD_ FROM JBPM_ID_USER WHERE NAME_=?<br />
&lt;/module-option&gt;<br />
&lt;module-option name=&#8221;rolesQuery&#8221;&gt;<br />
SELECT g.NAME_ ,&#8217;Roles&#8217;<br />
FROM JBPM_ID_USER u,<br />
JBPM_ID_MEMBERSHIP m,<br />
JBPM_ID_GROUP g<br />
WHERE g.TYPE_=&#8217;security-role&#8217;<br />
AND m.GROUP_ = g.ID_<br />
AND m.USER_ = u.ID_<br />
AND u.NAME_=?<br />
&lt;/module-option&gt;<br />
&lt;/login-module&gt;<br />
&lt;/authentication&gt;<br />
&lt;/application-policy&gt;</p></blockquote>
<p class="MsoNormal">Aqui insertamos el modo de autenticación del <strong>modulo de login</strong>, creo que está por defecto, sino lo insertamos, teniendo en cuenta el nombre jndi que hayamos puesto en la configuración anterior.</p>
<p>Y por ultimo el fichero de configuración de Hibernate contenido dentro del jbpm-console.war (en WEB-INF\classes). <strong>Hibernate</strong> es el que se encarga de la persistencia en jBPM, con lo cual es un archivo de configuración muy importante.</p>
<p>Debe quedar algo tal que así (solo pongo el trocillo que he modificado):</p>
<blockquote><p>&lt;!&#8211; hibernate dialect &#8211;&gt;<br />
&lt;property name=&#8221;hibernate.dialect&#8221;&gt;org.hibernate.dialect.MySQL5Dialect&lt;/property&gt;</p>
<p>&lt;!&#8211; JDBC connection properties (begin) &#8211;&gt;<br />
&lt;property name=&#8221;hibernate.connection.url&#8221;&gt;jdbc:mysql://localhost:3306/jbpmbackend&lt;/property&gt;<br />
&lt;property name=&#8221;hibernate.connection.username&#8221;&gt;root&lt;/property&gt;<br />
&lt;property name=&#8221;hibernate.connection.password&#8221;&gt;tu_password&lt;/property&gt;</p>
<p>&lt;!&#8211; JDBC connection properties (end) &#8211;&gt;</p>
<p>&lt;property name=&#8221;hibernate.cache.provider_class&#8221;&gt;org.hibernate.cache.HashtableCacheProvider&lt;/property&gt;</p>
<p>&lt;!&#8211; DataSource properties (begin) == &#8211;&gt;<br />
&lt;property name=&#8221;hibernate.connection.datasource&#8221;&gt;java:/MySqlDS&lt;/property&gt;</p></blockquote>
<p>A continuación será necesario bajarse el driver de mySQL (creo que no te viene por defecto), se llama <strong>MySQL Connector/J</strong> y lo podemos encontrar en la siguiente dirección <a title="http://dev.mysql.com/downloads/connector/j/5.1.html" href="http://dev.mysql.com/downloads/connector/j/5.1.html">http://dev.mysql.com/downloads/connector/j/5.1.html</a>, lo que necesitamos es el archivo .jar que lo copiaremos en jbpm/lib/mysql-connector-java-5.1.7-bin.jar</p>
<p>Y ya está , en principio debería funcionar, por lo menos a mi si me funciona correctamente. Es un poco mareo todo y hay que ser muy cuidadoso en todos los pasos pero una vez lo configuras ya funciona bien para siempre <img src='http://www.workflowsworld.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2008/10/jbpm-y-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Salaboy, jBPM en castellano&#8230;</title>
		<link>http://www.workflowsworld.com/2008/10/salaboy-jbpm-en-castellano/</link>
		<comments>http://www.workflowsworld.com/2008/10/salaboy-jbpm-en-castellano/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 11:10:17 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://workflowers.wordpress.com/?p=33</guid>
		<description><![CDATA[Generalmente cuando busco información sobre jBpm me salen miles de paginas en inglés y las que hay en castellano son de un nivel muy básico&#8230;  pues de un tiempo a esta parte, cada vez mas entradas tienen como protagonista a Salaboy, un argentino que tiene un blog en castellano sobre jbpm (y más cosas) bastante [...]]]></description>
			<content:encoded><![CDATA[<p>Generalmente cuando busco información sobre jBpm me salen miles de paginas en inglés y las que hay en castellano son de un nivel muy básico&#8230;  pues de un tiempo a esta parte, cada vez mas entradas tienen como protagonista a Salaboy, un argentino que tiene un<a href="http://salaboy.wordpress.com/category/jboss-jbpm/"> blog en castellano sobre jbpm</a> (y más cosas) bastante interesante y con bastante nivel.</p>
<p>Animo con el blog y sigue jugando con jBpm!</p>
<p>( <a href="http://salaboy.wordpress.com/">http://salaboy.wordpress.com/</a> )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2008/10/salaboy-jbpm-en-castellano/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jBpm y los patrones de la abuela (o de Aalst)</title>
		<link>http://www.workflowsworld.com/2008/10/jbpm-y-los-patrones-de-la-abuela-o-de-aalst/</link>
		<comments>http://www.workflowsworld.com/2008/10/jbpm-y-los-patrones-de-la-abuela-o-de-aalst/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 10:21:53 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[Workflows]]></category>
		<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Aalst]]></category>
		<category><![CDATA[Patrones]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://workflowers.wordpress.com/?p=21</guid>
		<description><![CDATA[Siguiendo con el tema de los patrones de workflows de Aalst,
aquí os dejo el primero implementado en jbpm:
Pattern 1 (Sequence)

_______________________________________________________________________
&#60;process-definition
xmlns=&#8221;urn:jbpm.org:jpdl-3.1&#8243;
name=&#8221;simple&#8221;&#62;
&#60;start-state name=&#8221;start&#8221;&#62;
&#60;transition name=&#8221;to_state&#8221; to=&#8221;first&#8221;&#62;
&#60;action name=&#8221;action&#8221; class=&#8221;com.sample.action.MessageActionHandler&#8221;&#62;
&#60;message&#62;Going to the first state!&#60;/message&#62;
&#60;/action&#62;
&#60;/transition&#62;
&#60;/start-state&#62;
&#60;state name=&#8221;first&#8221;&#62;
&#60;transition name=&#8221;to_end&#8221; to=&#8221;end&#8221;&#62;
&#60;action name=&#8221;action&#8221; class=&#8221;com.sample.action.MessageActionHandler&#8221;&#62;
&#60;message&#62;About to finish!&#60;/message&#62;
&#60;/action&#62;
&#60;/transition&#62;
&#60;/state&#62;
&#60;end-state name=&#8221;end&#8221;&#62;&#60;/end-state&#62;
&#60;/process-definition&#62;
_______________________________________________________________________
public class SimpleProcessTest extends TestCase {
// Pattern １：Sequence
public void testSimpleProcess() throws Exception {
FileInputStream fis = new FileInputStream(&#8220;processes/simple/processdefinition.xml&#8220;);
ProcessDefinition processDefinition = [...]]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con el tema de los patrones de workflows de Aalst,<br />
aquí os dejo el primero implementado en jbpm:</p>
<blockquote><p><a href="http://www.workflowpatterns.com/patterns/control/basic/wcp1.php">Pattern 1 (Sequence)</a></p>
<p><a href="http://www.workflowsworld.com/wp-content/uploads/2008/10/patron1.jpg"><img class="size-full wp-image-22 alignnone" title="patron1" src="http://www.workflowsworld.com/wp-content/uploads/2008/10/patron1.jpg" alt="" width="263" height="287" /></a></p></blockquote>
<p>_______________________________________________________________________</p>
<blockquote><p>&lt;process-definition<br />
xmlns=&#8221;urn:<a class="keyword" href="http://d.hatena.ne.jp/keyword/jbpm">jbpm</a>.or<a href="http://jpdl-3.g.hatena.ne.jp/">g:jpdl-3</a>.1&#8243;<br />
name=&#8221;simple&#8221;&gt;<br />
&lt;start-state name=&#8221;start&#8221;&gt;<br />
&lt;transition name=&#8221;to_state&#8221; to=&#8221;first&#8221;&gt;<br />
&lt;action name=&#8221;action&#8221; class=&#8221;com.sample.action.MessageActionHandler&#8221;&gt;<br />
&lt;message&gt;Going to the first state!&lt;/message&gt;<br />
&lt;/action&gt;<br />
&lt;/transition&gt;<br />
&lt;/start-state&gt;<br />
&lt;state name=&#8221;first&#8221;&gt;<br />
&lt;transition name=&#8221;to_end&#8221; to=&#8221;end&#8221;&gt;<br />
&lt;action name=&#8221;action&#8221; class=&#8221;com.sample.action.MessageActionHandler&#8221;&gt;<br />
&lt;message&gt;About to finish!&lt;/message&gt;<br />
&lt;/action&gt;<br />
&lt;/transition&gt;<br />
&lt;/state&gt;<br />
&lt;end-state name=&#8221;end&#8221;&gt;&lt;/end-state&gt;<br />
&lt;/process-definition&gt;</p></blockquote>
<p>_______________________________________________________________________</p>
<blockquote><p>public <a class="keyword" href="http://d.hatena.ne.jp/keyword/class">class</a> SimpleProcessTest extends TestCase {</p>
<p>// Pattern １：Sequence</p>
<p>public <a class="keyword" href="http://d.hatena.ne.jp/keyword/void">void</a> testSimpleProcess() throws Exception {</p>
<p>FileInputStream <a class="keyword" href="http://d.hatena.ne.jp/keyword/fis">fis</a> = new FileInputStream(&#8220;processes/simple/processdefinition.<a class="keyword" href="http://d.hatena.ne.jp/keyword/xml">xml</a>&#8220;);<br />
ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(<a class="keyword" href="http://d.hatena.ne.jp/keyword/fis">fis</a>);</p>
<p>processInstance instance = new ProcessInstance(processDefinition);<br />
assertEquals(&#8220;start state&#8221;,instance.getRootToken().getNode().getName(), &#8220;start&#8221;);</p>
<p>instance.signal();<br />
assertEquals(&#8220;first state&#8221;,instance.getRootToken().getNode().getName(), &#8220;first&#8221;);</p>
<p>instance.signal();<br />
assertEquals(&#8220;Instance is in end state&#8221;,instance.getRootToken().getNode().getName(), &#8220;end&#8221;);<br />
assertTrue(&#8220;Instance has ended&#8221;, instance.hasEnded());<br />
}<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2008/10/jbpm-y-los-patrones-de-la-abuela-o-de-aalst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando jBPM en Eclipse 3.4 (Ganymedes)</title>
		<link>http://www.workflowsworld.com/2008/10/instalando-jbpm-en-eclipse-34-ganymedes/</link>
		<comments>http://www.workflowsworld.com/2008/10/instalando-jbpm-en-eclipse-34-ganymedes/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 06:59:44 +0000</pubDate>
		<dc:creator>CarlosSM</dc:creator>
				<category><![CDATA[jBPM]]></category>
		<category><![CDATA[Instalación]]></category>

		<guid isPermaLink="false">http://workflowers.wordpress.com/?p=15</guid>
		<description><![CDATA[Pues va a ser que era tan sencillo que no lo conseguía instalar&#8230;
Vamos a ello :
Hay que bajarse la nueva versión de Eclipse :
http://www.eclipse.org/downloads/
Y te la copias donde gustes&#8230; asegurate eso si de dejarte un enlace en el escritorio al eclipse.exe, por aquello de la comodidad y tal.
También nos tenemos que bajar el jbpm :
http://www.jboss.org/jbossjbpm/
Y [...]]]></description>
			<content:encoded><![CDATA[<p>Pues va a ser que era tan sencillo que no lo conseguía instalar&#8230;</p>
<p>Vamos a ello :</p>
<p>Hay que bajarse la nueva versión de Eclipse :<br />
<a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></p>
<p>Y te la copias donde gustes&#8230; asegurate eso si de dejarte un enlace en el escritorio al eclipse.exe, por aquello de la comodidad y tal.</p>
<p>También nos tenemos que bajar el jbpm :</p>
<p><a href="http://www.jboss.org/jbossjbpm/">http://www.jboss.org/jbossjbpm/</a></p>
<p>Y aqui en el apartado downloads tenemos un buen manojo de ficheros a elegir… para no complicarse lo mejor es elegir el suite, que esta todo y bien ordenadito. Te bajas el archivo y lo descomprimes donde quieras, por ejemplo en C:\jBPM\jbpm-jpdl-3.2.3</p>
<p>Ahora añadimos el JBossTools, que es un conjunto de herramientas diseñadas para el servidor JBoss, entre ellas el jBPM y el Hibernate (<a href="http://">http://www.jboss.org/tools/download/index.html</a>).</p>
<p>Yo por si acaso siempre me bajo las cosas estables <img src='http://www.workflowsworld.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> , en este caso esta disponible el JBossTools 2.1.2.GA</p>
<p>Ejecutas Eclipse y te vas directo a Help/Software Updates, vamos a la pestaña Available Software y le das al botón Add new Site y agregas la dirección del repositorio donde se encuentra:</p>
<p><a href="http://download.jboss.org/jbosstools/updates/stable">http://download.jboss.org/jbosstools/updates/stable</a></p>
<p>Y listo, así de simple, si quereis un nuevo proyecto jBPM vais a File, New, Other, buscais la carpeta jBoss jBPM, Process Project y a jugar!</p>
<p>La primera vez que hagais un nuevo proyecto os preguntará donde están los ficheros del jbpm&#8230; una pantallita tal que asi :</p>
<p><a href="http://www.workflowsworld.com/wp-content/uploads/2008/10/jbpm.jpg"><img class="alignnone size-full wp-image-19" title="jbpm" src="http://www.workflowsworld.com/wp-content/uploads/2008/10/jbpm.jpg" alt="" width="488" height="266" /></a></p>
<p>Teneis que poner la ruta donde habeis instalado el jbpm y ya está.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.workflowsworld.com/2008/10/instalando-jbpm-en-eclipse-34-ganymedes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
