Integraciones
Breadcrumbs

Denodo

Modelo de integración

Extracción de metadatos

Para la extracción de metadata de un objeto se utilizan los métodos que ofrece el driver com.denodo.vdp.jdbc.Driver mediante los cuales se accede a la definición de esquemas y tablas.

El plugin extrae los siguientes atributos que deben llamarse igual en la tabla attribute_definition, campo name para que aparezcan en la plantilla:

  • catalog con el valor de catalog en la base de datos

  • schema con el valor de schema en la base de datos

  • physicalName y name con el mismo valor, el nombre de la tabla

  • path con la concatenación de los valores de catalog, schema and table

  • infrastructure con el valor seleccionado

  • technology con el valor seleccionado

  • zone con el valor seleccionado

  • tags son las etiquetas a nivel de vista que tienen las tablas.


También envía los siguientes atributos relativos a los campos del recurso pedido:

  • name y physicalName con el valor del campo

  • defaultValue con el valor por defecto definido para el campo

  • fieldDataType con el tipo de dato definido para el campo

  • length con el tamaño del campo

  • incrementalField indicando si es un campo incremental

  • position posición que ocupa el campo

  • precision con el valor de la precisión del campo

  • nullable indicando si el campo es nullable

  • pk indicando si el campo es una pk

  • description con el valor para el campo

  • tags son las etiquetas a nivel de columna que tienen las tablas.


Los atributos a crear en Anjana deben de tener los siguientes tipos:

Nombre de atributo

Tipo de atributo

Catalog

INPUT_TEXT

Schema

INPUT_TEXT

PhysicalName

INPUT_TEXT

Path

INPUT_TEXT

Infrastructure

SELECT

Technology

SELECT

Zone

SELECT

Tags

ARRAY_ALPHANUMERICAL

Name

INPUT_TEXT

DefaulValue

INPUT_TEXT

FieldDataType

INPUT_TEXT

Length

INPUT_NUMBER

IncrementalField

INPUT_CHECKBOX

Position

INPUT_NUMBER

Precision

INPUT_NUMBER

Nullable

INPUT_CHECKBOX

Pk

INPUT_CHECKBOX

Description

ENRICHED_TEXT_AREA_INTERNATIONAL


El plugin es capaz de realizar la extracción de metadatos de los siguientes tipos de elementos de Denodo:

  • Vistas de tablas de base de datos

  • Interfaces

  • Derived

Muestreo de datos

Utilizando el driver com.denodo.vdp.jdbc.Driver de Java se ejecuta una query simple de SELECT para acceder a un número limitado de elementos de la tabla para recuperar una muestra de los datos almacenados. Adicionalmente se sustituyen los valores de los campos sensibles por asteriscos.

Si algún tipo de Vista está mal definida en Denodo no se podrá realizar el muestreo. De igual manera, si se modifican las implementaciones asociadas a las Vistas de tipo Interface, después de haber sido creadas, también fallará el muestreo.

Gobierno activo

Mediante queries se permite crear/borrar los roles de Denodo cuando se aprueba o expira un DSA y se administran los permisos necesarios a la vista de la tabla (Read, Write) cuando se añaden datasets o expiran en un DSA.

Es necesario tener desplegado el plugin de Ldap o Entra ID para permitir crear los grupos.

Edición de objetos

Cuando se activa o desactiva una entidad no nativa, mediante queries, se dan o eliminan los permisos de las tablas correspondientes para los roles de Denodo.

Credenciales requeridas

Extracción de metadatos

Usuario con privilegios necesarios para hacer SELECT sobre las vistas de las tablas que se quieran gobernar (Connect, Metadata y Execute).

Muestreo de datos

Usuario con privilegios necesarios para hacer SELECT sobre las vistas de las tablas que se quieran gobernar (Connect, Metadata y Execute).

Gobierno activo

Para realizar las operaciones de gobierno activo son necesarios los siguientes roles en el usuario de conexión que se indique en el yml:

-create_role -> Necesario para crear roles.

-assignprivileges -> Necesario para realizar el grant/revoke.

-drop_role-> Necesario para borrar los roles.

Edición de objetos

