Trabajo P1

Páginas: 8 (1921 palabras) Publicado: 16 de mayo de 2015






-Trabajo P6-
-Diseño de la aplicación-










Introducción
El diseño seguido para implementar nuestro programa consiste en una doble interacción Cliente - Servidor y Servidor - Banco. A grandes rasgos, se trata de un programa que simula un servidor encargado de la gestión de dos vallas publicitarias, una principal y una secundaria. Dicho servidor establece comunicación con diversosclientes los cuales negociaran la imagen que desean publicitar, el tiempo y en la valla en la que la van a querer. Una vez negociado el precio será enviado al banco para que efectué el cobro. Una vez este todo en regla, la imagen será proyectada tal y como quiere el cliente.

Protocolos de interacción
Serán iniciados servidor y banco, a la espera de posibles clientes interesados en publicitar una desus imágenes.
Entrando en más detalle en el banco, iniciaremos la base de datos del banco y esperará hasta que un cliente desee efectuar un pago.
Por otro lado se iniciara el servidor. Este iniciará ambas vallas publicitarias (principal y secundaria), dos actualizadores (encargados de informar los clientes que se encuentran negociando, imágenes en espera para proyectar y el tiempo restante paraque la valla se quede vacía) y por último un botón encargado del cierre del programa finalizando el servidor y banco. En caso de que hubiera algún cliente negociando, esperaría a que acabaran y posteriormente cerraría el programa.
A continuación entraremos en más detalle dentro de las clases Cliente, ProcesoServidor, ProcesoBanco para analizar en profundidad los protocolos de interacción entredichas clases.
SERVIDOR:
Siguiendo el ejemplo de servidor de la practica 5, creará un socket servidor. Cada vez que reciba una petición de conexión por parte de un cliente, creará un socket cliente y un thread para poder atenderle. De esta manera podemos atender de manera simultánea a varios clientes a la vez.
El servidor dispone de una cuenta atrás, con el objetivo de poder salir del bucle cadacierto tiempo y así poder comprobar si ha sido pulsado el botón para finalizar. En caso contrario seguirá dentro del bucle.
Una vez presionado el botón, el servidor se cerrará de forma ordenada, esperando (en caso de que así fuera) a que todos los clientes dejaran de negociar.
Una vez detallado el servidor, hablaremos de los procesos lanzados por él mismo junto con la interactuación con el Cliente yel Banco.
Como ya hemos dicho, Servidor crea un proceso para atender a cada Cliente. Cada uno de los procesos crea los canales de comunicación para conectar con el cliente (salidaHaciaElCliente y entradaDesdeElCliente), estos son BufferedReader, para leer lo escrito por el cliente y un PrintWritter para escribir al cliente.
Nada más establecer la conexión, el Proceso Servidor se encargará dereservar una posición en cada una de las dos colas (suponiendo que ninguna está llena). De esta manera aseguraremos que ningún cliente le quite el sitio. En caso de que hubiera algún problema con el cliente hemos puesto un TimeOut para eliminar su reserva.
En la primera parte del diálogo el cliente pedirá la valla, la url y el tiempo. Todos ellos serán enviados al servidor para que éste calcule elprecio. Una vez calculado se lo comunica al cliente y éste podrá decidir si acepta o no. En caso de no ser aceptado, tiene la posibilidad de repetir este proceso dos veces más. En caso de rechazar todas, se dará por finalizada la comunicación.
Si por el contrario, acepta las condiciones del contrato, el servidor se comunicará con el banco enviándole precio y la id del cliente.
Una vez recibidos todoslos datos, se procederá a efectuar el cobro. En caso de ser viable, el banco se comunicará con el servidor indicando el dinero restante en la cuenta de ese cliente. En caso contrario, informará de que el pago ha sido rechazado.
En caso afirmativo, el servidor encolará la imagen en la valla correspondiente y comunicará al cliente que su compra se ha realizado con éxito.
NOTA: todo esto quedará...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Trabajo Pr Ctico Fisica P1
  • P1
  • TRABAJO P1 S
  • P1
  • P1
  • P1
  • P1
  • P1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS