jueves, agosto 13, 2009

Introducción a jBPM Parte II ...

Bueno como ya sabemos que es jBPM, y seguramente lo tengamos instalado, vamos a ver como se definen y ejecutan procesos. Pero antes de empezar veamos como podemos importar los ejemplos que vienen con el paquete de jBPM ya instalado.

0.- Abrimos el Eclipse donde instalamos jBPM.
1.- Desde el Package explorer le damos al mene File->Import->Existing Project in Workspace
2.- Seleccionamos el directio C:\jbpm-4.0
3.- Marcar la carpeta de examples
4.- Pulsar Finish y se importarán los ejemplos en un proyecto. Una vez terminado ya tendremos importado todos los ejemplos, tal y como se muestra en la siguiente imagen.

5.- En el proyecto configuramos el Build Path y agregamos las librerias de jBPM

Los procesos en jBPM se definen bajo un formato específico denominado jPDL. Este lenguaje está contruido con pocos elementos gráficos:



Los procesos jPDL se definen de manera gráfica aunque esta definición se guarda de manera sincronizada en un formato XML:



Para la ejecución de un proceso, destacar que cada ejemplo posee normalmente 2 ficheros principales que son nombre_fichero.jpdl.xml con la definición gráfica del proceso, y un fichero java donde se ha programado un código de prueba en base a un test JUnit.



Para ejecutar estas pruebas seleccionamos la correspondiente clase java y dándole a Run As->JUnit Test podremos ejecutar dicho proceso. Otra forma de ejecutar dicho proceso es desplegarlo en un servidor para que pueda ser explotado por los usuario del proceso. Pero nosotros sólo explicaremos aquí como se ejecuta un proceso en local desde Eclipse.

Si no se ha configurado nada se van a usar los ficheros de configuración importados:

* jbpm.cfg.xml
* jbpm.hibernate.cfg.xml
* jbpm.mail.properties
* jbpm.mail.templates.examples.xml
* loggin.properties


Configurar la persistencia con MySQL

* jbpm.hibernate.cfg.xml sustituir las propiedades por:

<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmdb4</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.format_sql">true</property>


Si queremos observar cual es el punto de ejecución de un proceso, a continuación tenemos el ejemplo más básico. En este ejemplo lo único que se hace es configurar el proceso que se va a leer y luego ejecutarlo.



Enlaces de documentación:

- jBPM User Guide
- jBPM Developer Guide

No hay comentarios: