Antes de empezar a hablar de jBPM creo que sería interesante saber que es BPM y su relación con jBPM. Si acudimos a nuestra querida wikipedia
BPM es:
Se llama Business Process Management (BPM) a la metodología empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio, que se deben modelar, automatizar, integrar, monitorizar y optimizar de forma continua.
En torno a estos conceptos ha surgido muchíisimas iniciativas para el soporte de los BPM, podríamos decir que lo que se lleva hoy día en el mundo empresarial de las IT es la gestión del negocio con BPM y claro todas las empresas del sector intentan sacar tajada dando soporte BPM.
Existen múltiples estándares para la definición de procesos de negocio entre los más extendidos están
BPMN,
XPDL y
YAWL. Al mismo tiempo también han surgido herramientas que permiten modelar los procesos entornos automatizar
Como indico en el tema vamos a introducir un poco
jBPM 4.0, esta herramienta nos aporta una plataforma para la gestión de procesos. Vamos hablando claro, lo que nos aporta es una Runtime para la ejecución de procesos definidos de manera gráfica. El lenguaje gráfico está basado en jPDL un lenguaje gráfico definido por al gente de jBoss.
A continuación lo que haremos será indicar como instalar la herramienta jBPM 4.0 desde cero y en siguientes entradas a este blog indicaré como se contruye un proyecto desde cero y como se crea y ejecuta un proceso completo.
Instalación de jBPM 4.0 + MySQL 5.0 (Windows)1.- Requisitos
JDK 1.5 o superior preinstalado
Ant 1.7.0 preinstalado (variable de entorno ANT_HOME configurada)1.1.- Descargar jBPM desde
aquí (
enlace jBPM de Sourceforge).
2.- Descomprimir jbpm-4.0.zip en directorio raiz. Ej:
C:\jbpm-4.03.- Para la instalación sólo tenemos que entrar en directiorio
c:\jbpm-4.0\jboss y ejecutar el script para su instalación:
c:\jbpm-4.0\jboss> ant demo.setup3.1.- Para la instalación con otras BBDD usar, primero hay que configurar los ficheros (usaremos ejemplo MySQL):
C:\jbpm-4.0\db\jdbc\mysql.properties
C:\jbpm-4.0\db\hibernate.cfgy ejecutar:
c:\jbpm-4.0\jboss> ant -dDatabase=mysql demo.setupsi no se usa una BBDD se usará una por defecto Hypersonic que no es más que una base de datos en memoria.
Al terminar ya tendremos instalado el servidor jboss y eclipse en el directorio jbpm-4.0.
5.- Vamos a instalar el GPD en eclipse:
5.1.- Abrimos eclipse
c:\jbpm-4.0\eclipse\eclipse.exe5.2.- Desde el menu
Help -> Install New Software -> Add -> Archive5.3.- Seleccionamos el archivo
c:/jbpm-4.0/gpd/jbpm-gpd-site.zip5.4.- En la ventana de instalación seleccionamos todos lo items y pulsamos en Install
5.5.- Tras la instalación es recomendable reiniciar eclipse
6.- Una vez reiniciado eclipse, añadiremos las librerias de jBPM
6.1.- Desde
Windows->Preference->Java->User Library6.2.- Seleccionamos New
6.3.- Introducimos el nombre jBPM_Liraries y pulsamos en
Add Jars6.4.- Las librerias a introducir son
c:\jbpm-4.0\jbpm.jar y todas las que se encuentre en c:\jbpm-4.0\lib
6.5.- En jbpm.jar seleccionamos Source Attachment y le damos a
Edit, luego
External Folder he indicamos
c:\jbpm-4.0\src6.6.- Pulsamos en OK
7.- Ahora vamos a introducir el XSD de jpdl
7.1.- Desde
Windows->Preference->XML->XML Catalog7.2.- Le damos a Add y seleccionamos
C:\jbpm-4.0\src\jpdl-4.0.xsd7.3.- Pulsamos OK
8.- Configuraremos la runtime de jBPM
8.1.- Desde
Windows->Preference->JBoss jBPM->jBPM 4-> Runtime locations8.2.- Le damos a
Add e introducimos el nombre jBPM-4.0 y seleccionamos el directorio c:\jbpm-4.0
8.3.- Le damos a Ok y luego marcamos el checkbox del runtime
9.- Reiniciar eclipse
10.- Importación de ejemplos:
10.1.- Desde el Package explorer le damos al mene
File->Import->Existing Project in Workspace10.2.- Seleccionamos el directio
c:\jbpm-4.010.3.- Marcar la carpeta de examples
10.4.- Pulsar
Finish y se importarán los ejemplos en un proyecto
10.5.- En el proyecto configuramos el
Build Path y agregamos las librerias de jBPM.
11.- 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 test JUnit. Para ejecutar estas pruebas seleccionamos la correspondiente clase java y le damos a
Run As->JUnit Test11.1.- 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.propertiesestos ficheros están preconfigurados para que utilicen la BBDD Hypersonic en memoria. Habrá que cambiar estos fichero si queremos usar MySQL
11.2.- 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>