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).