lunes, 20 de mayo de 2013

BONITA: Creación de BPMs en un entorno gratuito


Esta semana estoy trabajando duro para poner en marcha una iniciativa alocada por lo que tengo poco tiempo para continuar con la app cutre-güasap que quería tener lista para finales de este mes.

En cambio, como no me gusta irme sin los deberes hechos, os propongo un cambio de concepto y hablaré de Bonita, una herramienta gratuita para crear nuestros procesos BPM.

Para aquellos que no conozcáis que es BPM, os recomiendo echar una lectura a la Wikipedia que explica muy bien que es el Business Process Management.

Descarga e instalación de Bonita

Bonita es una herramienta de modelado de procesos que nos permite conectarnos con muchos componentes diferentes, como por ejemplo SAP, Oracle, servicios web y un largo etcétera que no tiene desperdicio. Funciona con un servidor de aplicaciones JAVA, normalmente JBOSS o el más que popular y recomendable Apache Tomcat.

Desde el estudio de Bonita realizaremos los BPM que después exportaremos e inportaremos en nuestro BOS-Tomcat, que no es más que un Apache Tomcat tuneado para poder manejar los procesos BPM y las pantallas de entrada de datos que se pueden desarrollar.

Es muy importante, antes de seguir, tener presente que Bonita funciona mejor con el JDK 1.6, por lo que os recomiendo que os lo instaléis antes de instalar Bonita.

Así pues, nos descargamos el estudio (trabaja sobre Eclipse) de su página oficial, en la que tendremos que registrarnos: http://www.bonitasoft.com/products/download-bpm-software-and-documentation (Bonita Open Solution).

Una vez descargado, e instalado, procederemos a hacer un pequeño cambio en los scripts .ini que encontraremos el el directorio C:\BOS-5.10\studio (suponiendo que sea aquí donde os lo hayais instalado) editaremos los ficheros BonitaStudio.ini y BonitaStudio-x86_64.ini (suponiendo que estamos en Windows) y añadiremos al principio estas líneas:

-vm
C:\Java\jdk1.6.0_43\bin\javaw.exe

Cambiando, claro está, la ruta por la que contiene nuestro JDK 1.6.

Descarga e instalación de BOS-Tomcat

Para el caso de BOS-Tomcat es mucho más fácil. Tan simple como ir a la web http://www.bonitasoft.com/products/download-bpm-software-and-documentation (Bundles) y descargarnos el Tomcat.

Una vez descargado, lo descomprimimos donde queramos tenerlo (por ejemplo C:\BOS-5.10-Tomcat-6.0.35) y solo tendremos que editar el fichero C:\BOS-5.10-Tomcat-6.0.35\conf\tomcat-users.xml para añadir la siguiente línea:

<user password="welcome1" roles="tomcat,manager-gui,manager-script,manager-jmx,manager-status,admin" username="admin"/>

Quedará así:



Este será nuestro usuario administrado de los despliegues de Tomcat.

Para arrancar y parar nuestro Tomcat, usaremos los ficheros:
  • Arrancar: C:\BOS-5.10-Tomcat-6.0.35\bin\startup.bat
  • Parar: C:\BOS-5.10-Tomcat-6.0.35\bin\shutdown.bat


Si por casualidad no arranca, es porque tendremos que crearnos una variable JAVA_HOME indicando el directorio del JDK 1.6.


Creando nuestro primer BPM básico

Abriremos el estudio de Bonita y pulsaremos sobre nuevo:



Una vez creado, le cambiaremos el nombre al proceso y el pool por DemoBonitaProcess y DemoBonitaPool respectivamente.





Una vez modificado, añadiremos los datos con los que trabajaremos, y para ello picaremos sobre nuestro pool y en el menú inferior General (DemoBonitaProcess) > Data añadiremos los siguientes elementos:
  • Entrada, de tipo Texto.
  • Salida, de tipo Texto.






Después, a la tarea1 le cambiaremos el nombre por Introducir Entrada



Y añadiremos una nueva tarea de servicio que llamaremos “Crear Salida”.



Y a continuación una de usuario llamada “Confirmar Salida”.



Y finalmente, finalizaremos el servicio.



Como he comentado anteriormente, Bonita nos permite definir los formularios para las tareas de usuario, así que crearemos una para Introducir Entrada y otra para Confirmar Salida.

Para el caso de Introducir Entrada, el formulario se llamará con el mismo nombre y solo veremos el dato “entrada”.



En el formulario cambiaremos el nombre del botón y sus descripción por Aceptar.



Para Confirmar Salida haremos exactamente lo mismo.



Es muy importante, que para el caso de Confirmar Salida, en General > Actores, seleccionemos el actor Iniciador como el que recibirá la notificación.




Finalmente, en la tarea de Script, crearemos la salida de la siguiente forma:

salida = “Hola “ +  entrada

Para hacer esto, al seleccionar la tarea Crear Salida, y en General > Conectores y agregamos uno de tipo Bonita > Establecer Variable.


Indicaremos el nombre (establecerSalida) e indicaremos que el evento se ejecutará al iniciar la tarea



Y finalmente indicaremos que la variable salida será la concatenación de “Hola “ y la variable entrada.



OJO con las llaves y el signo $

Y ya tendremos nuestro proceso listo para ejecutar con solo pulsar el botón “Ejecutar”.




Esto nos arrancará un tomcat de pruebas en el puerto 9090, pidiéndonos introducir los datos que hemos definido. Como para ello usaremos nuestros propios formularios, la primera pantalla la ignoraremos y pulsaremos siguiente:



A continuación se ejecuta nuestra tarea Introducir Entrada e indicaremos nuestro nombre.



Al aceptar, se ejecuta la tarea Crear Salida en background y finalmente nos muestra el resultado en Confirmar Salida.




Y al pulsar Aceptar se finalizará el proceso.

Desplegando en BOS-Tomcat

Si queremos desplegar este proceso en BOS-Tomcat, simplemente desde el estudio de Bonita exportaremos el BPM creándonos un archivo BAR (DemoBonitaPool--1.0.bar).



A continuación arrancaremos nuestro BOS-Tomcat y desde el manager accederemos a la aplicación Bonita.



RECUERDA que el usuario administrador que hemos creado es admin con password welcome1.



Nos logaremos con el usuario admin y password bpm y navegaremos a la pantalla de administración:



Y desde processes iremos a install y seleccionaremos nuestro archivo BAR a instalar.



Y una vez instalado, desde la pantalla de usuario podremos iniciar un proceso de DemoBonitaProcess.



En el próximo post de Bonita explicaré como conectar un BPM con un servicio web y como desde un servicio web se puede iniciar un proceso en Bonita.

El ejemplo de Bonita lo podéis descargar aquí.