2. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 1
Conceptos relacionados a JBPM
1. ¿Qué tipo de herramienta es JBPM?
2. Indicar 4 características de JBPM.
3. Indicar V/F
* JBPM requiere de JBoss Application Server.
* JBPM soporta toda la especificación BPMN2
* JBPM tiene varias herramientas para diseñar procesos.
* Una aplicación Java standalone que se ejecuta en un dispositivo Android
podría ejecutar un proceso de JBPM.
* JBPM no soporta human task
* El componente “Repositorio de JBPM” se encargara de ejecutar el proceso
y expone una interface para interactuar con ese proceso.
4. Según Red Hat, ¿Dentro de que suite de herramientas se encuentra
JBPM5?
5. Indicar todos los componentes de JBPM.
6. Indicar que componente o grupo de componentes le parece los más
importantes e indicar el motivo.
3. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 2
Preparando el ambiente de desarrollo
Contexto
1. Se asume:
* PC para desarrollo es un Windows 7 de 64 bits.
* Se tiene instalado el navegador Firefox versión 19.0.2
* Respetar TODAS las versiones y rutas indicadas en el presente
documento, en caso no fuera posible notificar la instructor.
2. Revisar que se cuente con los siguientes archivos:
* Instalador completo del JBPM5: jbpm-5.4.0.Final-installer-full.zip
* Instalador del ANT: apache-ant-1.8.4-bin.zip
* Instalador del JDK: jdk-6u43-windows-x64.exe, lo resaltado puede variar
dependiendo del tipo de Windows a utilizar.
4. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Instalación del JDK
1. Instalar el JDK en C:/java/jdk1.6.0_43
NO es necesario instalar el JRE por separado, dar clic en Cancel
5. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
2. Crear la variable de ambiente JAVA_HOME y que referencie a
C:/java/jdk1.6.0_43
Start -> Computer -> (Clic derecho) -> Properties -> Advanced system
settings -> Environmet Variables -> System Variables -> New:
3. Verificar el valor de la variable desde una ventana de comandos:
6. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Instalación del ANT
1. Desempaquetar el archivo apache-ant-1.8.4 .zip y colocarlo en:
C:apache-ant-1.8.4
2. Modificar la variable de entorno Path, agregar al final
;C:apache-ant-1.8.4bin
7. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
3. Probar que el comando ant sea reconocido desde una ventana de
comandos:
8. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Instalación del JBPM
Revisar que no se tenga alguna instancia de JBoss corriendo en la PC
1. Descomprimir el archivo jbpm-5.4.0.Final-installer-full.zip en
C:jbossjbpm540
2. Desde una ventana de comandos ejecutar:
ant install.demo.noeclipse
Esa tarea internamente va a ejecutar a:
install.jboss
install.db.files
install.guvnor.into.jboss
install.designer.into.jboss
install.jBPM-gwt-console.into.jboss
install.jBPM-ht.into.jboss
install.form.builder.into.jboss
install.jBPM.runtime
9. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Ver los resultados:
3. Iniciar JBPM con:
ant start.demo.noeclipse
Si desea dar Stop a JBPM con:
ant stop.demo
10. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
4. Revisar el log del JBoss
C:jbossjbpm540jboss-as-7.1.1.Finalstandalonelog
11. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Probando al JBPM
Se recomienda utilizar el navegar Firefox.
1. Revisando la console
http://localhost:8080/jbpm-console
Ingresar con usuario/clave admin/admin
Puede ver el video indicado y probar el proceso de prueba:
http://people.redhat.com/kverlaen/jbpm-installer-console.5.2.swf
2. Revisar el Drools Guvnor
http://localhost:8080/drools-guvnor
12. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 3
Plugins de Eclipse para JBPM
Para todos los casos es importante que el eclipse utilice el JDK 1.6.x,
puede presentar problemas si trabaja con JDK 1.7
I. Utilizando el Eclipse BPMN2 Plugin
1. Utilizar el Eclipse eclipse-SDK-3.7.2-win32 descomprimirlo en:
C:eclipseeclipse-BPMN2
Puede crear un acceso directo a eclipse.exe
2. Instalar el Eclipse BPMN2 Plugin
http://download.eclipse.org/bpmn2-modeler/site
13. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
3. Crear un proyecto Java de nombre TestBPMN2
14. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
4. Crear un proceso simple de nombre invocar_java_bpmn
15. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Ver el contenido del archivo en XML
5. Crear un proceso simple de nombre invocar_java_jbpm, observar que
seleccionamos de tipo JBPM Process.
16. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Diseñar el proceso mostrado:
Ver el contenido del archivo en XML
6. Indique las diferencias entre el XML del proceso según BPMN2 vs JBPM
17. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
II. Utilizando el JBPM Eclipse Plugin
1. Utilizar otra instalacion del Eclipse Classic, descomprimirlo en:
C:eclipseeclipse-JBPM
18. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
2. Instalar el JBPM Eclipse Plugin
El Plugin lo puede ubicar en: C:jbossjbpm540lib
org.drools.updatesite-5.5.0.Final-assembly.zip
19. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
3. Diseño de un proceso.
* Crear un proyecto Java de nombre: TestJBPM
* Crear un proceso de nombre: invocar_java
Diseño del proceso:
Nombre del proceso: invocar_java
20. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Id: invocar_java
Nombre del package: defaultPackage
Observar lo que realizará la única actividad.
System.out.println("Test desde JBPM");
4. Guardar el proceso en Guvnor:
Cambiar a la perspectiva Guvnor Repository Exploring
22. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Observar que el archivo esta sincronizado en Guvnor.
5. Borrar el archivo del proceso, esto lo eliminara localmente pero no del
Guvnor.
24. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Observar que el archivo esta otra vez en el proyecto.
25. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
7. Cambiar de nombre a la única actividad a “Actividad de tipo Script” luego
sincronizar el cambio en Guvnor.
26. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 4
Web Process Designer
Ejercicio 1 – Creación de un proceso simple.
1. Crear el paquete com.procesos
2. Dentro del paquete com.procesos, crear el BPMN2 Process
PruebaProceso
27. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
3. Expandir en todo la pantalla el Web Process Designer
4. Desactivar la historia local.
5. Diseñar el proceso mostrado.
Propiedades:
Diagrama BPMN2
Name PruebaProceso
ID PruebaProceso
28. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Task: Prueba de Script
TaskType Script
Script System.out.println("Prueba de Script");
System.out.println("Prueba desde Java");
ScriptLanguage Java
6. Validar el proceso
Dar clic en PNG para asociar un grafico al proceso, no es necesario que
guarde el grafico, con esto se solucionara el error
29. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
7. Remover el asset, dando clic en Archive Selected, con eso pasara el
asset a la bandeja de archivados.
8. Ir a Administration->Archive y restaurar el asset:
Si desde esta sección vuelve a eliminar el asset se borrara de forma
definitiva.
30. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
9. Revisar todas los cambios del asset PruebaProceso
Puede ver el grafico según la versión que desea.
31. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
10. Diferentes usuarios pueden realizar comentarios sobre el asset:
11. Probar las opciones de búsqueda del Guvnor, ubicar al proceso
PruebaProceso
32. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Ejercicio 2 – Invocación a clases Java.
1. Crear un nuevo proceso de nombre PruebaJava
2. Diseñar el proceso mostrado:
La actividad invocara el metodo de una clase creada y le pasara un
argumento al metodo. El argumento llegara al proceso al momento de
iniciarse.
Propiedades:
Diagrama BPMN2
Imports com.prueba.clases.*
Variable Definitions Name: person
Custom Type: com.prueba.clases.Person
Task: Prueba de Script
TaskType Script
Script HelloService.getInstance().sayHello(person.getName());
3. Es necesario que suba a Guvnor las clases Java (Person.class y
HelloService.class) utilizadas
Las clases las puede encontrar en:
LaboratoriosRecursosLab05-El API Java para JBPM
Recuerde que debe generar el jar y luego subir al Guvnor el jar.
33. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
4. Hacer un Build Package a com.procesos
Observar el mensaje de éxito y el paquete indica las dependencias de:
34. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 5
El API Java para JBPM
Se utilizara el Eclipse que tiene instalado el JBPM Eclipse Plugin:
C:eclipseeclipse-JBPMeclipse
1. Crear el proyecto Java PruebaAPI_JBPM
2. En el eclipse crear la librería JBPM_API para contener a todos los Jars
necesarios de JBPM
3. Asociar la librería JBPM_API al proyecto PruebaAPI_JBPM
4. Crear una clase InvocarProceso.java el cual debe ejecutar el proceso
PruebaProceso, el cual fue creado en el laboratorio anterior.
35. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
5. Crear varias instancia del proceso PruebaProceso, ver los resultado en
la consola del Eclipse.
6. Crear una clase InvocarProcesoJava.java el cual debe ejecutar el
proceso PruebaJava, el cual fue creado en el laboratorio anterior.
Este proceso espera que se le envíe parametros de inicio, utilizar las clases
de RecursosLab05-El API Java para JBPM para generar esos
parametros.
HelloService.java
Person.java
7. Crear varias instancia del proceso PruebaJava, ver los resultado en la
consola del Eclipse.
8. Modificar la clase anterior y agregar un listener de eventos, mostrar un
mensaje en la consola cuando:
Termina la ejecución de cada nodo.
Antes de terminar la instancia de proceso.
9. Crear una nueva clase InvocarProcesoGuvnor.java debe ser similar a
InvocarProcesoJava.java, pero el diseño del proceso lo debe obtener de
Guvnor.
10. Crear una nueva clase InvocarProcesoGuvnorPkg.java debe ser similar
a InvocarProcesoJava.java, pero el diseño del proceso lo debe obtener de
Guvnor pero mediante un Paquete.
36. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 06
JBPM Console
Ejercicio I – Prueba de la consola
1. Subir al Guvnor los siguientes elementos, deben ir al defaultPackage
PruebaConsole.bpmn - > Es un proceso
PruebaConsole-taskform.flt -> Es un formulario para pasar parametros
el proceso.
TaskOne-taskform.flt –> Formulario para ser utilizado por un User Task.
TaskTwo-taskform.flt–> Formulario para ser utilizado por un User Task.
Estos elementos ya están desarrollados, se encuentran en:
LaboratoriosRecursosLab06-JBPM Console
Diseño del proceso
La TaskOne se le asigna a krisv y la TaskTwo se le asigna a john
Proceso subido en Guvnor
37. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Formularios subidos en Guvnor
2. El usuario krisv debe generar una instancia del proceso.
Revisar en que etapa se encuentra la instancia de proceso:
38. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Observar las variables del proceso
3. Observar que se le genero una tarea a kirsv, proceder a atender la tarea
Luego ver en que etapa esta el proceso, debería haber avanzado hasta la
Task Two, el cua debe ser atendido por john
4. Proceder a ejecutar la tarea de jhon.
39. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
5. Observar que el proceso ya no tiene instancia, el cual indica que el
proceso termino.
40. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Ejercicio II – Cambio de responsables de tareas.
1. De:
C:jbossjbpm540jboss-as-7.1.1.Finalstandaloneconfiguration
Editar el archivo: users.properties y roles.properties para agregar 2 nuevos
usarios:
luis y carlos
La TaskOne se le asigna a luis y la TaskTwo se le asigna a carlos
2. Hacer un Build al paquete.
3. Reiniciar el JBoss
4. Probar que ahora las tareas son atendidas por luis y carlos.
41. JBPM5 – Laboratorios.
Oscar Vásquez Flores(eoscarvf@gmail.com)
Laboratorio 07
Human task
Aprobación de una tarjeta de crédito
Un cliente debe llenar un formato en papel para solicitar un tarjeta de
crédito, los datos que debe ingresas son: nombres, apellidos, dirección,
estado civil, tipo de tarjeta(VISA, Mastercard, Amex), sueldo promedio
mensual, correo electrónico.
Este formato es recibido por la asesora de servicios de una agencia
bancaria, luego procede a ingresarlo al sistema de aprobación de tarjetas de
crédito, si la persona pide un VISA y gana mas de $1,000 USD se le
aprueba la tarjeta de forma automática y se le asigna una línea el doble de
su sueldo promedio.
En caso de ganar menor o igual a $1,000 la solicitud es revisado por el
analista de crédito, el cual analiza el caso y aprueba o no la tarjeta
adicionalmente indica la línea asignada.
Si el sueldo de la persona es menos de $200 USD debe recibir la aprobación
del supervisor de tarjetas, el cual determina si aprueba o no la tarjeta,
adicionalmente asigna una línea igual a su sueldo promedio.
Luego de recibir todas las aprobaciones necesarias se en envía en paralelo
la notificación para la generación de la tarjeta al área de tarjetas y también
lo notificación al sistema de créditos para generar el crédito.
Se debe esperar a que ambas acciones se hayan realizado para proceder a
envía un correo de aceptación del cliente, indicando la línea aprobado.
Objetivos:
Realizar el diseño e implementación del proceso, para la prueba puede
utilizar la JBPM Console.
Consideraciones:
Crear los grupos necesarios y usuarios para representar a los participantes
del proceso.
Utilizar el proyecto Java:
LaboratoriosRecursosLab07-Human taskPruebaHumanTask donde se
encuentra las librerías necesarias para la integracion con las demas
aplicaciones.