Вы находитесь на странице: 1из 20

Ejercicios

Copyright 2015 Bonitasoft

Tabla de contenidos
Prefacio ........................................................................................................................................................... 3
1. Ejercicio: Modelado de proceso bsico .............................................................................................................. 4
2. Ejercicio: Datos y formularios auto-generados .................................................................................................... 6
3. Ejercicio: Proceso con una puerta exclusiva ....................................................................................................... 8
4. Ejercicio: Formularios personalizados .............................................................................................................. 12
5. Ejercicio: Manejo de Actores ......................................................................................................................... 16
6. Ejercicio: Conector de notificacin .................................................................................................................. 18

Prefacio
El objetivo de los ejercicios es crear un proceso bsico de solicitud de vacaciones.
El proceso se ejecutar de la siguiente manera:
1. Un empleado solicita unas vacaciones
2. El supervisor del solicitante valida la solicitud
Para implementar este proceso vamos a seguir un acercamiento iterativo mezclando contenido terico y ejercicios prcticos. Cada
ejercicio le permitir construir un ejecutable y una versin ms completa del proceso.
Cada ejercicio se divide en 3 secciones:
Objetivo - Presenta los objetivos del ejercicio.
Instrucciones - Contiene un resumen de los pasos principales requeridos para completar el ejercicio.
Correccin - Contiene una descripcin detallada de los pasos requeridos para completar el ejercicio.

1. Ejercicio: Modelado de proceso bsico


Objetivo
El objetivo de este ejercicio es crear una primera versin bsica del diagrama de proceso de solicitud de vacaciones.
En esta fase el proceso es ejecutable pero tiene un valor limitado desde el punto de vista de negocio ya que no dispone an de
formularios o datos. Lo extenderemos en los ejercicios siguientes.

Instrucciones
Para hacer el ejercicio, crea un diagrama "Diagrama Solicitud de Vacaciones" en versin 1.0 que contenga un proceso "Solicitud
de Vacaciones" en versin 1.0.
El proceso debera contener los siguientes elementos BPMN:
Un evento de inicio llamado "Rellenar solicitud"
Una tarea humana llamada "Validar solicitud"
Un evento de terminacin llamado "Fin - Solicitud procesada"

Correccin
1. Inicia Bonita Studio.
2. Crea un nuevo diagrama de proceso.
3. Nombra el diagrama y el proceso.
Haz click en cualquier parte del fondo del diseo del diagrama pero fuera del pool (esto seleccionar el diagrama).
Navega hasta la pestaa "General / Diagrama" y pulsa sobre "Editar...".
Introduce "Diagrama Solicitud de Vacaciones" como nombre de diagrama y "Solicitud de Vacaciones" como nombre de
proceso.

4. Renombra el evento de inicio a "Rellenar solicitud".


Selecciona el evento de inicio del proceso.
Navega hasta la pestaa "General / General" e introduce el nuevo nombre.
5. Renombra la tarea humana a "Validar solicitud".

Ejercicio: Modelado de proceso bsico

6. Aade un evento de terminacin llamado "Fin - Solicitud procesada".


Selecciona la tarea humana, y arrastra el icono de evento (A) desde el men contextual y selecciona el evento de terminacin
(B).

Una vez creado el evento, renmbralo.


7. Asegurate que el diagrama coincide con el siguiente:

8. Guarda el proceso.
Haz click en "Guardar" en el men superior del Studio.
9. Ejecuta el proceso.
Haz click en "Ejecutar" en el men superior del Studio y navegue por los distintos formularios.

2. Ejercicio: Datos y formularios autogenerados


Objetivo
El objetivo de este ejercicio es continuar con la implementacin del proceso de solicitud de vacaciones aadindole datos.
Una vez completado, el proceso ser ejecutable y mostrar los formularios generados automticamente.

Instrucciones
Duplica el diagrama de proceso del ejericio anterior para crear la versin 2.0.
Aade los siguientes datos a nivel de proceso:
diaInicio (Fecha)
numDias (Entero)
aprobado (Booleano)

