Arquitectura

Debido a la complejidad de los algoritmos de recomendación y al volumen de información que deben manejar, los algoritmos de recomendación se ejecutarán en el servidor central. El cálculo de las recomendaciones se realizará off-line, es decir, de forma periódica en función de determinadas condiciones como puedan ser la incorporación de nueva programación, la actualización de los perfiles de los usuarios... Cuando un usuario solicite recomendaciones, el sistema le entregará aquellas que estén actualmente almacenadas en su base de datos, provenientes de la última ejecución del algoritmo. Los distintos módulos del servidor central se encargarán de las siguientes tareas:

  • Gestor de la ontología. Será el encargado de modificar la ontología de la programación actualmente disponible. Cuando se incorpore nueva programación al sistema, este módulo se encargará de recibirla de los servicios de información de la empresa R y de traducir el formato de la nueva información al formato empleado por la ontología. Este módulo se encargará de incluir en el lugar apropiado de la ontología todos los programas recibidos y de crear las correspondientes relaciones que se deriven de las propiedades de los programas.
  • Gestor de los perfiles. Este módulo del servidor se encargará de recibir de los descodificadores de los usuarios (y de los sistemas de información de la empresa R, si procede) cualquier tipo de información sobre alta o actualización del perfil de los usuarios.

  • Recomendador. El motor de recomendaciones del servidor central se encargará de calcular las recomendaciones para los usuarios cuando se produzcan las condiciones que se estimen convenientes y de almacenarlas en la base de datos de recomendaciones.
  • Comunicaciones. Este módulo se encargará de las distintas comunicaciones con el exterior, tanto de aquellas relacionadas con los descodificadores de los usuarios (solicitud de recomendaciones, modificación de perfiles...), como de las relacionadas con los sistemas de información de la empresa R (por ejemplo, incorporación de nueva programación).