Saltar al contenido

Primeros Pasos

    En esta sección se explica cómo realizar una prueba sencilla una vez realizada una suscripción en la plataforma Reevolute Builder.

    Primer Árbol

    Antes que nada se debe poseer una suscripción de la plataforma, lo que entrega acceso a un tenant de la misma a través de un usuario WEB.

    Cada tenant parte con un árbol de prueba llamado ‘myFirstTree’ que posee una versión con una lógica mínima, la que es expuesta al exterior mediante el release ‘test’. Esta configuración inicial permite realizar las primeras pruebas sobre el sistema.

    Para obtener más detalle respecto a este árbol se puede ir a myFirstTree.

    Al ingresar a la plataforma se tendrá la siguiente vista en la que se muestra el árbol mencionado.

    Al seleccionar el link que representa el nombre del árbol se obtiene información general del árbol, como la cantidad de versiones que posee, si hay alguna versión publicada (test/production), su identificador y descripción, lo que se muestra en la siguiente imagen.

    Desde esta pestaña se puede acceder a la visualización de la lógica de negocio generada para el primer árbol. Esta lógica utiliza 5 tipos de nodo (inicio, bifurcación, conexión externa, ok y nok), lo que se muestra en la siguiente figura.

    Seguridad API-KEY

    Como estrategia de seguridad, la plataforma Reevolute Builder utiliza un API-KEY único asociado a cada suscripción/tenant. Es decir, para poder ejecutar árboles el ente externo debe conocer el parámetro API-KEY.

    Este parámetro se puede obtener en la sección ‘Configuración’ a la que se accede mediante el ícono respectivo en la parte superior izquierda de la WEB. En la pestaña «API keys» de esa sección se puede obtener el parámetro.

    Ejecución Árbol

    Con la intención de probar la lógica de un árbol, podemos utilizar el módulo «Probar la API» ubicado en el panel izquierdo de la WEB.

    En este módulo se debe configurar:

    • el token de acceso (API-KEY)
    • el árbol que se desea ejecutar (‘myFirstTree’)
    • el release (‘test’)
    • JSON con parámetros de entrada
    En este caso los parámetros de entrada no son considerados por la lógica implementada en el árbol ‘myFirstTree’ por lo que puede dejarse con los valores propuestos. El único parámetro relevante en este caso es «type» que se debe dejar seteado en «sync» y que solicita la ejecución síncrona del árbol.
    				
    					{
      "type": "sync",
      "parameters": {
        "operation": "list_all"
      }
    }
    				
    			

    Una vez configurados todos los parámetros, el sistema permitirá presionar el botón «Probar» que solicita la ejecución del árbol.

    Una vez ejecutado el sistema muestra la respuesta obtenida:

    				
    					{
      "tree_version": "1",
      "response_type": "COMMON",
      "data": {
        "description": "list users ok",
        "error_code": "0",
        "vars": {
          "error_message": "OK",
          "users": [
            {
              "address": "New York",
              "age": 25,
              "id": 0,
              "name": "John",
              "updated_at": "2023-09-06T18:57:08Z"
            },
            {
              "address": "Seoul",
              "age": 35,
              "id": 1,
              "name": "Grace",
              "updated_at": "2023-09-06T18:57:08Z"
            },
            {
              "address": "London",
              "age": 25,
              "id": 2,
              "name": "Jane",
              "updated_at": "2023-09-06T18:57:08Z"
            },
            {
              "address": "Tokyo",
              "age": 25,
              "id": 3,
              "name": "Natsumi",
              "updated_at": "2023-09-06T18:57:08Z"
            },
            {
              "address": "Mumbai",
              "age": 45,
              "id": 4,
              "name": "Linbaba",
              "updated_at": "2023-09-06T18:57:08Z"
            }
          ]
        }
      }
    }
    				
    			

    El objeto de respuesta obtenido posee 3 parámetros en el primer nivel:

    • tree_version, que define la versión del árbol que se ejecutó
    • response_type, que define el tipo de árbol ejecutado
    • data, objeto que contiene la respuesta definida en el árbol (tal como se vio más arriba)

     

    Ejecución externa del árbol

    Una aplicación externa deberá implementar el API REST de la plataforma Reevolute Builder para solicitar la ejecución de un árbol. Sin embargo, para probar externamente se puede aprovechar el comando «curl» existente en varios sistemas operativos.

    La sintaxis del comando «curl» que permite ejecutar el árbol de prueba se puede obtener desde el mismo módulo «Probar API» antes mencionado.

    				
    					  curl -vvv -XPOST \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer jhuBkGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJwZXJtaXNzaW9ucyI6WyJleGVjOnRyZWVzIl0sInN1YiI6Im1zYl9zcHpfN2p6In0.Lx9jNhcHP48L0eU7mWILVTru5PUwdVyfltLqKpb5y_dX2sAPvnmeMzPIG0Twfc8nV32ZIlqa2_UTrBeaaRYympTN-b2LNfXItAnXP4SLfatYJd9zpiUAcSzTCsoYSrihodMUGmloRarYoiOjaglbX_KtUADXyAvawblI-z-DSFR9' \
      -d '{"type":"sync","parameters":{"operation":"list_all"}}' \
      https://builder.api.reevolute.com/v2/tenants/msb_spz_7jz/trees/00000RWB61563AWJ5N5X49EKWJ/releases/test/executions
    				
    			

    Reporte de transacciones

    Cada ejecución de un árbol en la plataforma genera un registro en el reporte de transacciones, el que entrega información del request y response, tiempo de ejecución, así como la traza de la transacción a través del árbol.

    En cada transacción se puede ampliar la información entregada, de tal forma de obtener mayor información tales como el request y response de esta.

    Adicionalmente, se puede visualizar la «traza», es decir, el flujo que realizó la transacción dentro de la lógica del árbol, como se muestra en la siguiente figura.

    Desde dentro de la vista de la traza, en la sección «Transacción» se puede consultar la información general de la transacción.

    En la sección «Actividad» se puede apreciar los nodos y enlaces involucrados, así como los tiempos de ejecución en cada uno de ellos. En caso de los nodos «conexión externa» además se puede ver la información de entrada y salida.

    Finalmente, en la sección «Progreso», se puede revisar el tiempo acumulado de ejecución a través de las entidades del árbol.