Correccin
1. Duplica el diagrama de proceso del ejercicio anterior para crear la versin 2.0.
En el men superior del Studio, Haz click en "Proceso / Duplicar".
Modifica los nmeros de versin del diagrama y del proceso.
2. Aadir datos de proceso.
Selecciona el proceso.
Navega hasta la pestaa "General / Data" y Haz click en "Aadir".

Nombra a la variable como "diaInicio" (como es un nombre tcnico no debe contener espacios en blanco ni caracteres especiales).

Ejercicio: Datos y formularios auto-generados


Selecciona como tipo "Fecha".
Haz click "Acabar & Aadir".
3. Aade una variable "numDias" de tipo "Entero".
Haz click "Acabar & Aadir".
4. Aade una variable "aprobado" de tipo "Booleano".
Haz click "Finalizar".
5. Asegrese que los datos del proceso estn definidos como en la siguiente imagen:

6. Guarda el proceso.
Haz click en el botn "Guardar" del men superior del Studio.
7. Ejecuta el proceso.

3. Ejercicio: Proceso con una puerta


exclusiva
Objetivo
El objetivo de este ejercicio es extender el proceso existente aadiendo una validacin dinmica a la solicitud de vacaciones. Para
alcanzar dicho objetivo usaremos una compuerta exclusiva que derivar en dos caminos distintos: el primero cuando la solicitud
se acepte, y la otra se rechace.

Instrucciones
Duplica el diagrama de proceso del ejercicio anterior para crear la versin 3.0.
Modifica el diagrama para aadir los siguientes elementos despus de la tarea "Validar Solicitud":
una compuerta exclusiva llamada "Aceptado?"
una tarea de servicio llamada "Notificar aceptacin solicitud"
un evento de terminacin llamado "Fin - Solicitud rechazada"
una tarea de servicio llamada "Notificar rechazo de solicitud"
un evento de terminacin llamado "Fin - Solicitud aceptada"
Configura las transiciones salientes de la puerta exclusiva para que puedan controlar dinmicamente el flujo basndose en los
datos del proceso.

Correccin
1. Duplica el diagrama de proceso del ejercicio anterior para crear la versin 3.0.
2. Elimina el evento de terminacin.
Selecciona el evento en el diagrama y pulsa "Suprimir" en su teclado.
3. Aade una puerta exclusiva llamada "Aceptado?" seguida de la tarea humana "Validar Solicitud".
Selecciona la tarea "Validar Solicitud", pincha y arrastra del icono de compuerta del men contextual.

Cuando hayas creado la compuerta, utiliza el icono "herramientas"(1) para modificar el tipo a "Exclusiva"(2).

Ejercicio: Proceso con


una puerta exclusiva

Cambia el nombre de la compuerta a "Aceptado?".


4. Crea una tarea de servicio llamada "Notificar aceptacin solicitud" despus de la compuerta.
5. Aade un evento de terminacin llamado "Fin - Solicitud aceptada" seguida de la recin creada tarea automtica.
6. Crea una tarea de servicio llamada "Notificar rechazo de solicitud" despus de la compuerta.
7. Aade un evento de terminacin llamado "Fin - Solicitud rechazada" seguida de la recin creada tarea automtica.
8. Agrega una etiqueta a las dos transiciones salientes de la compuerta
La transicin que conecta con "Notificar aceptacin solicitud" deber llamarse "Si" y la otra "No".
9. Configura la condicion en la transicion "Si" usando la variable "aprobado".
Selecciona el flujo y selecciona la variable "aprobado" del desplegable.
10.Define el flujo "No", como flujo por defecto.
Selecciona el flujo y marca el check "Flujo por defecto".
11.Valida el diagrama.
Cuando las condiciones de los flujos estn definidas, podrs validar el diagrama. Para ello, haz click en "Proceso / Validar"
del men superior del Studio.
12.Asegrese que su diagrama coincide con:

13.Ejecuta varias veces el proceso para comprobar los distintos caminos.


