Bonita Open Solution, una solucion potente y libre para el desarrollo de programas de BPM
En este post vamos a ver como iniciarnos en el uso de las herramientas y del entorno de Bonita Open Solution(Bonita OS) para la gestión de procesos de negocio(BPM), si se quiere seguir el ejemplo es recomendable tener instalado el Bonita Studio.
Lo primero que vamos a hacer es repasar las herramientas principales que nos ofrece el entorno de Bonita para desarrollar nuestras aplicaciones.
- Bonita Studio: nos permite modelar el proceso, es decir, definir las tareas , definir el flujo del proceso, definir grupos de usuarios, asignar conectores definir el look & feel y un largo etcétera.
- Bonita Form Builder: forma parte del Bonita Studio, es el modulo en el que se definen los formularios que habrán de ser rellenados por los usuarios y se declaran validadores para el formulario entero o para los campos del mismo.
- Bonita User Experience: Es una aplicacion encargada de desplegar y gestionar los procesos ya desplegados así como las instancias de cada proceso.
- APIs: contamos con 4 APIs distintas para poder comunicarnos con el motor de Bonita(aunque, de momento, no entraremos a ver en detalle estas APIs), una API java, una api para acceder mediante un servidor REST y por ultimo 2 APIs para acceder mediante EJB (una para EJB2 y otra para EJB3).
Conceptos:
Antes de empezar a trabajar con Bonita hay una serie de conceptos que conviene tener claros:
Primero, ¿Qué es un proceso? : un proceso es un conjunto ordenado de fases o tareas para conseguir un objetivo, esto incluye desde el montaje de un coche a la tramitacion de una licencia de pesca.
ProcessDefinition(proceso): Se trata de la definición del proceso, con su flujo, sus conectores, sus actividades etc.
ProcessInstance(Instancia de proceso): Los procesos no suelen realizarse una única vez, por eso, cada instancia de proceso corresponde con una ejecución diferente del mismo, con su estado(terminado, en ejecución,…), sus variables y todo lo necesario para que se ejecute el proceso.
ActivityDefinition(Actividad): Es la definición de una actividad, es decir, como serán los formularios(si los tiene), que usuarios deben realizarla, cuales son sus conectores…
ActivityInstance(Instancia de actividad): A medida que una instancia de proceso se va ejecutando por cada actividad que ejecuta se crea una instancia de actividad que recoge valores como el momento en el que fue iniciada, que usuario la inició, el estado de un ficheros tras justo antes de finalizar ese activity, etc.
Creación de un proceso:
La creación de un proceso comienza en el Bonita Studio . Lo primero es añadir un evento de inicio:
- El normal, inicia la instancia de proceso y da paso a la primera actividad sin hacer nada más.
- Inicio con mensaje: inicia un proceso y envía un mensaje.
- Inicio Programado: inicia la instancia del proceso en función de una fecha u hora.
- Inicio de señal: inicia una instancia de proceso al recibir una señal.
Una vez iniciado el proceso debemos definir las tareas y la transición entre ellas.
Bonita Studio incluye una serie de ejemplos de procesos para familiarizarse con el entorno y descubrir las posibilidades que ofrece, estos procesos de ejemplo se pueden encontrar y cargar en nuestro workspace desde la opción Examples del menú principal.
Añadir un formulario:
Para añadir un formulario necesitamos una tarea humana
(existen tareas automáticas , tareas humanas y subprocesos). Al crearla veremos que nos solicitará que le se la asignemos a un grupo de usuarios, para ello la seleccionamos para ver su menú de opciones.
y desde la pestaña de actores podremos crear un nuevo usuario, introduciendo su nombre, o un nuevo grupo de usuarios definiendo si se cargan de una base de datos, a través de LDAP, etc.
Una vez tenemos los usuarios vamos a crear el formulario. Para ello accedemos a la ventana formulario y seleccionamos “agregar”, tras lo cual se nos abrirá una ventana para elegir el tipo de widgets que podremos utilizar en el formulario, seleccionamos los que creamos que vamos a usar y finalizamos la creación del formulario.
Ahora se nos abrirá el Bonita Form Builder desde el que podremos crear nuestro formulario con los campos que deseemos de una forma sencilla e intuitiva.
Con lo visto hasta ahora podremos crear procesos sencillos y asignar tareas con formularios a distintos grupos de usuarios.
En el siguiente post explicaré como desplegar nuestro proceso en un servidor de aplicaciones y en el bonita experience así como a generar conectores para enviar correos o conectar con la base de datos y validadores para nuestros formularios utilizando para ello groovy.

(6 votes, average: 9,50 out of 10)