RealTimeMetrics: Creación de una infraestructura de registro, consulta y visualización de métricas

Descripción del proyecto y objetivo a conseguir

Hoy en día, en las aplicaciones software, incluso aplicaciones clásicas de escritorio o aplicaciones embebidas, resulta cada vez más común la interacción de éstas con Internet, ya sea para acceder a recursos que necesita la aplicación o para enviar datos o información.

A través de la exposición en Internet de APIs web, las aplicaciones software solicitan datos en muchas ocasiones, y en otras, envían información acerca de diferentes ámbitos. Un caso real concreto son los reportes de información acerca de la ejecución de la aplicación (logs con información, warnings o errores que se producen en la misma). Una vez esta información llega a la API web, es responsabilidad de ella gestionarla. Esto puede realizarse de múltiples maneras: ya sea como simple reenvío contra otra API web, tratamiento de la información (almacenamiento en una base de datos, por ejemplo), o notificación de que ha llegado un nuevo evento y es necesario avisar a un cliente web de que tenemos un nuevo reporte. Para visualizar todo lo anterior, existe normalmente un dashboard. Este caso real es el que se quiere llevar a cabo con este Trabajo Fin de Grado.

Mediante la implementación de una aplicación web conectada a una base datos, ésta será la encargada de recibir información de un número de clientes indefinidos y será capaz de gestionar la información que le llega, el almacenamiento en base de datos y la notificación a un número de clientes nuevamente indefinidos de que tienen que actualizar su vista, dado que se presentan nuevos reportes.

La infraestructura que será necesaria llevar a cabo permitirá distribuir una colección de métodos, en una librería aparte, para que los diferentes clientes puedan contactar con la API web, de tal forma que los programas cliente simplemente deberán llamar a los métodos para notificar a la API web que desean reportar nueva información. Además, la API web será la encargada de notificar a los clientes que se encuentren subscritos que el frontend ha de cambiar, dado que en tiempo real se han recibido nuevos datos.

Para llevar a cabo el TFG se utilizarán frameworks como .NET 5/6 para la creación de la API web, ORMs como EF Core para la conexión y el modelaje de la base de datos utilizando técnicas de “code first”, frameworks como Angular para la construcción del cliente (dashboard) que recibirá notificaciones de la API web, y finalmente tecnologías como SignalR que permiten comunicar cliente-servidor con notificaciones asíncronas enviando información en tiempo real.

Funciones a realizar

  • Investigar las tecnologías que se usarán.
  • Desarrollar el análisis, diseño, implementación, pruebas y puesta en funcionamiento de la aplicación.

Tecnologías a utilizar

  • .Net
  • ASP.NET
  • SignalR
  • Angular
  • EFCore

Palabras clave

  • Web services, Web development, Real time, Dashboards

Tutores

  • Javier Carracedo Esteban, Rafael Morán Bautista (HP SCDS)
  • Raquel Blanco Aguirre (Universidad de Oviedo)

Volver al listado