En esta entrada desarrollaremos un diagrama BPMN en el programa Intalio Designer, es decir, crearemos un proceso ejecutable en este caso basándonos en el siguiente planteamiento:
"Un empleado envía una
información para ser revisada. A un gerente se le envía la información para su
revisión, quien tiene la potestad de aprobarla o rechazarla. Si se aprueba, el
empleado recibe una notificación y el proceso culmina. De lo contrario al empleado
se le envía la información para su corrección. El empleado procede a realizar
los cambios y a enviar la información de vuelta. Luego se envía una
notificación al gerente y el proceso culmina."
Para comenzar debemos abrir la herramienta "Intalio Designer", aparecerá la siguiente ventana donde seleccionamos la ruta donde se guardará el diagrama y los formularios. Y posteriormente como no estamos registrados, le damos a later y se abrirá la interfaz.
Lo primero que debemos hacer en la interfaz es crear un Proceso y le colocamos un nombre:
Luego, creamos el diagrama del proceso y le definimos un nombre:
Nos aparece el diagrama con un pool por defecto, aquí modificamos el pool ya existente y creamos los otros pool necesarios para modelar el proceso, para ello nos apoyamos de la herramienta "Pallete" que sale en la parte izquierda de la interfaz, donde están todos los elementos de representación de BPMN.
Comenzaremos haciendo el pool del Proceso:
Ahora tenemos que cambiar de perspectiva a "Intalio Designer Form Editor" para realizar los formularios:
Y creamos un nuevo formulario, le modificamos el nombre:
Se abrirá la siguiente pestaña en donde podemos apreciar la herramienta "Workflow Form Editor Palette", donde se encuentran los elementos para hacer los formularios de acuerdo a lo que se necesite:
Para agregar los elementos debemos arrastrarlos hasta el área cuadriculada, y en la pestaña "Property" debemos modificar el nombre del elemento en "Control Label", seleccionar el tipo de dato que será en "Input/Output", si es de solo lectura poner "true()" en "Read-only", modificar el tipo de dato que es en "Schema Type", entre otras opciones.
En este ejemplo, necesitaremos 5 formularios:
El primero "EnviaSolicitud" tendrá: un Asunto (Text Input), una Justificación (Text Area), un Monto (Text Input, de Schema Type double).
El segundo "EnvioRecepcionDeInformacionAGerente" tendrá: un Asunto (Text Input), una Justificación (Text Area), un Monto (Text Input, de Schema Type double), un Empleado (Text Input), una Fecha Solicitud (Text Input, de Schema Type date), un Aprobado (Check Box, donde su valor será 1 si es aprobado) y unos Comentarios (Text Area).
En el tercero "NotificacionDeAprobacion" tendrá: un Label que indicará que la solicitud ha sido aprobada.
En el cuarto formulario "SolicitudDeCorrecion" se tendrá: un Gerente (Text Input), una Fecha de Revision (Text Input, de Schema Type date), unos Comentarios (Text Area), un Asunto (Text Input), una Justificacion (Text Area), un Monto (Text Input).
Y en el quinto formulario "RecibeNotificacionDeCorrecion" se tendrá: un Label que indicará al Gerente que el Empleado ha corregido la solicitud.
Ahora que ya hemos terminado de crear los formularios, nos cambiamos de perspectiva a "Intalio Designer" para agregarlos a nuestro diagrama, y debemos elegir en cada caso a que tipo pertenecen, si son de InitProcess, de Create and Complite, de Notify o Escalate:
Hacemos eso en cada caso y obtenemos el siguiente diagrama final:
Ahora tenemos que hacer el Mapeo, en este ejemplo se necesita en el GateGay, lo seleccionamos y abajo en la pestaña Mapper ubicamos en la columna izquierda buscamos a "EnvioRecepcionDeInformacionAGerenteNotifyTaskCompletionRequestMsg", luego TaskOutput, en output buscamos "Aprobado", en la columna central agregamos la condicion de que sea igual a 1 y si esta se cumple la relacionamos con el condition de la columna izquierda:
Luego debemos seleccionar el pool de Empleado y en la pestaña Properties en Workflow agregarle el rol: examples\msmith. Y análogamente en el pool Gerente pero con examples\ewilliams.
Ahora debemos abrir el servidor hasta que muestre que el servidor Catalina está levantado:
Ahora sin cerrar esta consola, debemos en Intalio hacer el Deploy del proceso y esperar a que muestre un mensaje que se ha realizado correctamente.
Finalmente debemos abrir en el explorador esta direccion del localhost y comprobar en la consola que esta el proceso subido, ingresando con el usuario "admin" y la clave "changeit":
Desde aquí podemos verificar el diagrama del proceso:
Ahora debemos ingresamos a localhost como el usuario "examples\msmith" y clave "password", ahi debe aparecer nuestro programa como si fueramos un Empleado, y si luego entramos con el el usuario "examples\ewilliams" y clave "password" nos debería salir el programa como si fueramos un Gerente. El programa se ejecuta por pestañas es decir comienza en la pestaña Processes y luego dependiendo si se genera un Create and Compleate se ira a la pestaña Tasks o si es un Notify a la pestaña Notifications.
En mi caso aunque no me sale ningún error, y el Deploy se realiza correctamente, cuando abro con cualquiera de estos usuarios (admin, msmith o ewilliams) no me aparece ningun proceso:
=S cuando sepa por qué ocurre eso en mi pc les aviso!!
Hay ciertas cosas que para hacerlas bien no basta haberlas aprendido.
(Lucio Anneo Séneca)
No hay comentarios:
Publicar un comentario