3. ARQUITECTURA DEL SOFTWARE
3.4 DIAGRAMA GENERAL DE CLASES DE DISEÑO
De la Aplicación Cliente:
Figura 3-27. Diagrama General de Clases de Diseño de la Aplicación Cliente.
Main: El propósito de esta clase consiste en garantizar que sólo exista una instancia de las demás clases y proporcionar un punto de acceso global a cada una de ellas.
IU_LibraryClient: Interfaz gráfica principal de la Aplicación Cliente, que a través de HTMLViewer cumple la función de un navegador web, permitiendo al Lector Remoto interactuar con la interfaz web de la Biblioteca Digital EHAS para acceder a los servicios de consulta y descarga de contenidos. El Administrador Cliente configura la aplicación a través de esta interfaz gráfica.
HTMLViewer: Clase que realiza las peticiones HTTP para interconectar la Aplicación Cliente con la Biblioteca Digital EHAS y la Aplicación Servidor. Responde a los eventos generados por el Lector Remoto sobre la interfaz web de la biblioteca digital, desplegando la respuesta respectiva en la interfaz gráfica IU_LibraryClient.
IU_Message: Interfaz gráfica que muestra al Lector Remoto y al Administrador Cliente los mensajes de error, información o advertencia que se generan a lo largo de los procesos que éstos dos actores ejecutan.
ACCESO A BIBLIOTECAS DIGITALES DESDE REDES DE BAJA VELOCIDAD CAPITULO III. ARQUITECTURA DEL SOFTWARE
57
IU_ProgressBar: Interfaz gráfica que a través de IU_LibraryClient, expone al Lector Remoto el porcentaje de fragmentos de archivo obtenidos durante el proceso de descarga de un contenido.
XMLManager: Es la clase que proporciona los atributos y comportamientos comunes a todo documento XML utilizado en la Aplicación Cliente.
XMLDownloadingManager: Clase que permite gestionar el documento XML que describe las propiedades de todas las descargas de contenidos que se encuentran en trámite.
RequestManager: Es la encargada de gestionar las peticiones que se hacen a la Aplicación Servidor durante el proceso de descarga de un contenido; sus funciones también incluyen crear los archivos y directorios necesarios para que dicho proceso sea exitoso, y agregar cada nueva descarga al documento XML respectivo.
Downloadings: Ver clases de la Aplicación Servidor.
ConnectionManager: Es la clase encargada de gestionar las diferentes conexiones que realiza la Aplicación Cliente con el exterior, para que el procedimiento de descarga de contenidos sea el adecuado.
TestConnection: La función de esta clase es cancelar las peticiones que realiza ConnectionManager para probar si hay conexión; cuando las respectivas respuestas han superado el tiempo límite de espera.
EmailsProcess: Esta clase define el procedimiento a realizar por la Aplicación Cliente para obtener los mensajes del Servidor de Correo Electrónico del Puesto de Salud y realizar el tratamiento respectivo a cada uno de ellos.
EmailsDonwloaderClient: Clase de la Aplicación Cliente que a través de un socket10
TCP interacciona con el subsistema EmailsDownloader, para que se lleve a cabo la transmisión de mensajes entre el Servidor de Correo Electrónico del Hospital y el Servidor de Correo del Puesto de Salud; además, gracias a su interacción con EmailsDownloader permite cancelar cualquier conexión en trámite entre el PC de Comunicaciones Linux y el Servidor de Comunicaciones Linux.
RetrieverMail: Clase cuya función consiste en descargar todos los mensajes del Servidor de Correo del Puesto de Salud, para extraer de cada uno de ellos el fragmento de archivo correspondiente y almacenarlo en el directorio indicado.
FileGet: Clase encargada de fijar el valor respectivo a todas las propiedades necesarias, para que la descompresión y unión de los fragmentos de archivo sea exitosa.
FileGetter: La función de esta clase es descomprimir y unir todos los fragmentos de archivo para obtener el contenido completo.
10
Socket: Designa un concepto abstracto por el cual dos programas pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada.
ACCESO A BIBLIOTECAS DIGITALES DESDE REDES DE BAJA VELOCIDAD CAPITULO III. ARQUITECTURA DEL SOFTWARE
58
XMLApplicationConfiguration: Clase que permite gestionar el documento XML que describe las propiedades de configuración de la Aplicación Cliente.
DefaultXMLApplicationConfiguration: Clase que permite consultar el documento XML que describe el valor de las propiedades de configuración por defecto de la Aplicación Cliente.
InnerProxy: Clase anidada dentro de MyProxySelector que representa a un proxy.
MyProxySelector: A través de esta clase se especifica el servidor proxy que debe utilizar la Aplicación Cliente para realizar las peticiones HTTP.
DESEncryptor: Clase encargada de cifrar y descifrar la contraseña de la cuenta de correo especificada en la configuración de la Aplicación Cliente.
Parent: Clase que contiene el conjunto de procedimientos utilizados por la Aplicación Cliente para el tratamiento de archivos y directorios.
Checker: Clase que contiene la mayoría de procedimientos para validar la congruencia de los datos ingresados por el Administrador Cliente en la configuración de la aplicación. De la Aplicación Servidor:
ACCESO A BIBLIOTECAS DIGITALES DESDE REDES DE BAJA VELOCIDAD CAPITULO III. ARQUITECTURA DEL SOFTWARE
59
Downloadings: Corresponde al servlet de la Aplicación Servidor que es invocado por la Aplicación Cliente cuando se desea realizar la descarga de un contenido. Esta clase controla los procesos de descarga, fragmentación y envío del contenido; además, cada vez que se despliega la aplicación, es la encargada de fijar la configuración especificada por el Administrador Servidor.
FileProperties: Clase encargada de fijar los valores a todas las propiedades necesarias para que el proceso de descarga sea efectuado exitosamente (por ejemplo: URL del contenido a descargar, dirección de correo electrónico destino, tamaño de los fragmentos de archivo, etc.).
FileDownloader: Clase que descarga el contenido de la Biblioteca Digital EHAS y almacena el archivo en el directorio respectivo.
success: JSP (JavaServer Pages) que devuelve la Aplicación Servidor como respuesta a una petición, cuando la descarga del contenido de la biblioteca digital es exitoso.
error: JSP que devuelve la Aplicación Servidor como respuesta a una petición, cuando la descarga del contenido de la biblioteca digital fracasa.
FileCut: Clase encargada de fijar el valor a todas las propiedades necesarias para que la compresión y fragmentación del archivo de contenido sea exitosa.
FileCutter: La función de esta clase es comprimir y fragmentar el archivo del contenido. Encoding: Clase utilizada por FileCutter para codificar el archivo de contenido antes de comprimirlo.
SenderMailAttachment: Clase que envía a través del Servidor de Correo Electrónico del Hospital cada fragmento de archivo como adjunto en un mensaje que tiene como destino el Servidor de Correo Electrónico del Puesto de Salud.
XMLManager: Clase que proporciona los atributos y comportamientos comunes a todo documento XML utilizado en la Aplicación Servidor.
XMLApplicationConfiguration: Clase que permite gestionar el documento XML que describe las propiedades de configuración de la Aplicación Servidor.
DefaultXMLApplicationConfiguration: Clase que permite consultar el documento XML que describe el valor de las propiedades de configuración por defecto de la Aplicación Servidor.
DESEncryptor: Clase encargada de cifrar y descifrar la contraseña de la cuenta de correo especificada en la configuración de la Aplicación Servidor.
Parent: Clase que contiene el conjunto de procedimientos utilizados por la Aplicación Servidor para el tratamiento de archivos y directorios.
Checker: Clase que contiene la mayoría de procedimientos para validar la congruencia de los datos ingresados por el Administrador Servidor en la configuración de la aplicación.
ACCESO A BIBLIOTECAS DIGITALES DESDE REDES DE BAJA VELOCIDAD CAPITULO III. ARQUITECTURA DEL SOFTWARE
60
RequestManager: Ver clases de la Aplicación Cliente. HTMLViewer: Ver clases de la Aplicación Cliente.