Aviso: no hagas click varias veces en el botn "Ejecutar", esto redesplegar el proceso y limpiar el historico. Para crear una
segunda instancia de proceso, debers navegar por el Bonita Portal.
Abre el Portal con el botn con dicho nombre en la barra de iconos superior o desde el link de la esquina superior derecha
del entorno web:

Ejercicio: Proceso con


una puerta exclusiva

Despus, navega al men "Procesos" y selecciona la definicin de proceso "Solicitud de Vacaciones" con versin 3.0 y haz
click en "Iniciar".
14.Comprueba que el proceso se ha ejecutado correctamente desde la interfaz de administracin del Portal.
En el Portal, cambia al perfil "Administrador" desde el desplegable de arriba a la derecha.

Navega hasta el men "Gestin de Procesos / Casos"(1) luego, cambia a la pestaa "Casos Archivados"(2) y haz click en el
icono del ojo(3) para ver los detalles del caso.

Comprueba la seccin "Tareas Hechas" para validar la ejecucin del procesos:

10

Ejercicio: Proceso con


una puerta exclusiva

11

4. Ejercicio: Formularios personalizados


Objetivo
El objetivo de este ejercicio es disponer de una interfaz amigable para la ejecucin del proceso.

Instrucciones
Duplica el diagrama de proceso del ejercicio anterior para crear la versin 4.0.
Crea los siguientes formularios:
Un formulario de instanciacin "Rellenar solicitud de vacaciones" donde agregar las variables "diaInicio" y "numDias".
Un formulario de tarea "Validar Solicitud de vacaciones" que muestre las variables "diaInicio" y "numDias" en solo lectura
y permita definir la variable "aprobado".

Correccin
1. Duplica el diagrama de proceso del ejercicio anterior para crear la versin 4.0.
2. Crea un formulario de instanciacin llamado "Rellenar solicitud de vacaciones".
Selecciona el pool del proceso y navega a la pestaa "Aplicacin / Formulario" y haz click en "Aadir"
Introduce el nombre del formulario. Marca los campos "diaInicio" y "numDias" y mrcalos como "Mandatorios". Haz click
en "Finalizar".

3. Modifica la etiqueta del botn "Enviar" para hacerlo ms amigable.


Selecciona el widget "Enviar1" y navega a la pestaa "General / General" y cambia el texto de la etiqueta a "Enviar".
12

Ejercicio: Formularios personalizados

4. Crea el formulario "Validar Solicitud de vacaciones" en la tarea humana "Validar Solicitud".


Selecciona la tarea humana y navega a la pestaa "Aplicacin / Formulario" y haz click en "Aadir".
Introduce el nombre del formulario. Marca los campos "diaInicio" y "numDias" y mrcalos como "Solo lectura". Haz click
en "Finalizar".
5. Crea una nueva columna en el formulario y reparte los dos campos en dos columnas.
Haz clic en el smbolo "+" verde de la esquina superior derecha de la grilla del formulario para crear una nueva columna.

Selecciona el campo "Da inicio" y extiendelo a 2 columnuas con la flecha negra mostrada en el lado derecho del widget.
Repite la misma operacin con el campo "Nmero de das".
6. Aade un botn "Aceptar" en la parte inferior derecha del formulario.
Selecciona de la paleta a la izquierda del editor el widget "Enviar" y haz click en la ltima celda vaca.

Selecciona el widget recin aadido, navega a la pestaa "General / General", define el nombre del botn como "btnAceptar"
y cambia la etiqueta a "Aceptar".
7. Aade una accin al botn "Aceptar" para aceptar la solicitud.
Con el botn seleccionado, navega a la pestaa "General / Acciones" y haz click en Aadir.
Selecciona la variable "aprobado" en el campo "destino".
13

Ejercicio: Formularios personalizados

Haga click en el icono del lpiz a la derecha. Asegrese que est seleccionada la opcin "Constante". Defina el "Valor" a
"true" (sin comillas) y defina el tipo de retorno como "java.lang.Boolean". Pulse Aceptar.

