Diferencia entre revisiones de «VIVAit Supervisor»

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda
Línea 19: Línea 19:
 
<br><br>
 
<br><br>
 
'''Dashboard'''<br>
 
'''Dashboard'''<br>
Panel de control que presenta de forma visual y resumida la información clave (datos, indicadores o métricas),<br>
+
:Panel de control que presenta de forma visual y resumida la información clave (datos, indicadores o métricas),<br>
con el objetivo de facilitar la supervisión, el análisis y la toma de decisiones de manera rápida y eficiente.<br>
+
:con el objetivo de facilitar la supervisión, el análisis y la toma de decisiones de manera rápida y eficiente.<br>
Un dashboard está compuesto por uno o varios componentes.
+
:Un dashboard está compuesto por uno o varios componentes.
 
<br><br>
 
<br><br>
 
'''Componente'''<br>
 
'''Componente'''<br>
Elemento individual que forma parte de un dashboard y cuya función es mostrar la información requerida.<br>
+
:Elemento individual que forma parte de un dashboard y cuya función es mostrar la información requerida.<br>
Los componentes pueden adoptar distintos formatos, entre los más habituales:<br>
+
:Los componentes pueden adoptar distintos formatos, entre los más habituales:<br>
:'''• Tablas:'''<br>
+
::'''• Tablas:'''<br>
::La información se presenta en formato tabular. Las cabeceras y la estructura de la tabla se definen durante la creación de su lógica.<br>
+
:::La información se presenta en formato tabular. Las cabeceras y la estructura de la tabla se definen durante la creación de su lógica.<br>
:'''• Gráficos:'''<br>  
+
::'''• Gráficos:'''<br>  
::Los datos se muestran de forma visual mediante distintos tipos de gráficos, como barras, líneas, circulares, entre otros.<br>
+
:::Los datos se muestran de forma visual mediante distintos tipos de gráficos, como barras, líneas, circulares, entre otros.<br>
:Según el modo en que actualizan la información, los componentes se clasifican en:<br>
+
::Según el modo en que actualizan la información, los componentes se clasifican en:<br>
:'''• Dinámicos:'''<br>
+
::'''• Dinámicos:'''<br>
::La información se actualiza de forma periódica, de acuerdo con un temporizador asociado al componente.<br>
+
:::La información se actualiza de forma periódica, de acuerdo con un temporizador asociado al componente.<br>
:'''• Estáticos:'''<br>
+
::'''• Estáticos:'''<br>
::La información se carga al iniciar el dashboard y no se vuelve a actualizar hasta que el panel de control se invoca nuevamente.
+
:::La información se carga al iniciar el dashboard y no se vuelve a actualizar hasta que el panel de control se invoca nuevamente.
 
<br><br>
 
<br><br>
 
