You are on page 1of 3

Facultad Politcnica

Universidad Nacional de Asuncin

Ingeniera Informtica
Sistemas Distribuidos

Tarea N1: Sockets


Fecha: 08/03/2015
Prof: Ing. Fernando Manca
Objetivo: Disear e implementar una plataforma distribuida de datos personales.

El objetivo del trabajo es contar con una aplicacin cliente que obtenga todos los datos de una
persona en base a su nmero de cdula. Para ello, la aplicacin cliente debe solicitar al usuario
un nmero de cdula y luego consultar por sus datos en varios servidores distribuidos.
Proceso:
El Cliente solicita el nmero de cdula al usuario.
El Cliente solicita informacin al Servidor de Personas.
El Servidor de personas solicita datos al Servidor de Directorio en base a la cdula.
El Servidor de personas solicita datos al Servidor de Imgenes en base a la cdula.
El Servidor de personas solicita datos al Servidor de Salud en base al codigoSalud
obtenido del Servidor de Directorio.
El Servidor de Personas enva informacin recopilada al Cliente
El Cliente despliega informacin amigable al Usuario.
Servidor de Personas:
Debe atender a los clientes que solicitan informacin a partir del nmero de cdula de
identidad:
Acepta peticiones de los clientes.
Servidor TCP, multihilo en Java.
Acta como proxy para los servidores de Directorio, Imgenes y Salud.
Utiliza un timeout de 5 segundos para conectar a los servidores.
Si un servidor no responde, el proceso contina con la informacin de los servidores
que si estn disponibles.

Facultad Politcnica
Universidad Nacional de Asuncin

Ingeniera Informtica
Sistemas Distribuidos

Enva toda la informacin al Cliente.

Debe guardarse en un archivo de log (servidor_personas.log) todas las peticiones de los


clientes y si tuvo una respuesta exitosa o fallida.
Si uno de los servidores no est disponible, colocar dicha informacin en el log.

Servidor de Directorio: Debe implementar un protocolo capaz de responder a los datos de


una persona consultando por su nmero de cdula.
Servidor UDP, Python.
Solicitud:
cedula
Respuesta:
nombre
apellido
codigoSalud
Servidor de Imgenes: Debe implementar un servidor que acepta peticiones del servidor de
personas. La forma de comunicacin se da por:
Servidor TCP
Solicitud:
cedula
Respuesta:
nombreImagen
formato (png / bmp / jpg ..)
imagen (binario)
Servidor de Salud: Debe implementar un servidor que acepta peticiones del servidor de
personas. La forma de comunicacin se da por:
Solicitud:
codigoSalud (codigo de la persona en el sistema de salud)
Respuesta:
estado (estado: activo, inactivo, noexiste, vencido, muerto)
seguro (nombre del seguro social)
duracion (en meses)
Cliente: Debe solicitar al usuario un nmero de cdula, enviar al Servidor de Personas el
mismo y luego desplegar la informacin en una pantalla grfica amigable al usuario.
Representacin de datos
Para la representacin de datos, utilizar las siguientes opciones
JSON
http://www.json.org/
XML
Definir un protocolo por parte del programador:
Ejemplo de Peticin:
OBTENER;;321321
Ejemplo de Respuesta:
321321;;Maria;;Lopez;;1000

Facultad Politcnica
Universidad Nacional de Asuncin

Ingeniera Informtica
Sistemas Distribuidos

Se debe:
Para el objetivo de la plataforma, utilizar TCP y UDP como se especifica. En lugares
donde no est definido, la eleccin queda a cargo del grupo.

Crear una nomenclatura y jerarqua ordenada para cada archivo de cdigo fuente que
necesiten. Ser valorada dicha organizacin.

Definir formatos estructurados de comunicacin entre procesos. Se puede utilizar


formatos estndares como json, xml.

Crear un script para levantar todos los servidores de una vez: iniciarPlataforma.sh o
iniciarPlataforma.bat. Obligatorio para la correccin.

Crear un archivo comprimido con todos los fuentes llamado


GRUPO_XX_TAREA_SOCKETS.ZIP y subir a Educa. Obligatorio para la correccin.

No se permiten plagios.

You might also like