Disponible desde la versión 6.2.0-Xenon
Introducción
Este permite obtener una Configuración Centralizada de Onesait Platform desde BPM Engine, pudiendo por tanto utilizar dicha información en otras tareas.
Cómo funciona
Para usar esta nueva funcionalidad se va a tener que acceder a la vista de edición del diagrama BPM y crear una nueva tarea (Task), a la cual se le indicará la plantilla de «Onesait Platform Centralized Config»:
El siguiente paso consistirá en configurar la tarea, indicando las siguientes propiedades:
Timeout: el tiempo en milisegundos antes de lanzar un Timeout.
Platform Environment: aquí se tendrá que indicar la URL del entorno del cual se busca obtener la configuración centralizada.
X-OP-APIKey: se tendrá que añadir la X-OP-APIKey del entorno del cual se quiera obtener la configuración.
Configuration Identification: se tendrá que indicar el Identificador de la configuración.
Tras configurar la tarea, así como el resto del BPM, únicamente habrá que guardar los cambios y desplegar el modelo pulsando en el botón de «New BPM Deployment»:
Seguidamente, se accederá al BPM Engine pulsando sobre el botón del ojo que se encuentra en la zona de «BPM Domains»:
Una vez dentro del BPM Engine, se pulsará en el icono de la casa (situado arriba a la derecha) y después sobre «Tasklist»:
Tras esto, habrá que pulsar donde pone «Start Process» sobre el proceso que tenga asignado el BPM:
Después de ejecutar el proceso, se podrá ver la configuración centralizada pulsando el «Icono de la casa > Cockpit > Running Process Instances» y, finalmente, sobre la Key del BPM.
En la siguiente ventana se pueden ver las variables del BPM, en donde estará la configuración seleccionada en la tarea, la cual se podrá usar para obtener información y usarla en otras tareas.
Ejemplo de uso
Con el siguiente ejemplo se va a mostrar cómo utilizar los datos recibidos de la tarea. Para empezar, se va a utilizar la siguiente configuración:
{ "valorString": "String1", "valorNumber": 12345, "valorBool": false, "valorObj": { "valor1": "HolaMundo", "valor2": 987, "valor3": true }, "valorString2": [ { "valorArray1": "array1", "valorArray2": "array2" }, { "valorArray3": "array3", "valorArray4": "array4", "valorArray5": { "valorObjectArray": "valor5", "valorObjectArray2": "valor6", "valorObjectArray3": [ { "valorRecondito": "recondito", "valorRecondito2": "recondito2" } ] } } ] }
Para recuperar los datos, se va a poder hacerlo desde un Script Task o desde el campo «Outputs».
En el caso de recuperar los valores desde un Script Task, se indicarán las siguientes propiedades:
Type: se deberá de seleccionar la «Inline script».
Script: se escribirá el script necesario para obtener el valor deseado.
Result variable: será el nombre de la variable con los datos obtenidos del script.
En el caso de querer recuperar los valores desde el campo de «Outputs», se introducirán estas otras opciones:
Process variable name: nombre de la variable con los datos obtenidos.
Assignment type: el tipo de datos que vamos a obtener; se debería de seleccionar «String».
Value: el código utilizado para obtener los datos.
Los valores obtenidos en este ejemplo serían los siguientes:
valorString: ${opconfig.prop(«valorString»)}
valorNumber: ${opconfig.prop(«valorNumber»)}
valorObj.valor1: ${opconfig.prop(«valorObj»).prop(«valor1»)}
valorString2.valorArray5.valorObjectArray3.valorRecondito: ${opconfig.prop(«valorString2»).elements()[1].prop(«valorArray5»).prop(«valorObjectArray3»).elements()[0].prop(«valorRecondito»)}
En la siguiente imagen se ve, desde Camunda, cómo llegan las variables con los datos que queríamos obtener: