Saltar al contenido principal

11. Datasources

Un datasource se puede definir como una fuente de información que agrupará una o varias databases. Todas las consultas deberán estar asociadas a uno de ellos, sobre el que posteriormente se ejecutarán. Un datasource admite varias databases para soportar múltiples entornos sobre los que ejecutar la misma consulta, por ejemplo, sobre un entorno de Producción y Preproducción.

Administración de datasources Figura 11.1: Administración de datasources

tip

Para más información sobre la pantalla de administración general ver esta sección.

Los datasources más comunes son los de tipo Base de Datos, ya que son los que más opciones nos permiten a la hora de ejecutar consultas. A continuación se detallan los distintos tipos soportados:

Tabla 11.1: Tipos de datasource

CategoríaTipo
Bases de datosMySQL / MariaDb
Oracle
Postgres
SQL Server
Redshift
DB2
AS400 DB2
Trino
Neo4j
HTTPREST
SOAP
Log

Creación y edición de datasources

La vista de creación de un datasource presenta la siguiente estructura:

Creación de datasources Figura 11.2: Creación de datasources

El formulario se organiza en dos secciones:

Detalle Contiene los campos generales del datasource:

Nombre: Nombre identificativo del datasource. Descripción: Descripción del datasource. Grupo: Grupo al que pertenece el datasource, lo que permite gestionar el acceso de manera controlada. Tipo: Tipo de datasource a crear. La lista de tipos está definida en la Tabla 11.1. Tipos de datasource. Activo: Permite activar o desactivar el datasource. Al desactivarlo, todas las consultas y elementos relacionados dejarán de estar disponibles para la ejecución.

Databases Sección desde la que se gestionan las databases asociadas al datasource. Incluye un buscador y los botones para añadir, editar y eliminar databases. Para añadir una nueva database se debe pulsar el botón + Añadir.

precaución

Todos los cambios realizados en el datasource necesitan ser guardados pulsando el botón Guardar de la barra superior.

La barra de herramientas de la pantalla de datasources incluye, además de los botones habituales de crear, editar, eliminar y actualizar, dos botones adicionales:

  • Consola SQL (>_): abre la consola SQL asociada al datasource seleccionado, permitiendo ejecutar sentencias directamente sobre la database activa. Para más información ver Consola SQL.
  • Entornos (icono de configuración): abre el gestor de entornos, desde el que se pueden crear y administrar los entornos disponibles para asociar a las databases.

Entornos

Los entornos sirven para identificar la cadena de conexión sobre la que se va a ejecutar la consulta. Cuando un datasource tiene varias databases asociadas, al ejecutar una consulta aparecerá un combo para seleccionar el entorno deseado.

Se accede a su gestión desde el botón de Entornos de la barra de herramientas de la pantalla de datasources. Esto abre un modal con la lista de entornos disponibles:

Gestión de entornos

Figura 11.3: Gestión de entornos

Desde este modal se pueden crear, editar y eliminar entornos. Para crear uno nuevo se pulsa el botón Añadir, lo que abre un formulario con dos campos:

Nuevo entorno Figura 11.4: Nuevo entorno

Nombre: Identificador del entorno. Será el texto que aparezca en el combo de selección al ejecutar consultas. Descripción: Descripción del entorno.

Databases

Las databases o cadenas de conexión representan la forma en la que nos conectamos a los datos para extraer la información necesaria en los informes de LUCA. Existen dos grandes grupos: las cadenas de conexión a bases de datos relacionales y las conexiones a servicios expuestos a través de http/s.

Al pulsar + Añadir en la sección Databases del datasource, se abre un modal con el formulario de creación:

Nuevo database Figura 11.5: Nuevo database

El formulario se divide en las siguientes secciones:

Propiedades Contiene los campos generales de la database:

Nombre: Nombre identificativo de la database. Descripción: Descripción de la database. Tipo operación: Indica las acciones que se podrán realizar sobre la database:

  • Lectura: Solo se podrán ejecutar consultas de tipo select y combo. Jamás se ejecutarán consultas de tipo insert, update o delete.
  • Escritura: Solo se podrán ejecutar consultas de tipo insert, update o delete.
  • Lectura/Escritura: Se podrán ejecutar todo tipo de consultas.

Entorno: Entorno asociado a la database. No se pueden asignar dos databases con el mismo entorno a un mismo datasource.

Configuración Campos específicos de conexión según el tipo del datasource al que pertenece la database. Para más detalle ver las secciones Bases de datos e Http.

Usuarios Permite asignar la database a usuarios de manera individual, de forma independiente a los permisos heredados por perfil.

precaución

Los cambios realizados en el modal se confirman pulsando Aceptar. Tras ello, es necesario guardar el datasource para que queden persistidos.

Al editar una database existente aparece además la pestaña Asignaciones, que muestra un resumen de todos los usuarios que tienen acceso a la database, ya sea por asignación directa o por haberlo heredado a través de un perfil.

Bases de datos

Url: Representa la url de tipo JDBC necesaria para conectarse a la base de datos. Usuario: Usuario con permisos sobre la BD indicada en la url. Contraseña: Contraseña del usuario de BD.

Junto al campo de contraseña se encuentra el botón de Configuración avanzada, que permite ajustar los parámetros del pool de conexiones:

Configuración avanzada de la database

Figura 11.6: Configuración avanzada de la database

Consulta de validación: Consulta que se ejecuta para comprobar que una conexión del pool es válida. Son consultas simples como SELECT 1 en MySQL o SELECT 1 FROM DUAL en Oracle. Timeout por Inactividad: Tiempo en segundos antes de que una conexión inactiva se cierre. Debe ser al menos igual al tiempo máximo de ejecución de la consulta más pesada. Tamaño inicial: Número de conexiones que se abren a la BD al crear la database, a la espera de ser utilizadas. Máx. conexiones activas: Número máximo de conexiones activas simultáneas. Máx. conexiones inactivas: Número máximo de conexiones desocupadas en el pool. Mín. conexiones inactivas: Número mínimo de conexiones desocupadas que se mantienen en el pool. Espera máx: Tiempo máximo en milisegundos de espera para obtener una conexión del pool.

nota

Los valores por defecto de estos parámetros son los que aparecen en la imagen. Dependiendo del tipo de base de datos, los campos disponibles pueden variar ligeramente.

Http

Protocolo: http o https. Dominio: Dominio donde se encuentra el servicio http. Puerto: El puerto por el que se va a conectar al servicio. Por defecto será 80 para http y 443 para https. Url base: Path común que se concatena con el dominio. Por defecto será / Seguridad: Tipo de seguridad necesario para conectarse al servicio:

  • Ninguno: No es necesario ningún tipo de seguridad.
  • Http Basic: Autenticación http basic. Se envía el usuario y contraseña como base64(user:password) en el header Authorization de la petición.
  • NTLM: Autenticación de tipo NTLM de Microsoft.
  • WS Usuario Token: Autenticación WS Security con usuario y contraseña.
  • WS X.509 Encryption Signing: Autenticación WS Security mediante certificado X509 encriptado y firmado.
  • OAuth 2.0 - Username Password: Autenticación OAuth 2.0 utilizando el flujo link:usuario y contraseña.
  • OAuth 2.0 - Client Credentials: Autenticación OAuth 2.0 utilizando el flujo link:client credentials.
  • OAuth 2.0 - Password sin cliente (Deprecado): Autenticación OAuth 2.0 utilizando el flujo de usuario y contraseña pero sin tener que incluir un client-id y client-secret. Max active: Número máximo de conexiones activas. Max time idle: Tiempo máximo, en milisegundos, de vida de la conexión.