VIVAit Supervisor

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda
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.



Los conceptos utilizados en el supervisor son los siguientes:

Dashboard: panel de control que muestra de forma visual y resumida información clave (datos, indicadores o métricas)
para supervisar, analizar y tomar decisiones de manera rápida.
El dashboard contiene componentes.
Componente: cada pieza o elemento que aparece en el panel y que sirve para mostrar la información deseada.
Los componentes pueden ser tablas o gráficos.
- Tablas: la información se muestra en formato de tabla, las cabeceras se definen al crear la lógica de la tabla.
- Gráficos: los datos se muestra en formato gráfico. Existen diferentes formatos de gráficos disponibles: barras, líneas, circulares, ...
Sobre como los componentes actualizan la información se pueden clasificar en:
- Dinámicos: la información de este componentes se actualiza periodicamnte,, según un temporizador asociado al componente.
- Estáticos: la información se muestra cuando se lanza el dashboard y ya no se actualiza más hasta que no se vuelve a invocar el panel de control.



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