A. Denormalizing Rape 1063
1. Increasing Public Awareness 1064
En esta secci´on se expone la arquitectura elegida para la herramienta de monito- rizaci´on para la plataforma de IPTV de Ericsson. Para ello, se listar´a en primer lugar los componentes involucrados en la herramienta, despu´es se explicar´a qu´e est´a des- plegado en cada uno de ellos, y por ´ultimo se muestra el flujo completo detallado de c´omo funciona la herramienta, desde que los logs salen de la plataforma hasta que el usuario puede visualizar los resultados. Para explicar este flujo, se utilizar´a la figura 35.
Los tres elementos necesarios para que la herramienta funcione son los siguientes:
Plataforma IPTV Es donde la informaci´on de monitorizaci´on es generada.
Servidor Windows En su versi´on Windows Server 2008 R2. Contiene la l´ogica de negocio.
Servidor LinuxDistribuci´on Ubuntu Server en su version 16.04.1 LTS. Con- tiene la base de datos e interfaz web.
Para este proyecto, la plataforma de IPTV va a ser una caja negra que copia los logs necesarios en una carpeta del servidor Windows. Para ello, esta m´aquina tiene que estar dentro del mismo dominio de directorio activo de Microsoft y las m´aquinas que copian los logs tienen que tener acceso a la m´aquina o a la carpeta compartida donde est´en los mismos. Siguen dos ejemplos de c´omo se podr´ıa acceder a ella siempre y cuando se tengan accesos:
Figura 35: Arquitectura de la herramienta de monitorizaci´on.
\\NOMBRE DEL SERVIDOR\l o g s
Ejemplo : \\S e r v i d o r d e l o g s\l o g s Acceso total a la maquina
\\NOMBRE DEL SERVIDOR\Unidad$\l o g s Ejemplo : \\S e r v i d o r d e l o g s\c$\l o g s
Por lo dem´as, no se entrar´a en el detalle de los componentes de la plataforma de IPTV. A continuaci´on siguen los componentes desplegados en los dos servidores, Windows y Linux. Si el lector quiere m´as informaci´on acerca de su instalaci´on, puede consultar en el anexo el manual de instalaci´on de la herramienta.
Servidor Windows
Este servidor es la interfaz entre la plataforma de IPTV y la base de datos. Su funci´on es procesar los datos de los logs e insertarlos en la base de datos. Se ha elegido separar esto en un servidor aparte y no integrarlo en otro servidor de la plataforma dada su carga (un despliegue de IPTV con este producto tiene m´as de trescientas m´aquinas, y todas generan logs que son copiados a esta). La base de datos no est´a alojada en este servidor, lo est´a en el servidor Linux, como m´as adelante se explicar´a. En este servidor est´an desplegados los siguientes componentes:
Carpeta de red.
Aplicaci´on MRDataAnalysis (l´ogica de negocio). Carpeta de red
Como se ha explicado m´as arriba, la carpeta de red es donde todos los logs de la plataforma van a ser copiados. Las m´aquinas de la plataforma se configuran con tareas programadas que se ejecutan peri´odicamente (normalmente en periodos de
treinta minutos) y copian los nuevos logs a este servidor. Esta es la ´unica funci´on de este directorio.
Aplicaci´on MRDataAnalysis
Esta aplicaci´on se encarga de leer los logs, interpretarlos e insertar en la base de datos la informaci´on ´util y necesaria. Se ha desarrollado en C# ya que hay librer´ıas creadas por Microsoft que facilitan mucho ciertas tareas. Por poner un ejemplo, los logs generados por IIS, el servidor web de Microsoft, pueden ser consultados con una herramienta llamadalogparser, haciendo uso de un lenguaje de consulta parecido a SQL. Estos detalles se dejan para la secci´on tecnolog´ıas empleadas, en la cual se habla de los lenguajes, as´ı como las librer´ıas usadas.
Servidor Linux
En este servidor hay desplegados los siguientes componentes: Base de datos MySQL.
Motor del lenguaje R m´as librer´ıas necesarias.
Shiny: Servidor web con contenedor para aplicaciones R. Aplicaci´on base de datos MySQL
La base de datos aqu´ı desplegada se usa para albergar todos los datos necesarios por la aplicaci´on web para poder mostrar correctamente al usuario de esta los gr´aficos de la informaci´on requerida. Como se ha explicado anteriormente, la base de datos se rellena con los datos interpretados, resultado de leer los logs por la aplicaci´on MRDataAnalysis. Se ha usado una estructura de datos relacional. Si el lector quiere saber m´as acerca de la estructura de la misma, puede dirigirse al anexo y consultar el apartadotablas de la base de datos.
Motor del lenguaje R
Es necesario este componente ya que en la fase de dise˜no se decidi´o utilizar R como lenguaje para interpretar las cantidades de datos de la base de datos. Se decidi´o por este, dado que es un lenguaje ´util a la hora de hacer estad´ısticas y sacar datos para dibujar gr´aficas.
Servidor web Shiny
Es un servidor web con contenedor para aplicaciones R, el cual hace posible crear
frontendsweb basados en el lenguaje R. Permite alojar diferentes aplicaciones. Cada aplicaci´on se basa en dos ficheros: server.Rdonde se aloja la l´ogica de negocio del
frontend web y ui.R, haciendo alusi´on a User Interface, que es donde va escrita to- da la parte de la interfaz con la que interact´ua el usuario (botones, desplegables, etc.)
Flujo de la aplicaci´on
Para cerrar esta secci´on de arquitectura se ver´an los flujos de trabajo, los cuales hacen que la aplicaci´on funcione correctamente. Para ello, y como ha sido nombrado anteriormente, se utilizar´a la figura 35 como referencia, y los n´umeros expuestos en ella como n´umero de paso.
Paso uno - Las m´aquinas de la plataforma IPTV copian los logs generados en la carpeta de red del servidor Windows. Esto se hace con tareas programadas que permiten ejecutar acciones peri´odicamente. Estas se ejecutan aproximadamente ca- da treinta minutos para tener la informaci´on m´as actual posible en la carpeta de red.
Paso dos- Una vez est´a la informaci´on en bruto en la carpeta de red, se ejecuta la aplicaci´on MRDataAnalysis. Realmente esta aplicaci´on es ejecutada autom´atica- mente por Windows siguiendo la filosof´ıa de las tareas programadas del paso uno. Con esto, de forma autom´atica se consigue que cada cierto tiempo la informaci´on de los logs sea interpretada y enviada a la base de datos.
Paso tres - La informaci´on es procesada por la aplicaci´on y esta la env´ıa a la base de datos, que la guarda en sus tablas y es almacenada siguiendo un modelo relacional.
Paso cuatro - La aplicaci´on web puede conectarse a la base de datos, leer los datos y usarlos para generar gr´aficos y mostrar informaci´on relevante.
Paso cinco - Por ´ultimo, el ingeniero de soporte, si requiere hacer alguna con- sulta, mediante una URL se conecta a la interfaz web, y haciendo uso de la UI puede consultar lo que requiera.