martes, 30 de junio de 2009

Instalación jBPM en MySQL

Antes de poder hacer nada con jBPM es necesario realizar la instalación. En este caso, voy a realizar la instalación en un equipo con Windows XP que tiene instalada la versión 1.6.0_04-b12 de la JDK de Sun.

En primer lugar se obtiene la versión 5.0.1.GA del servidor de aplicaciones Jboss de jboss.org. El archivo descargado es un .zip que debemos descomprimir en el directorio que queramos. En este caso, todos los archivos del servidor se van encontrar en la carpeta C:\JBoss\jboss-5.0.1.GA. Haciendo doble clic sobre el archivo C:\JBoss\jboss-5.0.1.GA\bin\run.bat se arranca el servidor con la configuración por defecto. Se trata de un servidor de aplicaciones completo pero sin funcionalidades de cluster, webservices, etc.

A continuación debemos descargar el instalador de jBPM de la dirección sourceforge.net. Seleccionamos el archivo jbpm-installer-3.2.6.SP1.jar:



Este instalador permite instalar la suite de jBPM sobre distintas versiones del seervidor de aplicaciones de Jboss y distintas bases de datos como Hypersonic o MySQL.

Lo más sencillo sería realizar la instalación utilizando la base de datos Hypersonic. Se trata de una base de datos que se almacena en memoria, usada para desarrollo. Sin embargo, la información almacenada se va a perder cada vez que se pare el servidor. Por ello, en nuestro caso, vamos a realizar la instalación sobre MySQL.

Se ejecuta el instalador de jBPM. Lo primero que pide es la ruta de instalación, que en este caso va a ser C:\java\jbpm. A continuación pregunta por los paquetes a instalar, pero lo dejaremos tal y como está y pulsaremos “Next”. Ahora se debe elegir la versión del servidor en la que estamos realizando la instalación, después la base de datos y finalmente la ruta del servidor. Con esto ya se pasa a realizar la instalación.

Si no tenemos el servidor de base de datos MySQL instalado, descargamos de dev.mysql.com/downloads/ el servidor MySQL Community Server y las herramientas de administración GUI Tools. Una vez descargados procedemos a su instalación.

Falta por crear el esquema de base de datos que usa jBPM. Para no complicarnos la vida en esta fase de inicial, vamos a mantener la configuración por defecto para la fuente de datos que utiliza jBPM. Para hacer que funcione, vamos al MySQL Administrator y creamos un nuevo catálogo llamado jbpmtest y un nuevo usuario de nombre jbpmtest y sin password. Asignamos a este usuario todos los permisos de la tabla jbpmtest.

En la ruta de instalación de jbpm (C:\java\jbpm) hay, entre otras cosas, scripts de creación del esquema usado por jBPM. Si vamos al MySQL Query Browser y nos conectamos al esquema jbpmtest, a través de File → Open Script podemos seleccionar el script para la cración de las tablas en MySQL, C:\java\jbpm\database\jbpm.jpdl.mysql.sql.

Con la ejecución de este script, habremos finalizado la instalación de jBPM con MySQL. En un post posterior daré un ejemplo de su utilización.

Referencias:
jBPM user guide
Workflow's World

JBoss jBPM

La lógica de negocio se puede definir en forma de una serie de tareas relacionadas que se deben ejecutar de forma secuencial, paralela o en función de alguna condición. Al conjunto de estas tareas se le conoce como proceso de negocio.

La gestión de procesos de negocio (BPM – Business Process Management) se encarga del modelado de estos procesos de negocio, y define el flujo de trabajo (workflow) que rige su funcionamiento. Un workflow modela de forma gráfica las relaciones entre las distintas tareas.

Un sistema de workflow (BPMS - Business Process Management System) es una aplicación que gestiona estos flujos de trabajo, y se encarga de automatizar la secuencia de acciones, actividades o tareas que componen del proceso. Esta automatización permite integrar los procesos de la empresa y rediseñarlos de acuerdo con ayuda de nuevas estrategias.

Existen varios sistemas de workflow, y uno de ellos es JBoss jBPM, cuya principal ventaja para aquellos que quieren aprender esta tecnología es que es open-source.

A lo largo de varios artículos voy a ir publicando los pasos que voy dando en el estudio de esta herramienta.

Referencias:
BPM
Flujo de trabajo
Jboss jBPM

lunes, 29 de junio de 2009

Presentación

Durante los últimos años he tratado de aprender todo lo que he podido sobre el lenguaje Java y tecnologías relacionadas. Esto es algo que he ido haciendo no sólo en el trabajo, sino también, y casi principalmente, de forma autodidacta gracias a Internet.

Durante todo este tiempo he estudiado manuales, he buscado dudas en foros relacionados con la programación, he visitado portales especializados... He podido beneficiarme de forma anónima del carácter abierto de la red para mejorar mis conocimientos. ¡Y pienso seguir haciéndolo!

Pero no sólo quiero hacer eso. También quiero poder aportar mi granito de arena. Quiero poder ayudar a quién tiene el mismo problema que yo en su día tuve. Quiero poder colaborar con quién está tratando de entender lo mismo que en estos momentos estoy estudiando yo. Quiero poder discutir con quien tiene una idea distinta a la mía. Quiero lanzar mis dudas al aire, esperando a que las recojan quienes pasen por aquí.

Es por ello que comienzo este blog con la intención de publicar aquello con lo que me voy enfrentando, recopilando la información y las dudas que me asalten y deseando que a alguien le sirva de ayuda.

Mis intereses en estos momentos son bastante dispares, frameworks java (JSF, Spring, Hibernate..), tecnologías SOA (ESBs, workflows...), gestión de proyectos (RUP, Scrum...) y cualquier otra cosa que pueda surgir. Porque lo más importante es evolucionar con la tecnología.

Espero poder despertar el interés de aquellos que estáis aprendiendo como yo.