Despus de configurar la accin, el resultado debera ser:

8. Seleccione el botn "Enviar1" y modifique su nombre a "btnRechazar" y su etiqueta a "Rechazar".


9. Aade una accin al botn "Rechazar" para rechazar la solicitud.
Procede de la misma manera que para el botn "Aceptar": aade una accin que agregar el valor "false" (sin comillas) a la
variable "aprobado".
10.Ejecuta el proceso varias veces para testar los diferentes caminos y asegrate de que los datos son guardados correctamente de un formulario al otro.

14

Ejercicio: Formularios personalizados

11.Comprueba el detalle de los casos archivados para comprobar que se han tomado los caminos correctos.

15

5. Ejercicio: Manejo de Actores


Objetivo
El objetivo de este ejercicio es aadir colaboracin al proceso existente repartiendo los formularios (tareas) entre 2 actores: un
solicitante y un validador.

Instrucciones
Duplica el diagrama de proceso del ejercicio anterior para crear una versin 5.0.
Aade una senda "Validador" al diagrama y mueve la tarea "Validar solicitud" a ella.
Aade un filtro de actor de tipo "Gerente del iniciador" a la senda "Validador".

Correccin
1. Duplica el diagrama de proceso del ejercicio anterior para crear una versin 5.0.
2. Aade una senda "Validador" al proceso.
Selecciona el elemento "Senda" de la paleta BPMN y pulsa sobre el proceso.

Con la senda seleccionada, navega a "General / Senda" y define su nombre como "Validador".
3. Renombra la otra senda a "Solicitante".
4. Pincha y arrastra la tarea "Validar Solicitud" a la senda "Validador".
5. Aade un filtro de actor "Gerente Iniciador" a la senda "Validador".
Selecciona la senda "Validador" y navega a la pestaa "General / Actores".
Selecciona el actor "Employee actor" del men desplegable.
Haz click en el boton "Definir" del filtro de actor.
Selecciona el filtro de actor "Gerente Iniciador" de la lista y haz click en "Siguiente".
Nmbralo como "managerSolicitante" y haz click en "Finalizar".
6. Asegrate que el diagrama es as:

16

Ejercicio: Manejo de Actores

7. Ejecuta el proceso con los dos actores.


Ejecuta el proceso desde el Studio (se usar el usuario "Walter Bates").
Envia el formulario "Solicitar vacaciones". Si los actores estn correctamente definidos, la tarea "Validar solicitud de vacaciones" ya no debera estar disponible.
Desconecta del portal pulsando en el nombre de usuario en la esquina superior derecha y haz click en "Cerrar Sesin".

Conecta con el usuario "helen.kelly" y contrasea "bpm".


Si el filtro de actor se ha ejecutado correctamente, la tarea "Validar solicitud de vacaciones" deber estar disponible en la
lista de tareas.

17

6. Ejercicio: Conector de notificacin


Objetivo
El objetivo de este ejercicio es de demostrar la interacin de Bonita BPM con un sistema externo mediante el uso de un conector.
En este contexto, vamos a notificar al solicitante de vacaciones sobre el estado de su solicitud con un conector de email.

Instrucciones
Duplica el diagrama de proceso del ejercicio anterior para crear la versin 6.0.
Aade un conector de email en las tareas automticas "Notificar aceptacin solicitud" y "Noficar rechazo de solicitud". Estas
tareas enviarn un correo electrnico al solicitante con el estado de la solicitud.
El siguiente cdigo ser utilizado para obtener el email del solicitante en el conector:
import
import
import
import

org.bonitasoft.engine.api.IdentityAPI;
org.bonitasoft.engine.api.ProcessAPI;
org.bonitasoft.engine.bpm.process.ProcessInstance;
org.bonitasoft.engine.identity.ContactData;

