Post on 19-Jan-2016
description
Receptor de Tareas vía web
Diseño y Programación Orientada a Objetos
Gonzalo Ojeda FigueroaCésar Vásquez Ibaceta
2
Problema En la entrega de tareas vía correo
electrónico en ramos como EDA y DPOO existe una constante incertidumbre al enviar las tareas por este método, pues no se sabe si la tarea habrá 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 confiable para poder realizar la entrega de las tareas.
3
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 cual deberá recepcionar el archivo.
Al recibir la tarea agregará sus datos a un archivo donde se registrarán las 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 cada uno y la hora en que fue recibida (según la hora del servidor)
El Server
Se explicará a grandes rasgos el funcionamiento del
servidor.
5
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.
7
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
8
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
9
Parámetros
La Applet recibe tres parámetros desde la página.
RAMO HOST PORT
10
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
11
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 errorCaso Basico 2: Usuario coloca password correcto Entra a panel principal
12
Caso de Uso 1
1. Usuario presiona boton VTR2A. Si hay error3A. Se despliega Mensaje4A. RPP
2B. Si no hay error3B. Se despliega la pagina correctamente4B. Una vez que se cierra la ventana, se RPP
13
Caso de Uso 2
1. Usuario presiona botón ST2. Se despliega FileChooser3. Usuario cancela4. No se presenta mensaje de error5. Se RPP
14
Caso de Uso 3
1. Usuario presiona botón ST2. Se despliega FileChooser3. 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.
15
Variante A
4A. Se despliega mensaje de Error5A. Se RPP
4B. Se envia archivo al server5B. Una vez enviado, se imprime mensaje
de éxito6B. Se RPP
Variante B
16
Variante C
1. Se Produce algun error en el Servidor (la aplicación puede no estar corriendo o el Socket puede ser incorrecto)
2. Se despliega mensaje de Error3. RPP