160 likes | 274 Views
Receptor de Tareas vía web. Diseño y Programación Orientada a Objetos Gonzalo Ojeda Figueroa César Vásquez Ibaceta. Problema.
E N D
Receptor de Tareas vía web Diseño y Programación Orientada a Objetos Gonzalo Ojeda Figueroa César Vásquez Ibaceta
Problema • En la entrega de tareas vía correo electrónico en ramos como EDA y DPOO existe una constanteincertidumbre al enviar las tareas por este método, pues no se sabe si la tareahabrá llegado a destino o si el correo será rebotado, entre otras cosas. • De ahí que surge la necesidad de poseer un medio más seguro y confiablepara poder realizar la entrega de las tareas.
Solución • Diseñar un applet que permita la recepción de las tareas vía web. • Esta applet se comunicará con un proceso residente en un equipo remoto, el cualdeberá recepcionar el archivo. • Al recibir la tarea agregará sus datos a un archivo donde se registraránlas tareas recibidas, con fecha, nombre del archivo y tamaño del mismo. • Así mismo se ofrece la opción de ver una lista con los archivos recibidos y el peso de cadauno y la hora en que fue recibida (según la hora del servidor)
El Server Se explicará a grandes rasgos el funcionamiento del servidor.
Servidor • Implementa un SocketServer y queda escuchando a un puerto específico. • Al llegar una conexión crea un socket y un thread, para recibir el archivo, almacenarlo y escribir su información en un archivo de texto. • Permite subir más de una versión de la tarea, sin sobre escribirla.
La Applet En esta sección se tratará todo lo relacionado con la Applet y su interacción con el usuario.
Funcionamiento • Al cargarse la Applet, lo primero que hace es: • Crea un Label con Titulo. • Crea un JTextArea para los mensajes. • Crea dos Botones. • Los Botones: • Boton Ver Tareas Subidas • Boton Subir Tarea
Botón Subir Tarea Una vez Presionado este Botón: • Invoca al Método BuscarArchivo: • Crea FileCooser • Crea Filtro para las Extensiones • Comprobación • Retorna objeto File • Recibe objeto File • Abre Socket • Crea Streams • Envía información • Cierra todos los Canales • Imprime Mensaje de éxito
Parámetros La Applet recibe tres parámetros desde la página. • RAMO • HOST • PORT
Problemas y Soluciones • La Applet y la “caja de arena” • Problema: El FileChooser invade la privacidad del usuario • Solución: Certificados (keytool y keystore) • Despliegue de Mensajes • Problema: La Applet no soporta JDialogs • Solución: JTextArea
Casos de Uso • Nomenclatura: • Botón VTR: botón ver tareas recibidas • Botón ST: botón subir tarea • RPP: se retorna al panel principal Caso Basico 1: • Usuario coloca password incorrecto • Mensaje de error Caso Basico 2: • Usuario coloca password correcto • Entra a panel principal
Caso de Uso 1 • Usuario presiona boton VTR 2A. Si hay error 3A. Se despliega Mensaje 4A. RPP 2B. Si no hay error 3B. Se despliega la pagina correctamente 4B. Una vez que se cierra la ventana, se RPP
Caso de Uso 2 • Usuario presiona botón ST • Se despliega FileChooser • Usuario cancela • No se presenta mensaje de error • Se RPP
Caso de Uso 3 • Usuario presiona botón ST • Se despliega FileChooser • El usuario elige un archivo para ser enviado: En este punto se producen dos variantes • Extensión Incorrecta. • Extensión Correcta, Envío Correcto. • Extensión Correcta, Envío Incorrecto.
Variante A 4A. Se despliega mensaje de Error 5A. Se RPP Variante B 4B. Se envia archivo al server 5B. Una vez enviado, se imprime mensaje de éxito 6B. Se RPP
Variante C • Se Produce algun error en el Servidor (la aplicación puede no estar corriendo o el Socket puede ser incorrecto) • Se despliega mensaje de Error • RPP