Acciones
Las acciones son nodos mediante los que se agrega lógica empresarial y funcionalidades a tu app. A través de las acciones, puedes hacer lo siguiente:
llamar servicios externos o internos (con la acción HTTP Request);
asignar valores a las variables (con las acciones Set Variable y Get Variable);
crear condicionales o ciclos (con la acción Branch);
realizar operaciones matemáticas (con la acción Functions); y
definir códigos de error para rastrearlos en el log de transacciones (con las acciones Fail o Set Response Code).
Hay diferentes acciones disponibles en Studio. Sigue leyendo para aprender cómo utilizarlas.
Importante
Antes de asignar valores para cada acción, consulta el artículo Parámetros de entrada y salida para aprender cómo transferir datos en una transacción.
General
Mediante esta acción, se comparan dos valores (a & b) y se devuelve verdadero o falso como respuesta según se cumpa la condición o no. El tipo de valor puede ser: number, string, boolean o date. Las condiciones son equal o not equal, y si los valores son números, hay dos condiciones adicionales, less than y greather than.
La acción Branch se utiliza cuando necesitas crear dos rutas. Por ejemplo, puedes utilizar esta acción durante la verificación de inicio de sesión y, en su lugar, tener una acción Branch con la que, si falla la verificación del usuario, se registre el error en el log de transacciones.
Para crear una ruta para las condiciones "true" y "false", haz clic en las etiquetas true o false debajo de la acción Branch y arrástralas a sus respectivos nodos de acción para conectarlos con ellas.
Luego de que se ejecutan los flujos verdadero y falso, el flujo de transacción continúa desde el flujo principal, como el nodo End en el ejemplo anterior.
Esta acción recorre una matriz para capturar, usar o editar su información e implementa una ruta lógica personalizada para cada iteración.
Por ejemplo, debes implementar un beneficio bancario nuevo que solo aplique para aquellos clientes que tengan 65 años o más. Con la acción Iterator, puedes recorrer una matriz de cuentas y, para cada fila de la matriz, ejecutar la ruta personalizada while, con la que se verifica si el usuario tiene 65 años o menos.
Una vez verificada la matriz, el flujo de transacción continúa desde el flujo principal, como por ejemplo, la acción Get Benefits del tipo Get Variable en el ejemplo anterior.
Mediante esta acción, se define un valor fijo que se puede utilizar en el flujo de transacción invocándolo con otras acciones. El valor puede ser de tipo number, string, boolean o date.
En el ejemplo de la acción Iterator, el número 64 se establece como una constante y luego se recupera como entrada mediante la acción Branch para comparar este valor con la edad del usuario. De esta manera, si el usuario tiene más de 64 años, con la ruta true se asigna una promoción o un beneficio al usuario, y si tiene 64 o menos, no se asignan.
Mediante esta acción, se establece un valor variable que se puede utilizar cuando sea necesario dentro de la transacción. Para establecer un valor variable, configuras las entradas de la acción y recuperas un valor establecido en, por ejemplo, una acción Constant.
Este valor se utiliza en el flujo con la acción Get Variable.
Mediante esta acción, se obtiene el valor de la variable guardado con la acción Set Variable, que se usará en el flujo de la transacción.
Con esta acción, se divide un objeto para obtener datos de cada componente por separado. Por ejemplo, como en el ejemplo de Iterator, tienes que implementar un beneficio bancario nuevo que solo se aplique a aquellos clientes que tengan 65 años o más. Con la acción Iterator, recorres una matriz de cuentas. Para cada fila de la matriz, puedes ejecutar la ruta personalizada while e incluir una acción Decompose con la que se separa cada dato de todas las filas de la matriz. Con la acción Decompose, puedes extraer la edad de los usuarios para utilizarla en el flujo y aplicar las reglas de promoción necesarias.
Con esta acción se agrupa una lista de objetos recibidos y se crea un objeto complejo como resultado.
Mediante los nodos Parallel, se pueden ejecutar varias solicitudes en paralelo para reducir u optimizar el tiempo de ejecución de las transacciones.
Estos flujos son independientes entre sí, lo que significa que los datos de cada flujo no dependen de la información obtenida durante la ejecución de otro flujo.
[en] When you drag a parallel node to the canvas, two flows are created by default, named F1 and F2. Build the required flow after each parallel's socket as you would do with any transaction. To learn how to create a transaction, refer to Create a Configurable Transaction.
[en] When you click the Parallel node, you can:
[en] Click Add parallel flow to create a new parallel flow.
[en] Click the pencil icon to edit a parallel flow's name.
[en] Click the trashcan icon to delete a parallel flow.
Nota
Con un nodo paralelo, puedes crear hasta 9 flujos paralelos en la misma transacción. Además, puedes crear paralelos dentro de paralelos para optimizar aún más la transacción.
[en] In the example below, you implemented a new transaction that, following a login transaction, triggers three parallel flows. Flow F1 obtains the user credit cards' information, F2 gets information about the user's personal loans, and F3 retrieves information about the user's additional products, such as debit cards or fixed term deposits. Then, the transaction obtains all the responses and continues with the main flow, which is the Script named Consolidated next to the parallel node. The remaining steps of the flow consolidate all the data on the home banking landing page for the end user and generates a payment calendar with all the information obtained.
[en] Steps are executed in the following order:
[en] The transaction runs F1's script to prepare data.
[en] Then, it executes F1's request.
[en] Without waiting for a response, the transaction executes F2's script to prepare data.
[en] It executes F2's HTTP request.
[en] It runs F3's script to prepare data.
[en] It executes F3's HTTP request.
[en] Then, the transaction receives the response from the three parallel flows.
[en] With all this information, the transaction continues from the "Consolidated" script and runs the rest of the steps in this sequencial order until the End node.
Buenas prácticas
[en] Parallel actions only work with HTTP requests. This means that every flow must contain an HTTP Request action, or a REST or SOAP service. If they do not contain any requests, the actions will be executed in sequencial order.
Con esta acción, se establece un código de respuesta y un mensaje para una transacción cuando falla y se guarda el valor en el log de transacciones. Mediante esta acción también se puede finalizar la ejecución de la transacción.
A diferencia de la acción Set Response Code, la acción Fail solo se puede utilizar al final de una transacción.
Los códigos de error y los valores de los mensajes generalmente se establecen creando acciones Constant y recuperando esta información como entradas. A continuación, se muestra un ejemplo de un nodo de acción Fail que recupera sus entradas de dos acciones Constant.
Nota
El código de respuesta y el conjunto de mensajes aparecerán en el log de transacciones cuando la transacción falle.
Advanced
Se utiliza para crear funciones que aún no están disponibles como acciones, o para construir lógica compleja de forma compacta, como desencriptar información de los usuarios o registrar errores en el log de transacciones. También se puede utilizar para interpretar la respuesta de un servicio recuperada con una acción HTTP Request.
Al seleccionar el nodo de acción Script, se abre el editor de script, donde puedes pegar y editar directamente tu script. Consulta el articulo Crea una transacción configurable para ver un escenario en el que se utiliza la acción Script.
Mediante esta acción, se obtiene un parámetro de negocio del Middleware que se puede utilizar en la transacción.
Con esta acción, puedes invocar un servicio. Esta acción complementa la funcionalidad de la acción Script, ya que puedes crear una solicitud al servicio con la acción Script y luego implementar la solicitud HTTP para consumir el servicio.
Por ejemplo, puedes invocar el servicio interno de BRM y llamar a cualquiera de sus API. Con una acción Script, estableces el punto de conexión con la URL, el método, los encabezados y un cuerpo con todos los parámetros que envías al servicio. Luego, con la acción HTTP Request, ejecutas la llamada al servicio que devolverá un archivo .json con los resultados. Siempre se necesita una acción Script o un proceso lambda para interpretar la respuesta de la solicitud HTTP.
Con esta acción, se establece un código de respuesta para una transacción, según el resultado de la operación, y se guarda el valor en el log de transacciones. También se puede finalizar la ejecución de la transacción.
Mediante esta acción, puedes configurar un código de respuesta, previamente creado en Middleware, para registrar el número 10, que recibe la respuesta de la transacción. El mensaje que se muestra al usuario se almacena en el número de registro 11.
A diferencia de la acción Fail, esta acción se puede utilizar en cualquier paso de la transacción.
Funciones
Con esta acción, puedes realizar operaciones relacionadas con valores de fecha. Los resultados pueden estar en formato numérico o de fecha.
Con esta acción, puedes realizar funciones matemáticas entre valores.
Con esta acción, puedes realizar diversas acciones genéricas entre datos, transformando valores según el tipo de operación seleccionada.
Con esta acción, puedes comparar dos valores booleanos con las funciones and, or y not.