Existen varias herramientas BPMS en el mundo Open Source que están a la altura de muchas de las herramientas propietarias del mercado.
En algunos casos aún les falta un camino por delante como es el caso de Activiti o el mismo BPS de WSO2 y en otros casos ya pueden ser usadas en ambientes de desarrollo y producción como la herramienta Bonita que nos ocupa en esta entrada y en varias más.
Comenzaremos con el diseño de un proceso que nos dará pie a ir mejorando su diseño, implementación, simulación y pruebas hasta desplegarlo en un entorno real.
Descripción del proceso:
El proceso se encarga de permitir que un cliente de una tienda pueda acceder al sitio online de la tienda, seleccionar varios artículos los cuales deben ser aprobados por un empleado de forma manual, esto puede llevar a que el cliente compre los artículos con su tarjeta de crédito, o a que rechace la compra o a que se pida más información sobre los artículos a comprar. Si se ejecuta el pago entonces los artículos serán enviados al cliente en 3 días hábiles y la transacción será archivada, en caso de que se rechace la compra también se archiva la transacción. En cualquier caso se da por terminado el proceso.
En esta entrada veremos como diseñar este simple proceso usando la herramienta Bonita.
Lo primero es descargar la herramienta Bonita, lo cual pueden hacer desde este enlace www.bonitasoft.com/products/download/ si ya tienes una cuenta creada, si no la tienes aun pues la creas y listo, es gratis.
En nuestro caso ya tenía esta versión BonitaBPMCommunity-6.0.0-x86.exe que será la herramienta con la que trabajaremos.
Luego de instalar la herramienta BonitaBPMCommunity podemos ejecutarla.
Una vez abierta la herramienta se les mostrará esta pantalla donde podrán tener acceso a múltiples recursos online que van desde documentación, ejemplos, y video tutoriales que los ayudarán a comprender como usarla.
Para este ejemplo crearemos un proceso que es uno de los tutoriales básicos de la herramienta y que nos permitirá ir viendo paso a paso como usarla.
Así que crearemos un diagrama nuevo y agregaremos una actividad de inicio “Inicio1” usando la paleta de componentes a nuestra izquierda y luego dando clic encima de ella veremos que en la esquina superior derecha nos aparece u pequeño rectángulo, damos clic en él y lo sostenemos y lo arrastramos hacia la derecha de esta manera habremos creado una nueva tarea como se aprecia en la siguiente imagen. Si damos clic sobre esta nueva tarea podemos introducir información general sobre la misma. Como se puede apreciar hemos cambiado su nombre, descripción y tipo de tarea. Esta tarea recibe una solicitud de una compra la cual debe ser revisada de forma manual por un empleado de ventas.
Si volvemos a realizar el paso anterior pero esta vez resaltando la tarea recién creada podremos crear una nueva tarea, “Pagar”, donde se completa la información del pago por la compra que se está realizando.
Puede darse el caso de que la información introducida de la tarjeta de crédito no sea válida o que no se desee terminar la compra así que damos la opción de otra tarea “Rechazar” la cual es creada a partir de la primera actividad.
Llegados a este punto hemos visto que de forma muy fácil podemos ir creando tareas conectadas entre sí y modificar su información general para lograr un diseño adecuado y entendible del proceso.
Ahora podemos editar el pool sobre el que estamos trabajando y cambiamos su nombre y descripción.
Deben ver un pool como ese rectángulo horizontal que delimita la zona donde hemos puesto las tareas hasta el momento.
Par realizar la edición solo tienen que marcar el nombre del pool y luego en General -> Pool darle al botón “Editar”.
Después de terminada esta acción debemos agregar otras tareas más:
- Entrega express que nos permite una vez realizada la compra entregarle sus artículos al cliente en el plazo de 3 días.
- Más Información para el caso en que el empleado de ventas requiera más detalles sobre la compra que se desea realizar.
- Archivar que nos permite guardar la transacción realizada cualquiera sea su terminación. Por eso es que tanto el pagar como el rechazar como la entrega express llevan a “Archivar”.
Llegado este punto nos damos cuenta que la tarea de “Más Información” nos permite recopilar la información pero no es devuelta al empleado que está revisando la compra, así que para ello introducimos un nuevo elemento. En este caso un XOR, que en BPMN no es otra cosa que el mecanismo que nos permite crear una compuesta con múltiples entradas que la conectan.
Para seleccionar el elemento pueden ir a la paleta de componentes.
La cual aparece a la izquierda en la herramienta y seleccionar el ícono correspondiente y arrastrarlo al proceso. Deben entonces eliminar la conexión de “Inicio1” con “Revisión por ventas”, agregar el componente XOR y reorganizar las conexiones tal y como se ve en la siguiente imagen. De esta manera ya el empleado de ventas se puede enterar de la nueva información.
Y eso esto, de una forma bastante rápida hemos diseñado un proceso en BONITA y estamos listos para el siguiente paso que será agregar las variables que nos permitirán manejar la información de cada tarea y del proceso de forma global, lo cual estaremos realizando en la siguiente entrada.
Bonita BPMS: Introducción al diseño e implementación de un proceso de negocio