ARQUITECTURA


La arquitectura básica del sistema consiste en un servidor central, conectado a múltiples terminales "clientes", que se esparcen por toda la universidad, para así poder controlar el acceso a las instalaciones. Los terminales se conectaran vía TCP, ya que este puede asegurar que los paquetes lleguen de forma correcta y no se pierdan en el camino. Si bien se podría usar UDP, no se eligió ya que como se necesitan trasmitir datos cortos pero que lleguen si fallas, ni que se pierdan en el camino, se prefirió usar TCP. El servidor por otra parte debe ser capaz de atender múltiples requerimiento simultáneos. Para esto se usa hebras para resolver esta problemática.                             asdf
Servidor: El servidor esta constituido de tres etapas principalmente: 1. La estructura principal consiste en puerto TCP de escucha y mantenerse siempre atento a cualquier llamado. 2. La segunda rama consiste en una clase hereda las hebras, para atender cada solicitud por separado de forma independiente. Así de esta manera se puede mantener el programa principal libre solo para escucha y atender varias solicitudes sin mayores dificultades, ademas esta se encarga de examinar la base de datos construida, la cual mantiene los datos de todo el personal autorizado, y luego indica si el usuario esta autorizado o no a acceder.
Funcionamiento servidor:
1. Lo primero a hacer, el programa principal crea un socket TCP de escucha y queda a la espera de llamados. 2. Luego al recibir un llamado, este lo traspasa a atenderse con la clase llamada "secretaria" la cual se encarga de atender el cliente personalmente. Dejando así libre el programa principal para seguir escuchando. 3. Una vez la conexión establecida, se lee el mensaje obtenido compara con la base de datos, una vez comparado el mensaje recibido se obtiene una respuesta, si el usuario pertenece o no. 4. Por último la clase "secretaria" le envía de vuelta al cliente la respuesta. 5. Por último se muere la hebra.

Cliente: El cliente solo consta de una clase principal, la cual esta encargada de la lectura de los datos del usuario, puede ser ingresada por pantalla, huella digital, lector magnético, etc.  Una vez obtenido este se conecta con el servidor y le envía los datos obtenidos. Al recibir la respuesta, este decide si permite el acceso o no al usuario.