Disponible desde Release 6.0.0
Introducción
En esta release se ponen a disposición del usuario una batería de plantillas para que las utilicen en sus diagramas para realizar operaciones contra una instancia de Plataforma.
A continuación se van a analizar en detalle con algunos ejemplos las plantillas disponibles.
¿Cómo funciona?
A la hora de crear un diagrama de Camunda, al seleccionar un elemento aparecerá una opción en el menú lateral Template.
Al seleccionar el botón + Select aparecerá un listado con los templates disponibles para ese tipo de elemento, en este listado aparecerán los distintos conectores con plataforma:
Realizar insercciones
Lanzar Apis del API Manager
Lanzar Dataflows
….
Una vez seleccionado el template correspondiente, se cargarán automáticamente las propiedades que necesita ese elemento para conectar con Plataforma y que el usuario tendrá que rellenar para el correcto funcionamiento:
¿Cómo consultar datos de una Entidad?
Previamente se habrá tenido que crear la Entidad que se quiere consultar y haberla asociado a un Digital Client de la Plataforma para poder obtener un token con el cual acceder a los datos.
Para consultar los datos de una Entidad tenemos que seleccionar la plantilla Onesait Platform Query
Vamos a ver el funcionamiento de esta plantilla con el siguiente ejemplo:
buildQuery: Service Task de tipo Java class que construye de manera dinámica la clausula where de la consulta que vamos a lanzar contra la entidad y la almacena en la variable where.
getCustomers: Service Task que implementa el template Onesait Platform Query y realiza la consulta contra la entidad deseada. Hay que observar varias cosas en la configuración:
Cómo se recoje la variable where en el campo Query de manera parametrizada, lo que permite lanzar queries dinámicas. En el caso de querer una query estática basta con meter la query sin mas.
El campo Platform enviornment es opcional, en el caso de no especificarlo se utilizará el endpoint del entorno en el que se haya desplegado el proceso.
El resultado de la consulta se almacena en la variable platformInstances y generalmente será siempre un JSON array.
customerAge: evalúa la variable platformInstances y verifica el campo age con la siguiente expresión
${platformInstances.elements().get(0).prop("customer").prop("age").numberValue() >= 18}
over/under 18: User Task que se queda esperando una acción del usuario.
Visualizar la ejecución del proceso
Una vez desplegado el proceso en el BPM Engine, podemos lanzarlo y veremos lo siguiente:
Los datos de la consulta a la Entidad aparecen en la variable platformInstances en formato JSON
La cláusula where creada dinámicamente almacenada en la variable where
Al inspeccionar la variable platformInstances podemos comprobar que efectivamente se ha traido el dato que concuerda con la clausula where
Se ha evaluado el JSON y el proceso está parado en over 18, lo que concuerda con los datos obtenidos de la entidad.
A continuación dejamos el BPMN del ejemplo:
¿Cómo insertar datos en una Entidad?
Previamente se habrá tenido que crear la Entidad que se quiere consultar y haberla asociado a un Digital Client de la Plataforma para poder obtener un token con el cual acceder a los datos.
Para insertar datos de una Entidad tenemos que seleccionar la plantilla Onesait Platform Insert
Vamos a ver el funcionamiento de esta plantilla con el siguiente ejemplo:
getData: Service Task de tipo Java class que construye de manera dinámica los datos que se quieren insertar en la entidad en formato JSON y los almacena en la variable data.
insertTask: Service Task que implementa el template Onesait Platform Insert y realiza la insercción de los datos en la entidad deseada. Hay que observar varias cosas en la configuración:
Cómo se recoje la variable data en el campo Data de manera parametrizada, lo que permite lanzar insercciones dinámicas. En el caso de querer una inserción de datos estáticos basta con meter el JSON sin mas en este campo.
El campo Platform enviornment es opcional, en el caso de no especificarlo se utilizará el endpoint del entorno en el que se haya desplegado el proceso.
El resultado de la insercción se almacena en la variable platformIds, donde tendremos los IDs de las instancias insertadas.
doSomething: User Task que se queda esperando una acción del usuario.
Visualizar la ejecución del proceso
Una vez desplegado el proceso en el BPM Engine, podemos lanzarlo y veremos lo siguiente:
Los datos de la inserción en la Entidad aparecen en la variable platformIds en formato JSON
los datos creados dinámicamente almacenada en la variable data
A continuación dejamos el BPMN del ejemplo:
¿Cómo lanzar un Dataflow?
Previamente se habrá tenido que crear el dataflow que se quiere lanzar
Para lanzar un dataflow tenemos que seleccionar la plantilla Onesait Platform Dataflow
Vamos a ver el funcionamiento de esta plantilla con el siguiente ejemplo:
launchDataflow: Service Task que implementa el template Onesait Platform Dataflow y lanza el Dataflow deseado. Hay que observar varias cosas en la configuración:
El campo Platform enviornment es opcional, en el caso de no especificarlo se utilizará el endpoint del entorno en el que se haya desplegado el proceso.
El campo parameters es opcional, en el caso de que el dataflow que se quiera lanzar requiera de algún parámetro se le podrá indicar al BPM en este campo en formato JSON. También puede parametrizarse con la nomenclatura ${parameters} si queremos que los datos se monten dinámicamente.
El resultado de la ejecución del dataflow se almacena en la variable dataflowResponse.
doSomething: User Task que se queda esperando una acción del usuario.
Visualizar la ejecución del proceso
Una vez desplegado el proceso en el BPM Engine, podemos lanzarlo y veremos lo siguiente:
El resultado de la ejecución del dataflow se almacena en la variable dataflowResponse en formato JSON
Si inspeccionamos la varibale dataflowResponse vemos que el dataflow se ha arrancado correctamente
A continuación dejamos el BPMN del ejemplo:
¿Cómo invocar un API de Plataforma?
Previamente se habrá tenido que crear el API que se quiere lanzar
Para lanzar un API tenemos que seleccionar la plantilla Onesait Platform API
Vamos a ver el funcionamiento de esta plantilla con el siguiente ejemplo:
launchAPI: Service Task que implementa el template Onesait Platform API y lanza el APIdeseado. Hay que observar varias cosas en la configuración:
El campo Platform enviornment es opcional, en el caso de no especificarlo se utilizará el endpoint del entorno en el que se haya desplegado el proceso.
El campo API Path tiene que seguir la siguiente nomenclatura /<version>/<api_identification>/<operation_path> en el ejemplo vemos como parte del path está parametrizado con la expresión ${name}
El campo Body es opcional, en el caso de que se quiera lanzar una operación con un body se le podrá indicar al BPM en este campo en formato JSON. También puede parametrizarse con la nomenclatura ${body} si queremos que los datos se monten dinámicamente.
El resultado de la ejecución del dataflow se almacena en la variable apiResponse.
doSomething: User Task que se queda esperando una acción del usuario.
Visualizar la ejecución del proceso
Una vez desplegado el proceso en el BPM Engine, podemos lanzarlo y veremos lo siguiente:
El resultado de la ejecución del dataflow se almacena en la variable apiResponse en formato JSON
A continuación dejamos el BPMN del ejemplo: