Curso de JBPM5 - Laboratorios

41
JBPM5 – Laboratorios. Oscar Vásquez Flores([email protected])

Transcript of Curso de JBPM5 - Laboratorios

Page 1: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Page 2: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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.

Page 3: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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.

Page 4: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 5: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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:

Page 6: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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.4\bin

Page 7: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

3. Probar que el comando ant sea reconocido desde una ventana de comandos:

Page 8: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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:\jboss\jbpm540

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

Page 9: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Ver los resultados:

3. Iniciar JBPM con:

ant start.demo.noeclipse

Si desea dar Stop a JBPM con:

ant stop.demo

Page 10: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

4. Revisar el log del JBoss

C:\jboss\jbpm540\jboss-as-7.1.1.Final\standalone\log

Page 11: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 12: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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:\eclipse\eclipse-BPMN2

Puede crear un acceso directo a eclipse.exe

2. Instalar el Eclipse BPMN2 Plugin http://download.eclipse.org/bpmn2-modeler/site

Page 13: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

3. Crear un proyecto Java de nombre TestBPMN2

Page 14: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

4. Crear un proceso simple de nombre invocar_java_bpmn

Page 15: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Ver el contenido del archivo en XML

5. Crear un proceso simple de nombre invocar_java_jbpm, observar que

seleccionamos de tipo JBPM Process.

Page 16: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 17: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

II. Utilizando el JBPM Eclipse Plugin

1. Utilizar otra instalacion del Eclipse Classic, descomprimirlo en: C:\eclipse\eclipse-JBPM

Page 18: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

2. Instalar el JBPM Eclipse Plugin

El Plugin lo puede ubicar en: C:\jboss\jbpm540\lib org.drools.updatesite-5.5.0.Final-assembly.zip

Page 19: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 20: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 21: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Conectar al Guvnor.

Subir el asset

Page 22: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Observar que el archivo esta sincronizado en Guvnor.

5. Borrar el archivo del proceso, esto lo eliminara localmente pero no del Guvnor.

Page 23: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

6. Obtener el proceso desde el Guvnor.

Page 24: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Observar que el archivo esta otra vez en el proyecto.

Page 25: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

7. Cambiar de nombre a la única actividad a “Actividad de tipo Script” luego

sincronizar el cambio en Guvnor.

Page 26: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 27: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 28: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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

Page 29: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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.

Page 30: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

9. Revisar todas los cambios del asset PruebaProceso

Puede ver el grafico según la versión que desea.

Page 31: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

10. Diferentes usuarios pueden realizar comentarios sobre el asset:

11. Probar las opciones de búsqueda del Guvnor, ubicar al proceso PruebaProceso

Page 32: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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:

\Laboratorios\Recursos\Lab05-El API Java para JBPM Recuerde que debe generar el jar y luego subir al Guvnor el jar.

Page 33: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

4. Hacer un Build Package a com.procesos

Observar el mensaje de éxito y el paquete indica las dependencias de:

Page 34: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Laboratorio 5

El API Java para JBPM

Se utilizara el Eclipse que tiene instalado el JBPM Eclipse Plugin: C:\eclipse\eclipse-JBPM\eclipse

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.

Page 35: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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 Recursos\Lab05-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.

Page 36: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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:

Laboratorios\Recursos\Lab06-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

Page 37: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Formularios subidos en Guvnor

2. El usuario krisv debe generar una instancia del proceso.

Revisar en que etapa se encuentra la instancia de proceso:

Page 38: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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.

Page 39: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

5. Observar que el proceso ya no tiene instancia, el cual indica que el

proceso termino.

Page 40: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

Ejercicio II – Cambio de responsables de tareas.

1. De:

C:\jboss\jbpm540\jboss-as-7.1.1.Final\standalone\configuration

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.

Page 41: Curso de JBPM5 - Laboratorios

JBPM5 – Laboratorios.

Oscar Vásquez Flores([email protected])

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:

Laboratorios\Recursos\Lab07-Human task\PruebaHumanTask donde se encuentra las librerías necesarias para la integracion con las demas aplicaciones.