[[#Introducción a Vivait-Supervisor | Volver arriba]] / [https://vivait-wiki.mdnova.local/wiki/vivait/index.php/VIVAit_Supervisor Volver al índice]
 
[[#Introducción a Vivait-Supervisor | Volver arriba]] / [https://vivait-wiki.mdnova.local/wiki/vivait/index.php/VIVAit_Supervisor Volver al índice]

Revisión del 12:44 2 feb 2026

Producto: VIVAit Call v5.1

VIVAit Suite



1 Introducción a Vivait-Supervisor



Con la versión 5.1 de la plataforma VIVAit Call se ha lanzado la aplicación: Vivait-Supervisor.

Los puntos claves del portal Vivait-Supervisor son:

• Seguimiento de las llamadas generadas en el sistema VIVAit Call.
• Visualización de resultados mediante gráficos, tablas y otros formatos.
• Exportación de datos para su posterior análisis.



A continuación se definen los principales conceptos empleados en el supervisor:

Dashboard

Panel de control que presenta de forma visual y resumida la información clave (datos, indicadores o métricas),
con el objetivo de facilitar la supervisión, el análisis y la toma de decisiones de manera rápida y eficiente.
Un dashboard está compuesto por uno o varios componentes.



Componente

Elemento individual que forma parte de un dashboard y cuya función es mostrar la información requerida.
Los componentes pueden adoptar distintos formatos, entre los más habituales:
• Tablas:
La información se presenta en formato tabular. Las cabeceras y la estructura de la tabla se definen durante la creación de su lógica.
• Gráficos:
Los datos se muestran de forma visual mediante distintos tipos de gráficos, como barras, líneas, circulares, entre otros.
Según el modo en que actualizan la información, los componentes se clasifican en:
• Dinámicos:
La información se actualiza de forma periódica, de acuerdo con un temporizador asociado al componente.
• Estáticos:
La información se carga al iniciar el dashboard y no se vuelve a actualizar hasta que el panel de control se invoca nuevamente.



Volver arriba / Volver al índice

1.1 Arquitectura de Vivait-Supervisor



Los bloque funcionales, servicios y elementos que componen la aplicación están divididos en dos capas principales:

- Frontend
Reside en un servidor web Apache.
Se invoca desde un navegador mediante una URL del tipo https://host/ws/
       https://172.25.128.92/Vivait-Supervisor/
Es la parte visual: HTML, CSS, JavaScript.
No accede directamente a la base de datos; solo obtiene datos desde una API.



- Backend / API REST
Corre en un servidor web Tomcat.
Expone la API en:
       https://172.25.128.92/Vivait-Supervisor/.
Contiene la lógica que permite interactuar con la BBDD.
Responde en JSON para que el frontend pueda ofrecérselo al navegador.



Diagrama funcional de la arquitectura de Vivait-Supervisor

Arquitectura supervisor2 V5.1.png



Volver arriba / Volver al índice

1.1.1 Flujo completo del ciclo de datos



Siguiendo el proceso se contemplan los siguientes pasos:

Paso 1 El usuario invoca el frontend residente en Apache desde un navegador, usando javascript, mediante la URL del tipo:

       https://host/Vivait-Supervisor/

El navegador carga la página web servida por Apache.

Paso 2 Una vez superada la fase de validación se muestra la pantalla inicial que permite al usuario elegir el dashboard, previamente configurado, ejecutandose la monitorización de la consulta preparada.

Tras elegir el dashboard deseado, la página web realiza solicitudes periódicas HTTP POST al endpoint correspondiente,
donde se obtienen los datos de los componentes asociados al dashboard, por ejemplo:
               https://172.25.128.92/Vivait-Supervisor/tablas/TablaComponenteDinamicoAjax
siendo la carga util de esta solicitud la identificación del componente con los filtros elegidos por el usuario:
              {idCompoCuadro: "15",…}
                  filtros : [{tipo: "titulo", valor: "titulo=Detalle"}, {tipo: "fechaDesde", valor: "FechaDesde="},…]
               idCompoCuadro: "15"          



Paso 3 Al recibir los datos el frontend hace una petición a la API REST de Tomcat.


Paso 4 La API se conecta a la base de datos, ejecuta las consultas necesarias y devuelve la respuesta.

              INFO TablaDinamicosDaoImpl:607 - componerSQL SELECT DATE_FORMAT(DAT_LLAMADAS.D_HORA_INICIO,'%Y-%m-%d'),DATE ...



Paso 5 El frontend recibe el JSON con los datos de la consulta en la respuesta:

               POST https://172.25.128.92/Vivait-Supervisor/tablas/TablaComponenteDinamicoAjax
El navegador lo representa en pantalla. En ningún momento el navegador accede directamente a la base de datos; todo pasa por la API.



Volver arriba / Volver al índice

1.2 Seguridad de Vivait-Supervisor



El acceso está controlado mediante validación de tokens.

Paso 1 Autenticación inicial

• Al introducir sus credenciales el usuario se valida a través del servicio de autenticación sercen
               https://172.25.128.252/sercen/postautenticar1
• Sercen genera un token firmado que identifica la sesión del usuario.



Paso 2 Validación interna de permisos

• Una vez que el frontend tiene el token, cada petición pasa por una validación de la API del tomcat:
               https://172.25.128.252/Tracker-Rest/tracker/verificarToken
En la misma se comprueba que:
- El token es válido.
- El usuario tiene permisos para el recurso que está intentando usar.
Es necesario que el usuario tenga acceso a la aplicación Grabador, ver Usuarios.
• No se ejecuta ninguna acción si el token no es validado primero.



Paso 3 Proxy inverso apache-tomcat

• Apache actúa como punto de entrada único:
- El usuario solo ve URLs de apache.
- Las peticiones que requieren lógica del backend se redirigen internamente a tomcat.
- Esto se consigue mediante proxy inverso, por ejemplo:
/Tracker_Corporativo → servido por apache
               https://172.25.128.252/Tracker_Corporativo/
/Tracker-Rest → Apache las pasa a Tomcat de forma transparente para el usuario
               https://172.25.128.252/Tracker-Rest/tracker/extensiones
• El navegador utilizado por el usuario nunca ve a tomcat.



Volver arriba / Volver al índice