Ir al contenido principal

Uso de la actividad de envío de emails y notificaciones de tareas por email en jBPM 6.x


Continuando con los artículos sobre jBPM 6.x, en esta oportunidad les traigo un tema relacionado con el envió de emails y notificaciones por email.



Estas actividades son muy frecuentes en los procesos de negocios, donde nos podemos encontrar con la necesidad de enviar un email como parte de un proceso, en una tarea específica. En este caso hacemos uso de la tarea de servicio email.





Y en otras ocasiones, podemos requerir el envío de emails cuando una tarea no se ha iniciado por ejemplo, esto se logra mediante la configuración de notificaciones en las tareas humanas.

En este ejemplo seguiremos usando las definiciones realizadas en nuestra publicación anterior.

Vayamos con el primer caso, el uso de la tarea de servicio de enviar correos o emails.

1.- Seleccione la Tarea de servicio de Emails y agregarla al flujo.
2.- Configurar los parámetros de envío de correo.

Para ello seleccionamos en el flujo la tarea de emails


Y en las propiedades de la tarea vamos a la sección de “tareas”, donde se nos abre una ventana en la que encontramos los parámetros siguientes:



donde:

  • To, o Para, donde especificamos la variable que contiene el valor adecuado para el destinatario del email.
  • From, o Desde, el cual permite establecer la variable que contiene el valor adecuado para el usuario u origen del email.
  • Subject, o Asunto, donde especificamos la variable que contiene el valor adecuado para el asunto, tema o motivo del email.
  • Body, o cuerpo, el cual permite establecer la variable que contiene el valor adecuado para el contenido o cuerpo del email.

Hasta aquí todo normal y sencillo.

Pero queda un paso que usualmente se suele olvidar y cuya omisión es fuente de problemas frecuentes en la configuración y uso de la actividad de servicio de envío de emails. El paso a continuación.

 
3.- Configurar manejador de item de trabajo.

  • Abrir el editor de proyecto y buscar la sección correspondiente al descriptor de despliegue o Deployment Descriptor.



  • Buscar la sección correspondiente al Work Item handlers, y pulsar el botón add o agregar.



En esta sección agregamos un item al que denominaremos Email, del tipo mvel.
Con el siguiente contenido:


  new org.jbpm.process.workitem.email.EmailWorkItemHandler("smtp.gmail.com", "587", "tucorreo@gmail.com", "tu_password", "true")


El cual especifica el servidor de smtp, el puerto a usar, la cuenta de correo de envío, el password de la cuenta y el uso del modo seguro.

Guardamos y desplegamos nuestro proceso.

Con eso ya deberíamos poder hacer las pruebas correspondientes.


Configuración de notificaciones en tareas humanas.

Esta configuración se realiza en el marco de dos grandes frentes. El primero es el servidor de aplicaciones, Wildfly en nuestro ejemplo, y el segundo es la configuración de las tareas humanas en si mismas.

  • Configurar el Servidor
Detener el servidor Wildfly.
Ubicar los archivos :
      • standalone.xml
      • standalone-full.xml
En ambos archivos agregar lo siguiente:


Propiedades.

 

Subsystem.

        
                 
        
 

Socket-binding-group.

        
 

Guardar los archivos.

Ubicar el archivo jbpm-console.war en el directorio deployments del standalone de Wildfly.

Abrir el archivo con algún editor adecuado para poder modificar y actualizar el .war

Ubicar el directorio \jbpm-console.war\WEB-INF\classes\

Abrir el archivo userinfo.properties y agregar el contenido siguiente:


admin=intellegoqa@gmail.com:en-UK:admin     
Administrator=intellegoqa@gmail.com:en-UK:Administrator          
Administrators=intellegoqa@gmail.com:en-UK:Administrators:[Administrator]


Guardar los cambios y actualizar el .war.
Reiniciar el servidor.

Abrir la aplicación jbpm-console e ingresar las credenciales de administrador.

Abrir el proceso BPM deseado.

Ubicar la tarea humana a la que se le desea añadir Notificaciones.



En la ventana de propiedades ubicar la propiedad Notificaciones (Notificatios) y abrir la ventana desplegable.

Pulsar agregar notificación



Seleccionar el tipo de notificación para las tareas, iniciadas o No-iniciadas.

Establecer cuando expira la tarea (1d = Un día, 1m = Un minuto, etc).

Indicar nombre de usuario que se usará para enviar el email, no se deben colocar cuentas de correos.

Indicar si es para usuarios colocando los nombres de usuarios separados por coma que recibiran el email.

Indicar si es para un grupo, se colocan los nombres de grupo separados por coma.

Se indica el nombre de usuario al que hay que responder.

Se especifica un asunto del email.

Se especifica un cuerpo del email.

Los valores anteriores puede usar variables del proceso o de la tarea, referirse a la documentación del producto para detalles.

Guardar el proceso y desplegarlo.


Listo, ya deberíamos poder tener notificaciones de correo en nuestras tareas. Enjoy it!!!

Comentarios

  1. utilizaremos el paquete javax.mail. Utilizando el SMTP indicado y el PUERTO indicado, funciona correctamente para cuentas de Gmail. Aunque cuidado, es posible que haya que indicar a Gmail en las opciones de personalización noticiasdesanxenxo.es/biografia-de-hanbin/

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

El Melange todavía corre

Ese era el estribillo de un capítulo de unas de mis series favoritas de la infancia, Meteoro o Speed Racer. En ese capítulo un auto “fantasma” el X-3, aparecía de imprevisto y dejaba a todos asombrados con su rendimiento y prestaciones y volvía a desaparecer. Traigo ese episodio a colación puesto que recientemente sostuve una amena charla con un querido amigo, en la que el me manifestaba como los Mainframes habían muerto, o mejor dicho, el concepto de la computación distribuida basada en Mainframes había desaparecido. Para variar, yo no estuve de acuerdo, y le dije que por el contrario, el modelo de computación basado en Mainframes está mas vigente que nunca. Estos fueron mis argumentos:

Primeros pasos con Camunda BPM – Modelando un Proceso BPMN 2.0

Tenemos entre manos la tercera publicación de nuestra serie sobre la Plataforma de BPM de Camunda .  El día de hoy vamos, por fin, a empezar a modelar o construir nuestro primer proceso sencillo en notación BPMN 2.0. Para ello vamos a usar el modelador o editor que ya hemos instalado en nuestra primera publicación , y vamos a guardarlo en la sección de recursos del proyecto Maven Java que configuramos en la segunda publicación . Así que, como ya es costumbre, manos a las sobras…

Como configurar jBPM para usar nuestra propia Base de Datos en un sólo paso

Llevo un buen rato trabajando con jBPM en su serie 6.x, y mi opinión sobre este producto en la versión mecionada no ha mejorado para nada. Es una herramienta plena de funciones y caracteristicas avanzadas, pero tambien está llena de Bugs y es realmente inestable, sobre todo en el ambiente de modelamiento.  Así mismo, debo decir que tiene una muy aceptable API REST y que el motor de procesos y la consecuente ejecución de los procesos es estable y bastante rápida. En esta publicación daré inicio a una serie de artículos que hablan sobre ciertas configuraciones comunes e importantes que se hacen con jBPM. Hoy iniciamos con la configuración de jBPM para que use nuestra base de datos favorita. Esto tiene sentido porque el producto viene con la base de datos H2 por omisión, la cual es excelente para pruebas y evaluaciones rápidas de la herramienta, pero es completamente inaceptable en un ambiente de desarrollo, QA o producción cualquiera. Así que manos a l