Introduccin al diseo e implementacin de un proceso con la herramienta BPMS BonitaSoft. Descripcin del proceso: El proceso se encarga de permitir que un cliente de una tienda pueda acceder al sitio online de la tienda, seleccionar varios artculos los cuales deben ser aprobados por un empleado de forma manual, esto puede llevar a que el cliente compre los artculos con su tarjeta de crdito, o a que rechace la compra o a que se pida ms informacin sobre los artculos a comprar. Si se ejecuta el pago entonces los artculos sern enviados al cliente en 3 das hbiles y la transaccin ser archivada, en caso de que se rechace la compra tambin se archiva la transaccin. En cualquier caso se da por terminado el proceso. 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 pequeo rectngulo, 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 informacin general sobre la misma. Como se puede apreciar hemos cambiado su nombre, descripcin 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 recin creada podremos crear una nueva tarea, Pagar, donde se completa la informacin del pago por la compra que se est realizando.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 2- Puede darse el caso de que la informacin introducida de la tarjeta de crdito no sea vlida o que no se desee terminar la compra as que damos la opcin de otra tarea Rechazar la cual es creada a partir de la primera actividad.
Llegados a este punto hemos visto que de forma muy fcil podemos ir creando tareas conectadas entre s y modificar su informacin general para lograr un diseo adecuado y entendible del proceso. Ahora podemos editar el pool sobre el que estamos trabajando y cambiamos su nombre y descripcin. Deben ver un pool como ese rectngulo horizontal que delimita la zona donde hemos puesto las tareas hasta el momento.
Par realizar la edicin solo tienen que marcar el nombre del pool y luego en General -> Pool darle al botn Editar. Despus de terminada esta accin debemos agregar otras tareas ms: Entrega express que nos permite una vez realizada la compra entregarle sus artculos al cliente en el plazo de 3 das. Ms Informacin para el caso en que el empleado de ventas requiera ms detalles sobre la compra que se desea realizar. UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 3- Archivar que nos permite guardar la transaccin realizada cualquiera sea su terminacin. 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 Ms Informacin nos permite recopilar la informacin 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 mltiples 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 conexin de Inicio1 con Revisin 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 informacin.
En el estado en que qued el proceso en la entrada anterior aun no es funcional, eso se debe a que no se han definido: No se ha definido la forma en que se capturar y se manejar la informacin. Las pantallas que vern los actores y trabajadores de este proceso. Por lo que en esta entrada nuestro objetivo ser mostrar como capturar y manejar la informacin usando variables dentro del proceso. Para luego en la siguiente entrada ver como se manejan las condiciones y transiciones que determinan el flujo del proceso. USO DE VARIABLES Las variables se usan para: Capturar informacin en los formularios de los usuarios, y pueden ser globales cuando esta informacin se necesita a lo largo de todo el proceso o locales cuando solo se necesitan dentro de una actividad. Definir condiciones o transiciones entre actividades. Para comenzar el proceso necesitamos una ventana donde se capture informacin del usuario: UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 4-
Nombre. Nmero de telfono. Direccin de correo electrnico. Para crear las variables que almacenen esta informacin debemos dar clic en el pool del proceso y luego en la pestaa General, y seleccionar Datos.
Ah damos clic en Agregar y veremos la siguiente ventana.
Este es el mecanismo que estaremos usando siempre para crear variables.
Y lo llenamos de esta manera para la variable nombreCliente.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 5-
Ser lo mismo para las otras dos variables. Y terminaremos viendo lo siguiente:
Ahora bien, como no estamos obteniendo el listado de los productos que el cliente puede comprar de una fuente de datos, o sea dinmicamente, debemos crear una variable que contenga este listado de productos. As que volvemos a crear otra variable de la siguiente manera: UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 6-
Cuando llegamos a definir el tipo de dato ninguno cumple con nuestras necesidades as que damos clic en Lista de opciones y se nos muestra la siguiente ventana.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 7- Damos clic en Aadir y debemos crear nuestra lista de productos. Quedando como sigue:
Damos Aceptar. Nuestra variable quedara de la siguiente manera:
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 8- Vean que incluso definimos un valor por defecto para este escenario. Finalizamos y ya tenemos lo siguiente:
Ahora debemos aadir nuevas variables para las actividades de Ms Informacin y Pagar. Los pasos son los mismos as que solo les dejo la informacin a introducir y tengan en cuenta que ahora en vez de seleccionar el pool del proceso como hicimos anteriormente, debemos seleccionar la actividad en la que queremos exista esta variable, pues ser una variable local. Para Ms Informacin: Variable: comentario. Descripcin: informacin adicional introducida por el empleado de ventas. Tipo de dato: Texto. Multiplicidad: simple.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 9- Para Pagar: Variable 1: numeroTarjetaCredito. Descripcin: tarjeta de crdito del cliente. Tipo de dato: Texto. Multiplicidad: simple.
Variable 2: fechaExpiracion. Descripcin: fecha de expiracin de la tarjeta de crdito del cliente. Tipo de dato: Fecha(Date). Multiplicidad: simple.
Variable 3: escogerEntregaExpress. Descripcin: si es true se enva express, si es false se enva de forma normal. Tipo de dato: Booleano(boolean). Multiplicidad: simple.
Quedara as:
Como se ha podido apreciar toda la informacin que se maneje dentro del proceso debe ser recopilada en variables, y estas pueden ser tanto globales si es de inters para el proceso en general, o locales si solo interesan a una actividad en particular.
Hemos identificado una restriccin en este proceso y tiene que ver con la forma en que obtenemos el listado de productos a mostrar a los clientes. De la forma actual no es eficiente y tendra ms sentido que el listado se obtuviera dinmicamente de una BD o servicio web, ya que el mismo puede cambiar en dependencia de la disponibilidad de productos en los almacenes e incluso su informacin propia como puede ser el precio.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 10- DEFINIR CONDICIONES Y TRANSICIONES Cuando vemos la actividad de Revisin por ventas notamos que tiene 3 salidas, y podramos preguntarnos como el proceso sabe qu salida tomar. Y ese es el objetivo de las condiciones, definir cundo tomar una salida u otra. Para ello seleccionamos la actividad Revisin por ventas y damos clic en General y luego en Datos.
Creamos una nueva variable local, como se aprendi en la entrada anterior, con la siguiente informacin:
Variable: decision. Descripcin: mltiples opciones requieren una decisin. Tipo de dato: lista de opciones (ya sabemos cmo crearla) y sus valores son: 1. Aprobar. 2. Rechazar. 3. Ms informacin.
Y finalmente se ve as:
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 11-
Ahora viene la parte interesante porque debemos realizar lo siguiente: Seleccionar cada una de las transiciones, las lneas con saetas al final que van de la actividad Revisin por ventas hacia: Pagar cuando el valor de la decisin sea Aprobar Rechazar cuando el valor de la decisin sea Rechazar Ms Informacin cuando el valor de la decisin sea Ms Informacin Para hacer esto damos clic encima de una de las lneas, en este caso la que va de Revisin por ventas hacia Pagar.
Ah debemos especificar un nombre, y el resto de los campos que se nos piden, de la siguiente manera:
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 12- Se debe hacer lo mismo para las otras 2 lneas. Solo tengan en cuenta que a la hora de introducir la condicin debe de poner bien el nombre de la variable decision y el nombre del valor que debe tomar. En nuestro caso qued de la siguiente manera el proceso luego de hacer estos cambios:
Como pueden apreciar ya se ven las condiciones saliendo de la actividad Revisin por ventas y en cada condicin se muestra cul es su nombre. Ahora podemos ver que la actividad de Pagar tiene 2 condiciones tambin, una que se ejecuta cuando el cliente selecciona el envo Express y otra cuando el envo es regular, por lo que se deben realizar los mismos pasos anteriores para definir cuando el proceso se va por una y cuando se va por la otra. Recuerden que para esta actividad Pagar ya tenemos una variable que toma valor true, en caso de que el envo sea Express y false en caso de que el envo sea regular. Solo deben definir las condiciones. En nuestro caso queda as:
Lo interesante es que la variable que definimos en la actividad Pagar de nombre escogerEntregaExpress es de tipo boolean, o sea que tiene valores true o false, as que solo poniendo su nombre en la condicin esta es evaluada usando Groovy y con eso basta. Para el caso de la entrega regular ponemos lo siguiente:
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 13-
Vean el signo ! antes del nombre de la variable en la condicin, eso es para el caso en que su valor sea false, indicando que la entrega ser regular, el resultado final sea evaluado de true y se vaya por este camino. El proceso queda de la siguiente manera:
Como ven en cada iteracin se va haciendo ms comprensible, incluso para el personal no tcnico que es la idea que se busca, y va quedando clara cada una de las posibles alternativas que se pueden presentar durante su ejecucin. ACTORES Y EJECUTAR EL PROCESO. Los actores, son aquellas personas que interactan con el proceso a travs de las actividades humanas, introduciendo o modificando de alguna forma la informacin. En los BPMS los actores son seleccionados dinmicamente en base a determinados criterios. En nuestro caso introducimos la restriccin de crear una lista esttica de los mismos para facilitar la comprensin inicial del funcionamiento de la herramienta Bonita, ya ms adelante mostraremos como eliminar esta restriccin. En este proceso se requieren 2 tipos de actores: El iniciador del proceso. Los empleados de ventas. As que debemos: Definir ambos grupos al nivel del proceso. Ir a cada actividad que lo requiera y asignarles el grupo segn se necesite. Para realizar el primer paso damos clic en cualquier parte del pool y seleccionamos General y luego Actores. Veremos lo siguiente:
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 14- Por defecto la herramienta nos ha creado un actor y lo ha definido como iniciador, informndonos de que en caso de que no se defina uno, pues el proceso solo se puede iniciar desde el cdigo. En versiones anteriores como la 5.1 desde aqu mismo se podan crear grupos y dentro de cada grupo los actores. Ahora Bonita incluye desde hace algunas versiones el concepto de Organizacin entro de la cual se pueden crear los grupos, roles y usuarios de una organizacin. Para este ejemplo lo primero que deben hacer es ir a men superior y dar clic en la opcin Organizacin y luego dan clic en Administrar. Les saldr una pestaa con una organizacin por defecto Acme pero para crear la de esta aplicacin BPM pueden dar clic en Aadir e introducir los datos, tal y como se muestra a continuacin.
Como ven solo le he puesto un nombre y una descripcin, si quieren que aparezca como activa, es necesario que la publiquen en el portal, ya veremos cmo. Una vez que marquen la organizacin que acaban de crear podrn dar clic en el botn Siguiente y entonces se debe crear el grupo o los grupos que contendr nuestra organizacin. A fines de este ejemplo solo he creado un grupo.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 15-
Pero como pueden ver se pueden crear mltiples grupo e incluso subgrupos, eso queda a consideracin de los analistas del proyecto. Luego dan clic en Siguiente y creamos dentro del grupo anterior los roles necesarios para nuestra aplicacin. Nos quedara algo como lo siguiente:
Damos clic en Siguiente y pasamos a crear los usuarios. Importante que se fijen como un usuario se vincula con un grupo y a su vez con un rol dentro de dicho grupo.
Y hasta aqu esta primera parte, dan clic en Finalizar y listo. UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 16- Si vuelven a dar clic en el men Organizacin pueden seleccionar la opcin Publicar.
Seleccionan la organizacin que acaban de crear y si quieren le dan clic a Siguiente y de esta manera definen que usuario ser usado automticamente para acceder desde el portal a esta organizacin. Para finalizar le dan clic al botn Publicar. Y ya est publicada la organizacin en el portal.
Llegado este momento si le dan clic al botn que dice Ejecutar.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 17- Lo ms seguro es que les d un error pues falta algunos pasos por configurar. Vemoslos. Deben dar clic en el botn que dice Configurar y entonces vern un mensaje que dice que el actor no est asignado a ningn grupo o rol, deben dar clic en Grupos y seleccionar el grupo correspondiente. Esto para cada usuario que no est asociado a un grupo.
Luego deben dar clic donde dice Autenticacin y poner el usuario y la contrasea con la que se acceder a la aplicacin BPM una vez iniciada.
Ya pueden dar Finalizar y ejecutar el proceso. UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 18- Como no nos hemos dedicado aun a las interfaces grficas pues todo est muy verde aun, pero lo importante es que est funcional. Cuando el proceso es ejecutado veremos estas pantallas:
El primer problema que vemos es que no se listan los artculos que estn disponibles. Es algo que se arreglar despus. Los datos que ven lo hemos introducido para este ejemplo.
Le damos SUBMIT
Y se nos informa que tenemos una tarea disponible. Se nos muestra la informacin introducida por pepe el comprador en la pgina 1.
Y en la pgina 2:
Aparece por defecto la decisin de Aprobar, como ven no se nos muestran las otras opciones posibles de decisin y ser otro problema a solucionar. Le damos SUBMIT UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 19-
Y se nos informa que hay otra tarea disponible, le damos Pagar. Se nos vuelve a mostrar la informacin de la venta en la pgina 1.
Y en la pgina 2 podemos decidir si el envo es express, poner la fecha de vencimiento y el nmero de la tarjeta con que se pagar.
Llegado este punto pueden darle al botn SUBMIT pero si quieren pueden darle al botn que tienen en la esquina superior derecha y que los lleva al portal de bonita, donde podrn navegar por los diferentes elementos y ver las tareas ya hechas, los comentarios, las tareas asignadas y pendientes, etc.
UPeU-J: Sistemas de Informacin gerencial BPM Ing. Angel R. Condori Coaquira - 20-
Al darle a DO IT se nos muestra la misma interface anterior y le podemos dar a SUBMIT