Cuando en Anjana se active o desactive una entidad no nativa, el plugin dará o eliminará los permisos en las tablas correspondientes. Para realizar estas acciones el usuario de conexión que se indique en el yml debe tener el permiso:

-assignprivileges -> Necesario para realizar el grant/revoke.

Autenticación y autorización

con Ldap

Para que el plugin de Denodo funcione es necesario activar en Denodo la autenticación y autorización con Ldap, para ello hay que seguir estos pasos:

https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/server_configuration/server_authentication/ldap_authentication/ldap_authentication

Para que funcione tanto la autenticación como la autorización los usuarios no deben de existir en Denodo, solo en Ldap, así de esa manera se conecta a Ldap para autenticar y autorizar.

con Entra ID

Para que el plugin de Denodo funcione es necesario activar en Denodo la autenticación y autorización con EntraID, para ello hay que seguir estos pasos:

https://community.denodo.com/kb/en/tag/Azure%20AD

Para que funcione tanto la autenticación como la autorización los usuarios no deben de existir en Denodo, solo en EntraID, así de esa manera se conecta a EntraID para autenticar y autorizar.

Actualización de tags

Es posible configurar que el plugin actualice los tags modificados en Anjana automáticamente en Denodo a partir de todos aquellos datasets que estén gobernados y estén aprobados o deprecados. Esta configuración se hace por medio de un comando crontab que define la periodicidad en la que se quiere ejecutar la acción.

Para realizar las operaciones de actualización de tags, son necesarios los siguientes roles en el usuario de conexión que se indique en el yml:

  • manage_tags -> Necesario para crear los tags.

  • assign_tags -> Necesario para asignar tags a las columnas.

En el siguiente ejemplo el proceso se ejecuta de lunes a viernes cada hora desde la 7:00 a las 22:00:

YAML
totplugin:
  batch:
    tags:
      cron: 0 0 7-22 * * MON-FRI


Además se tendrá que configurar la ARI de tripleta para especificar sobre qué objetos de Anjana se actuará.

totplugin:
  connection:
    - ...
      aris:
        ari: "anja:totplugin:updateTags:/jdbc/denodo/denodo/"



También existe la posibilidad de configurar el separador que Anjana utiliza para recuperar los valores de un atributo de tipo lista. Normalmente no hay que cambiar este valor pero, si hubiera que hacerlo, se podría modificar la siguiente configuración:

totplugin:
  anjana:
    attributeSeparator: "_-"

El atributo tags de los datasets y dataset fields debe tener el nombre ‘tags’ en la tabla attribute_definition y ser del tipo ARRAY_ALPHANUMERICAL.


Configuración

En la https://wiki.anjanadata.com/es/configuracion/25.1/configuracion-tecnica y en https://wiki.anjanadata.com/es/configuracion/25.1/tot-despliegue-de-plugins hay algunas directrices.

Existe un YAML de ejemplo para facilitar la configuración en Nexus / com / anjana / documentation (necesario login previo) con explicaciones de las propiedades y valores por defecto.

Este plugin puede conectarse a varias instancias de la misma tecnología, también se puede ver el YAML de ejemplo.

Conectividad

La conectividad del plugin se realiza a través de:

  • Protocolo JDBC. Se debe suministrar la URL de conexión al VDP según se explica en el archivo de configuración de ejemplo

  • Puerto. El puerto estándar del VDP suele ser el 9999, aunque esto puede variar según el contexto en el que se instale el plugin

Queries case sensitive

El plugin de Denodo lanza las queries incluyendo los nombres de los tags, roles, schemas y datasources entre comillas dobles para que sean case sensitive pero también es necesario configurar la siguiente propiedad en el portal de Denodo:

att_1_for_171868349.png

Comprobar los tags disponibles en Denodo

Existen dos opciones:

En el apartado tags de Denodo

att_2_for_171868349.png


Lanzando esta query

SQL
SELECT column_name, tag_name from GET_VIEW_TAGS() WHERE INPUT_DATABASE_NAME = 'dev' and INPUT_VIEW_NAME= 'anjana_adherence_cart';


Aparecen así:

att_4_for_171868349.png