Es importante ser consciente de los pasos necesarios para cada actividad de desarrollo de un proceso en Bonita Studio. Si no lo has hecho ya, conviene que revises las explicaciones dadas en Modelando procesos.
Vamos a poner en marcha un proceso simple que ponga en práctica lo mostrado en esa lección previa.
Antes, un poco de terminología básica, aún cuando no sepas exactamente qué significa.
Diagrama: es el contenedor del proceso o procesos; tiene un nombre que se utiliza para, entre otras cosas, los ficheros generados en la exportación a disco duro.
Pool: o proceso, incluso "piscina", representa eso, un proceso, cuyo nombre identifica a todo lo relacionado con él (lista de procesos disponibles, casos, etc.)
Senda: o lane, veremos su uso más adelante; ahora mismo no tiene importancia para nosotros.
Hemos hecho esta pequeña lista porque se utilizarán estos términos para indicar pulsaciones de ratón dentro de Bonita Studio.
Bonita Studio Community trabaja con un único proyecto donde se definen todos los elementos necesarios para ejecutar un proceso: diagramas, formularios, modelos de datos de negocio, y otros que no entramos a detallar ahora.
En general, tendremos un proyecto definido y visible en el panel izquierdo de Bonita Studio. Si no lo tenemos, o si queremos crear un proyecto nuevo y limpio, podemos utilizar el menú de "archivo".
Se puede trabajar siempre con el mismo proyecto e ir añadiendo diagramas (procesos) y todo lo relacionado con ellos. En un único proyecto tendremos todo lo que vayamos desarrollando.
Otra forma de trabajar, más limpia para lo que vamos a hacer en la asignatura, es crear un nuevo proyecto por cada ejercicio o sesión. Los proyectos se pueden exportar e importar, almacenándose en los dispositivos de disco, por lo que siempre podremos recuperar trabajo anterior, o incluso mover proyectos entre diferentes máquinas.
Ejecuta Bonita BPM Suite y crea un nuevo diagrama de proceso.
También se puede hacer lo mismo desde el menú de contexto que se abre con el botón derecho del ratón desde el proyecto del panel izquierdo.
Completa el diagrama inicial con el evento de finalización.
El modelo de datos de negocio (BDM, business data model) es la definición del conjunto de datos que manejarán uno o más procesos. Al final, se convertirá en una tabla de base de datos. Los "atributos" serán columnas con sus tipos de datos y restricciones. Las filas se irán insertando a medida que se ejecute el proceso tantas veces como queramos —una fila por ejecución—.
Los BDM son, por así decirlo, plantillas para definir variables, entre ellas las de negocio cuyos datos resultado de ejecutar procesos se almacenan en base de datos y son, por tanto, persistentes.
Si el proyecto es nuevo, no tendremos BDM y habrá que generarlo desde el botón "Nuevo" o pinchando con el botón derecho del ratón en el proyecto.
Los BDM se crean dentro de un paqueta java com.company.model. Para como vamos a trabajar en la asignatura, NO añadas nunca paquetes, utiliza siempre el ya definido, aunque tengas varios BDM.
al crear el BDM se crea un objeto por defecto con un atributo. Si no existiera ese objeto, "Añadir objeto".
cambiarle el nombre a "AprobacionSolicitud"
cambiar el nombre del atributo por defecto a "sugerencia"
elegir el tipo de datos TEXT y
marcar requerido
añadir atributo
Repetir los pasos 3, 4, 5 y 6 hasta agregar dos atributos más:
"email" STRING requerido
"aceptada" BOOLEAN (no requerido)
Una vez definido el BDM, debemos desplegarlo para hacerlo disponible para el proceso. Tenemos dos opciones: "desplegar", la acción habitual; "despliegue limpio", para cuando queremos eliminar todo dato anterior, limpiar la base de datos y generar o regenerar los modelos de datos presentes.
Ten en cuenta que el despligue limpio elimina todo, lo que significa la desaparición de los datos de anteriores ejecuciones. Para este ejemplo nos da igual una u otra opción, se supone que no tenemos nada previamente almacenado que nos importe.
Al terminar el despliegue nos avisará de ello. Confirmamos.
El BDM siempre puede editarse, solo tienes que pinchar dos veces en bom.xml en el panel izquierdo, o "abrir" en el menú contextual. Podrás cambiar, añadir o eliminar lo que desees.
Pero, recuerda, siempre que cambies el BDM debes desplegarlo de nuevo antes de continuar modelando el diagrama.
Este es el nombre que, por ejemplo, se utilizará al exportar el diagrama al disco duro. Ten en cuenta que un diagrama puede contener varios procesos.
Debes pinchar con el ratón fuera de la caja del proceso (fuera del pool) para poder acceder a las propiedades generales del diagrama.
Solo editamos el nombre, que pasará a ser Mi primer Diagrama.
Con el pool seleccionado,
cámbiale el nombre a Buzón de sugerencias
Recuerda que el pool representa el proceso, y la senda o sendas los responsables de las tareas a realizar.
Bonita BPM comienza cada nuevo proceso con un pool, una senda, un evento de inicio y una tarea humana. Ahora nos toca cambiar todo esto.
Este cambio de nombre del proceso, en realidad, ya lo podíamos haber hecho en el paso anterior al renombrar el diagrama. No importa cómo lo hagas. Tampoco importa el orden, o si lo dejas para el final, pero seamos ordenados.
Esto, ahora mismo, es más estético que funcional. Simplemente por actuar en la senda y cambiarle el nombre. Las sendas (lane) indican responsabilidad: quién o quiénes son los responsables —generalmente ejecutores— de ese conjunto de tareas.
Con la senda seleccionada
cámbiale el nombre a Recepcionista
Dentro de los tipos de variable que podemos manejar, las de negocio son aquellas que nos interesa almacenar y que constituyen el resultado persistente de la ejecución. Por ejemplo, los datos de quién solicita qué, y la aprobación o denegación de dicha solicitud.
Una variable de negocio es accesible durante todo el proceso, y genera una entrada de base de datos con los valores finales que se almacenen en ella.
Con la senda seleccionada
Agrega variable de negocio laAprobacion. Para ello debes acceder a la pestaña "Datos" en el panel inferior de Bonita Studio, con el diagrama a la vista, y el pool o un lane seleccionado —pincha dentro de la caja del proceso—. La variable de negocio tendrá un tipo, precisamente el BDM que hemos definido anteriormente.
Al final debes ver:
La idea de este proceso es que un solicitante inicia el proceso con los datos de quién es él (email), y qué sugiere (sugerencia) que se haga en la empresa. La instanciación de un proceso es, para nosotros ahora mismo, la generación del primer formulario que el usuario utilizará para hacer su sugerencia.
Bonita utiliza los contratos como una forma de facilitar la creación de esos formularios y proporcionar cierta independencia de datos.
Como es el primer formulario, los únicos datos que queremos tratar de la variable de negocio son el texto de sugerencia y el email. El check "aceptada" lo dejaremos para después.
Con el pool o la senda seleccionada:
Como decíamos, no estamos obligados a utilizar todos los atributos del BDM; "aceptada" será un valor que se utilice más tarde, si el responsable acepta o no la sugerencia; en la instanciación, en el formulario que se construirá a partir de este contrato, un usuario expone qué sugiere y cuál es su correo electrónico —la "sugerencia a introducir en el buzón"—.
Se pueden producir diálogos adicionales antes de finalizar la configuración. Simplemente, "aceptar".
Teniendo el contrato previamente definido, el formulario lo consultará y creará los controles estándar para esos datos que hemos seleccionado.
Este formulario no lo vamos a modificar, simplemente le daremos nombre y lo guardaremos. Después verás para qué sirve.
Esta acción abre UIDesigner en un navegador con una plantilla básica de formulario.
Los controles que vemos son los que definimos en el contrato.
Solo cambiamos el nombre a sugerencia y guardar.
Automáticamente, Bonita BPM se actualiza con el nombre del formulario recién guardado.
Antes de empezar, démosle un título descriptivo a la tarea. Esto se puede hacer en cualquier momento.
Con la tarea seleccionada, edita el nombre de la tarea y usa valorar sugerencia.
Vamos con el contrato propiamente dicho.
A continuación, solo hemos de pulsar "siguiente", todo lo demás y lo ha configurado Bonita.
Alguien ha hecho una sugerencia en la instanciación del proceso para que, ahora, el encargado de procesarlas, no sabemos quién, las valore. El cometido de la tarea "valorar sugerencia" es ese, decidir si se acepta o no. Démonos cuenta de que el único atributo que requiere una entrada aquí, un valor nuevo, es laAprobacion.aceptada.
No elegimos ni sugerencia ni email, ya los hemos utilizado en el formulario anterior, el de instanciación. Si los marcáramos, reemplazaríamos los valores introducidos en el formulario de instanciación por otros nuevos.
Normalmente ya vendrá seleccionado por defecto, pero es aconsejable tener marcada la opción "generación automática de las operaciones de almacenamiento". Esto hace que los datos que introduzcamos en el formulario se almacenen en la variable de negocio.
Nuevamente, pueden producirse diálogos adicionales de confirmación que aceptaremos sin más.
Efectivamente, podemos comprobar que se ha generado una operación de asignación desde una entrada de formulario —que está preparada para ser usada en el siguiente paso— hacia la variable de negocio laAprobacion utilizando una función java —también generada automáticamente, esta desde el BDM— setAceptada().
Continuamos con la creación del formulario, siguiendo la misma mecánica que antes.
Antes de pasar al editor de formularios, nos informa de que aquellos elementos de la variable de negocio que no hemos seleccionado en el contrato se mostrarán como solo lectura. En la mayor parte de las ocasiones tiene sentido —se nos muestra la información generada anteriormente en el proceso—, pero nos da la opción de elegir. En nuestro caso, aceptamos.
Tampoco vamos a hacer modificaciones sobre este formulario; simplemente, le cambiamos el nombre a aceptarSugerencia.
En tiempo de desarrollo no es estrictamente necesario dar este paso de generación de formularios. Si Bonita lo necesitase, podría definir esos formularios automáticamente cada vez que ejecutemos; no serían permanentes pero tendrían el mismo aspecto que el que acabamos de crear.
Cuando el proceso entre en producción sí necesitaremos tener perfectamente definidos los formularios.
Ya hemos terminado. Ahora vamos a ejecutar el proceso y ver el comportamiento de este.
Si todo es correcto, se nos abrirá una ventana en el navegador con el Portal de Bonita, la aplicación web que gestiona los procesos en ejecución, y con el formulario de instanciación listo para introducirle datos.
Una vez pulsado el botón "enviar" (submit), tendremos que ir a la pestaña "Tareas", y a tareas "por hacer".
A la derecha muestra el formulario definido para la tarea "valorar sugerencia". Y es que esta página nos informa, como usuario destinatario de la misma, que alguien ha lanzado el proceso y que tenemos una tarea por hacer —de ahí que se diga "tarea de intervención humana"—; alguien nos pide que valoremos la sugerencia que ha enviado al sistema.
Lo primero que debemos hacer es "tomar" la tarea. Iniciaremos la tarea, entrará en ejecución. Esto nos permite rellenar el formulario de la derecha —selecciona "aceptada"— y pulsar "enviar".
El proceso ha terminado, no hay más tareas que ejecutar. Ahora toca comprobar que esos valores que hemos introducido en los formularios se han almacenado. Dependiendo de las ejecuciones que hayas hecho, esta pantalla tendrá más o menos información, la de "casos archivados", esto es, resultados de procesos correctamente ejecutados. Nosotros buscamos el último caso de "buzón de sugerencias", y sus resultados se podrán ver si se pulsa en ID del caso o en los tres puntos de la derecha.
Pasamos por una nueva página en la que elegimos el "formulario resumen".
Y, efectivamente, vemos los datos que esperábamos, los que se han guardado en la base de datos —en el BDM, modelo de datos de negocio—.
Más adelante profundizaremos en todo este desarrollo.