// Get APIs
ProcessAPI processAPI = apiAccessor.getProcessAPI();
IdentityAPI identityAPI = apiAccessor.getIdentityAPI();
// Get process initiator
ProcessInstance processInstance = processAPI.getProcessInstance(processInstanceId);
long initiatorUserId = processInstance.getStartedBy();
// Get email from process initiator
ContactData contactData = identityAPI.getUserContactData(initiatorUserId, false);
return contactData.getEmail();

Correccin
1. Duplica el diagrama de proceso del ejercicio anterior para crear la versin 6.0.
2. Prueba el conector de email para obtener la configuracin SMTP correcta.
Navega a "Desarrollo / Conectores / Probar Conector" en el men superior.
Selecciona el conector "Correo electrnico (SMTP)" bien haciendo una bsqueda en el filtro, o seleccionando la categoria
"Mensajera", despues haz clic en "Siguiente".
Rellena los parmetros de conexin basados en su cuenta de correo electrnico y pulse en "Siguiente".
Introduce tu email en los campos "De" y "A" y pulsa en "Siguiente".
Introduce "Bonita Test" como asunto y pulse en el botn "Prueba", confirma la siguiente ventana si aadir ninguna dependencia.
En este punto, deber recibir un mensaje similar al siguiente:

18

Ejercicio: Conector de notificacin

Asegrate que se recibe el email, (puede tomar unos minutos). Si no se recibe, modifica la configuracin del conector y reejectalo.
Una vez la configuracin es vlida, haga click en "Guardar".

Nombra la configuracin del conector "emailConfig" y gurdela.


Cierra la pantalla de test de conector.
3. Aade un conector de email en la tarea "Notificar aceptacin solicitud".
Selecciona la tarea, navega hasta la pestaa "General / Conectores" y haga click en "Aadir"..
Selecciona el conector "Correo electrnico (SMTP)" .
Nmbralo "enviarEmailAceptacionSolicitud" y haga click en "Siguiente".
No rellenee los parmetros, selecciona el botn "Carga":

Selecciona la configuracin "emailConfig" y continue hasta la pgina "Direccin de email".


Introduce tu email en el campo "De".
Utiliza el icono de lpiz para editar la expresin en el campo "A".
Selecciona como tipo de expresion "Script", nombra el script como "obtenerEmailSolicitante" y pega el siguiente cdigo en
la zona de edicin:
import
import
import
import

org.bonitasoft.engine.api.IdentityAPI;
org.bonitasoft.engine.api.ProcessAPI;
org.bonitasoft.engine.bpm.process.ProcessInstance;
org.bonitasoft.engine.identity.ContactData;

// Get APIs
ProcessAPI processAPI = apiAccessor.getProcessAPI();
IdentityAPI identityAPI = apiAccessor.getIdentityAPI();
// Get process initiator
ProcessInstance processInstance = processAPI.getProcessInstance(processInstanceId);
long initiatorUserId = processInstance.getStartedBy();
// Get email from process initiator

19

Ejercicio: Conector de notificacin

ContactData contactData = identityAPI.getUserContactData(initiatorUserId, false);


return contactData.getEmail();
Avanza a la siguiente pgina y define como asunto "Solicitud de Vacaciones Aprobada".
Haz click en "Finalizar".
4. Aade un conector de email en la tarea "Noficar rechazo solicitud".
Repite los pasos previos nombrando el conector como "enviarEmailRechazoSolicitud" y configurando "Solicitud de Vacaciones Rechazada" como asunto.
5. Modifica el email del usuario "Walter Bates" que usaremos para la prueba.
Abre el Portal desde el Studio usando el botn en el men superior:

Cambia al perfil "Administrador" y navega al men "Organizacin / Usuarios".


Selecciona el usuario "Walter Bates" y haz click en botn "Ms".
Haga click en "Actualizar Usuario".
Selecciona la pesataa "Tarjeta de Visita".
Introduce su email en el campo correspondiente.
Guarda los cambios y cierra el Portal.
6. Ejecuta varias veces el proceso para comprobar los distintos caminos, y comprobar que recibe el email correspondiente.

20

Вам также может понравиться