CHAPTER THREE: ANALYSIS
3.3 Nikki: Resistance to the Norm
BASE DE DATOS
La aplicación móvil cuenta con dos momentos diferentes para la consulta y presentación de información de un estudiante: En primer lugar, la información que se encuentra contenida dentro del código QR, una vez descifrado, permite obtener una vista previa de la información básica que debe estar almacenada dentro del diploma o dentro del documento académico. Esto, ya permite que exista una forma de conocer la información contenida en el código QR y de validar a su vez que esta información sea acorde a la que está en el documento, de una forma inmediata. Por otra parte, la aplicación web cuenta con un pequeño servicio que permite hacer consultas a la base de datos de forma directa y distribuida. Esto es: el servicio es consultado desde la aplicación móvil y realiza una consulta de un índice que indica la ruta de conexión a la base de datos (propia) de la institución. Esto permite verificar los estudiantes (leer QR) directamente en la base de datos de la institución y permite reducir la carga de consultas en el servidor central. El servidor a su vez retorna la información solicitada cifrada en un texto plano, que no representa mayor carga para la transmisión de los datos ni para la presentación de estos en la interfaz del móvil.
69
Ilustración 27. Distribución Bases de Datos Fuente: Propia
En la ilustración 27 se puede observar cómo están distribuidas las bases de datos de las instituciones, la base de datos central y la aplicación. De esta manera la información se encontrará distribuida y a la hora de realizar la validación de un documento se deberá establecer conexión con bases de datos externas, en las cuales se harán las respectivas consultas de forma directa según la institución a la cual pertenece el código QR, esto con el objetivo de mantener la información distribuida y que se realice la consulta en una base de datos específica, dejando así las demás bases de datos libres de consultas innecesarias. Con este modelo se puede evidenciar el componente telemático, el cual entra a jugar un papel importante a la hora de establecer conexión con bases de datos externas, manteniendo la información de las instituciones de forma distribuida y además como se ha documentado anteriormente en este documento, cada una de las peticiones y respuestas entre el cliente y el servidor siempre están cifrados, con el objetivo de mantener un nivel de seguridad alto en la transmisión de la información.
70
Dentro de la aplicación móvil se han efectuado diferentes pruebas que han permitido constatar que la consulta de información a la base de datos no tiene periodos mayores a un segundo, por lo cual, es lo suficientemente veloz para que se envíe la consulta y se retorne la información casi de forma inmediata.
La plataforma web ha sido instalada en un servidor web de Amazon yallí está alojada la base de datos en la cual se almacenan todos los registros de la aplicación, la razón por la que se realizó la instalación en un servidor externo como lo es Amazon, es que, es común tener las bases de datos alojadas en servidores en la nube, lo que conlleva a requerir de más tiempo para realizar procesos como consultas y el objetivo es realizar pruebas y demostraciones de la manera más real posible.
A partir de esto, todas las peticiones realizadas desde la aplicación móvil para realizar la validación de un documento o certificado académico, van dirigidas hacia la plataforma web, por lo tanto se implementó un código fuente en la aplicación móvil que mostrará el tiempo requerido para la validación desde el momento en que se comunicó con el servidor, hasta que obtuvo una respuesta del mismo, de esta forma se puede conocer el tiempo necesario para la consulta en la base de datos.
En la ilustración 28 se puede apreciar el código en la aplicación móvil, siendo este un método que permite iniciar un timer, el cual aumenta cada vez que pasa un milisegundo.
71
Ilustración 28. Método que inicia el timer para el test en aplicación móvil Fuente: Propia
Existe otro método encargado de imprimir el tiempo total, el cual se puede apreciar en la ilustración 29:
Ilustración 29. Método de impresión del tiempo requerido para la validación Fuente: Propia
Como se aprecia en la ilustración 30, el timer es iniciado cuando se establece la conexión con la plataforma web, la cual a su vez está comunicada con la base de datos de forma local.
72
Ilustración 30. Inicialización del timer de prueba Fuente: Propia
Cuando el servidor responde a partir de la consulta realizada en la base de datos, se ejecuta un método que valida la información recibida, pues la respuesta viene cifrada, dentro de esto método se detiene el timer y se imprime en pantalla el tiempo requerido para la validación del documento mediante la conexión a la base de datos que se encuentra en un servidor externo, este proceso se puede apreciar en la ilustración 31.
Ilustración 31. Detención del timer e impresión en pantalla del tiempo requerido Fuente: Propia
73
Es de esta manera como se puede apreciar en la aplicación móvil el tiempo necesario para establecer conexión con la base de datos y realizar la consulta, el tiempo necesario para este caso de prueba y teniendo en cuenta que la base de datos está en un servidor web externo, pues está alojado en Ohio Estados Unidos es de 276 milisegundos, como se puede observar en la ilustración 32.
Ilustración 32. Tiempo requerido para establecer la conexión y consulta en la base de datos Fuente: Propia
Estas pruebas demuestran que la conexión con la base de datos es lo suficientemente rápida para brindar información almacenada en ésta, en el momento en que un usuario lo requiera, aun cuando la información haya sido modificada en la base y deba ser consultada de nuevo.
74
Así mismo, la tabla de la base de datos que involucra la consulta desde la aplicación móvil (que maneja los índices) está configurada con el motor de almacenamiento
MyISAM, el cual permite que las consultas sean hechas más rápidamente que las realizadas con el motor de almacenamiento InnoDB. Las demás tablas que involucran la inserción masiva de información están configuradas con el motor de almacenamiento InnoDB. Hay que tener en cuenta que las bases de datos configuradas con MyISAM cuentan con velocidades de lectura mayores que configuradas con InnoBD34. Esto permite a su vez que las consultas a los índices
sean mucho más veloces, y el servidor se encargará de retornar la información cifrada.
34 (2016). MyISAM vs InnoDB [online] Disponible en http://b2evolution.net/man/myisam-vs-innodb
75