Escenarios
Existen tres escenarios que forman el flujo de analíticas:
Extracto de datos
Almacenamiento de información
Petición de datos.
2.1 Extracto de datos
Dado que cada aplicación tiene sus propias casuísticas, es imposible encontrar un extractor común para todas, por lo que la parte de extracción de datos se debe realizar sobre el desarrollo del propio producto.
A nivel funcional, un extractor debe ir a buscar los datos a la base de datos y rellenar un objeto del tipo AnaliticaDTO proporcionado por las librerías del TCI.
Una vez extraída la información, se deposita en la cola de ActiveMQ destinada a analíticas (ANALITICAS).
A nivel técnico, hay un manual de desarrollo, en la Wiki de desarrolladores de b+dgtal Kraken.
2.2 Almacenamiento de información
El lector de Hermes Analytics recibe los datos a través de la cola de ActiveMQ (ANALITICAS), y almacena en la base de datos la información siguiendo un patrón:
La base de datos consta de una tabla con una clave primaria que comprende todas las posibles combinaciones de datos (id de analítica, extracto, producto, nombre de la serie, agrupación, etc…) y sobreescribirá la información del valor de la serie, que concuerde con esa combinación de datos.
Hay que entender que el módulo de analíticas sólo funciona con cifras absolutas, por lo que si queremos diferenciar entre distintos tipos de combinaciones de datos, será necesario extraer cada una de esas combinaciones.
2.3 Petición de datos
Los datos se solicitan desde Atenea a través de una interfaz de GraphQL que proporciona dos operaciones:
getAnalyticsByID(String ID): Devuelve un único objeto de analíticas que concuerde con los datos de ese ID.
getAnalytics(QueryListStatement queryListStatement): Devuelve un listado de analíticas, que cumplan los requerimientos del QueryListStatement.
getYearlyAnalytics(QueryListStatement queryListStatement): Devuelve un listado de analíticas, que cumplan los requerimientos del QueryListStatement con fechas comprendidas dentro del año natural, a partir del mes y año especificado en la petición. p.ej: si solicito las analiticas del 10 de 2022, me traerá desde el 11 del 2021 hasta el 10 del 2022.
Avvale 2024