Figura 31 Placa de Conexión del sistema Receptor de datos
5.5 Implementación del Sistema Distribuido
5.5.3 Desarrollo de la Aplicación Servidor
Teniendo en cuenta que el sistema se basa en la metodología Cliente-Servidor y de
acuerdo al propósito de este sistema en particular se tienen 2 servidores:
à Servidor de Aplicación de Control à Servidor de Base de Datos
Esto con el objetivo de descentralizar las operaciones, el Servidor de Aplicación se
encarga de recibir y procesar las solicitudes de los clientes mientras que el Servidor de
Base de Datos contiene la información concerniente a los permisos de los clientes para
realizar alguna actividad, con esto las operaciones de los clientes son recibidas por el
Servidor son interpretadas por el y consultadas ante el Servidor de Base de Datos para
enviar una respuesta al cliente, como se muestra en la figura:
El esquema cliente servidor propuesto como se puede apreciar requiere para su
funcionamiento 2 máquinas que sirvan de servidores para atender a un número
indeterminado de clientes, por lo que la aplicación de aplicación estará ubicada en el
computador de la persona encargada del laboratorio, mientras que la base de datos se
ubicó en un computador alterno al sitio de operación.
El protocolo de comunicaciones utilizado en toda la red es el TCP – IP que en realidad
es el uso de dos protocolos el TCP y el IP vistos en la sección 6.4.1 de este documento,
evidentemente el esquema que se esta siguiendo es de tipo LAN ya que el alcance de
esta red en particular se define para un conjunto definido de computadores.
Los servicios que ofrece este modelo son el servicio de Base de Datos y el de Servicio
de Software de Grupo vistos en la sección 2.5.2 de este documento, la arquitectura que
se decidió entonces implantar se adapta a una arquitectura Cliente Servidor de Tres
capas (sección 2.5.4) donde las capas son:
à Clientes (capa de Presentación) à Servidor (capa de Aplicación) à Base de Datos (capa de datos)
Como ya se había mencionado la herramienta de programación escogida para
hizo fue evaluar que requerimientos debía tener el servidor, que en ultimas seria
manejado por los laboratoristas para hacer la gestión correspondiente a la asignación de
equipos, por lo que se diseño una aplicación con ambiente gráfico con las siguientes
funciones:
• Detección de los clientes conectados.
• Habilitación o Deshabilitación de los clientes.
• Asignación de Tiempo.
• Reportes históricos de uso
A continuación se explican estas funciones:
Detección de los clientes conectados
Función que permite establecer cuando un computador está conectado al servidor, es de
gran utilidad cuando se requiere saber rápidamente el estado de un equipo.
Habilitación o Deshabilitación de los Clientes
Esta función permite que desde el computador central el laboratorista asigne el uso de
Asignación de Tiempo
Permite al laboratorista asignar el uso de un equipo con un límite de tiempo para la
persona que lo utiliza, la medida del tiempo esta definida en minutos.
Reportes históricos de uso
Consiste en almacenar información en la base de datos para luego ser presentado en
forma de reportes gráficos que informan el estado, y características de uso de las
estaciones, estos reportes pueden ser emitidos según fecha o por equipos solicitados.
Figura 34. Interfase gráfica de la aplicación Servidor.
Como se puede ver en la figura 34, existe un pequeño panel de control por cada cliente
Desactivar, los cuales de forma inmediata cambian sobre el cliente específico su estado
de operación bajo cualquier situación, es decir, si un cliente se encuentra en
funcionamiento ejecutando cualquier tarea dejara de interactuar con el usuario y
continuar con su tarea sin necesidad de apagar el computador en cuestión. Y sólo se
puede activar o habilitar desde el computador donde esté instalada la aplicación servidor
que en este caso es el computador de la persona encargada en el laboratorio. También se
puede ver que en cada cliente se tiene una casilla, el propósito de esta casilla es asignar
un determinado número que equivale a los minutos que estará dicha estación activa, una
vez se vence el tiempo fijado el computador cliente queda en un estado de no
interacción con el usuario o inactivo.
También se puede observar dentro de la aplicación servidor, las opciones Reporte y
Salir. El botón identificado como Reporte se encarga de presentar al usuario un
formulario de criterios para la generación de un reporte de uso de la máquina cliente,
esto con el objeto de determinar:
à Tiempos de Mantenimiento à Operación de la Máquina à Rendimiento
Figura 35. Generador de Reportes
Como los computadores de los usuarios en estado inicial estarán limitados a la
aprobación del laboratorista lo que quiere decir que las aplicaciones cliente y servidor se
deben comunicar por medio de la red, se hará uso de sockets para transportar las tramas
de información (sección 5.4.2.1) desde el cliente hasta el servidor.
Para que la comunicación se pueda llevar a cabo de forma satisfactoria se debe seguir
un orden el cual establece que el servidor debe estar listo a recibir peticiones de sus
clientes para procesarlas por lo que se debe crear y configurar el socket en el servidor
para que “Escuche” todas y cada una de las peticiones que se le hagan, si la petición que
se le hace al servidor es comprendida por el según las tramas de información entonces el
servidor de Aplicación hará una consulta al Servidor de la Base de Datos para
determinar que permisos se pueden asignar al cliente, ya con esta información el
Servidor de Aplicación devolverá una respuesta consecuente a la solicitud.
De una manera más formal, se hizo uso de las herramientas de análisis vistas en la
asignatura Ingeniería de Software, para la identificación de los componentes que
REPORT
Atributos:
Campos Formato
Funciones:
Mostrar la información del Cliente
SOCKET
PARAMETROS Atributos:
Atributos: Puerto IP
Estado del cliente Dirección IP Nombre del cliente Buffer de entrada Trama generada Buffer de Salida
Funciones: Funciones:
Configurar el futuro estado del cliente Establecer la comunicación con los clientes Enviar la configuración al socket Enviar información a los clientes
Recibir información de los clientes Enviar información a la base de datos
VISUALIZADOR Recibir información de la base de datos
Atributos:
Características del cliente Estado actual del cliente
Funciones:
Informar el estado actual del cliente Informar el estado asignado al cliente
Figura 37. Diagrama de Objetos de la Aplicación Servidor
Como se puede apreciar el objeto más importante es el socket puesto que este se
encarga de establecer la comunicación, envío y recepción de información a los objetos
locales como lo son el visualizador y el reporte, el socket como elemento central de esta
aplicación es en ultimas quien dirige el funcionamiento de la aplicación cliente, la cual
no es autónoma para tomar decisiones sin antes haber sido notificada y por el servidor.