Tarea 01 Sockets

3
Facultad Politécnica Ingeniería Informática Universidad Nacional de Asunción Sistemas Distribuidos Tarea Nº1: Sockets Fecha: 08/03/2015 Prof: Ing. Fernando Mancía Objetivo: Diseñar e implementar una plataforma distribuida de datos personales. El objetivo del trabajo es contar con una aplicación cliente que obtenga todos los datos de una persona en base a su número de cédula. Para ello, la aplicación cliente debe solicitar al usuario un número de cédula y luego consultar por sus datos en varios servidores distribuidos. Proceso: El Cliente solicita el número de cédula al usuario. El Cliente solicita información al Servidor de Personas. El Servidor de personas solicita datos al Servidor de Directorio en base a la cédula. El Servidor de personas solicita datos al Servidor de Imágenes en base a la cédula. El Servidor de personas solicita datos al Servidor de Salud en base al codigoSalud obtenido del Servidor de Directorio. El Servidor de Personas envía información recopilada al Cliente El Cliente despliega información amigable al Usuario. Servidor de Personas: Debe atender a los clientes que solicitan información a partir del número de cédula de identidad: Acepta peticiones de los clientes. Servidor TCP, multihilo en Java. Actúa como proxy para los servidores de Directorio, Imágenes y Salud. Utiliza un timeout de 5 segundos para conectar a los servidores. Si un servidor no responde, el proceso continúa con la información de los servidores que si están disponibles.

description

tarea

Transcript of Tarea 01 Sockets

  • Facultad Politcnica Ingeniera InformticaUniversidad Nacional de Asuncin Sistemas Distribuidos

    Tarea N1: SocketsFecha: 08/03/2015Prof: 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 usuarioun 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 Ingeniera InformticaUniversidad Nacional de Asuncin Sistemas Distribuidos

    Enva toda la informacin al Cliente.

    Debe guardarse en un archivo de log (servidor_personas.log) todas las peticiones de losclientes 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 datosPara 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

    http://www.json.org/

  • Facultad Politcnica Ingeniera InformticaUniversidad Nacional de Asuncin 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.