Tercera y extraordinaria práctica de Verano de la asignatura: Sistemas Distribuidos

Curso 2005-2006

 

Resumen

Esta segunda práctica resulta de considerar la segunda práctica más algunas cuestiones que la hacen más atractiva para su diseño bajo Java RMI. Por ello, si piensa hacer esta práctica, lea bien los dos enunciados precedentes, pues aquí supondremos que ésta es una extensión de los dos enunciados previos.

 

La práctica extraordinaria de este verano permitirá que los servidores de noticias actúen como intermediarios para que un mismo cliente acceda a diversos servidores conectados entre sí.

 

Requisitos

Al conjunto de requisitos de la práctica anterior se une el siguiente:

*      Cuando un cliente efectúa operaciones de creación de noticias, éstas se realizan en el servidor directo contra el que está conectado, pero cuando busca o modifica noticias, éstas podrán estar en otros servidores.

*      Al lanzar cada servidor se le indicará con qué servidores, ya existentes, está conectado, para así reconducir las conexiones o localizar referencias remotas cuando sea necesario, de modo transparente al cliente.

*      Una restricción importante del sistema es que no se debe aumentar la cantidad, ni la funcionalidad de los métodos remotos definidos en la segunda práctica. Es decir, el diálogo entre servidores se lleva a cabo con las interfaces definidas en la práctica de mayo. De esta forma, un servidor actuará, en cierto sentido, como cliente de otro servidor, cuando sea necesario.

Puntualizaciones interesantes:

*      Antes de codificar la práctica, es aconsejable tener en mano, al menos un diagrama de clases de diseño, minuciosamente elaborado.

*      Como se puede uno imaginar, las peticiones de un cliente a un servidor, se pueden propagar a servidores enlazados directamente, o incluso recorrer un grafo de conexiones. La solución podrá ser muy, pero que muy, sencilla, o muy complicada, en función de cómo hayamos resuelto la segunda práctica.

*      Para la documentación definitiva, deberá entregar:

*      Un diagrama de clases para el diseño, al menos

*      Los programas en Java que componen la aplicación completa.

*      Aquellos diagramas de secuencia o de estado que describan vuestra aplicación.

*      JavaDoc de todos vuestros programas. (Un JavaDoc decente).

*      El plazo será de, aproximadamente, un mes.

La práctica se recogerá el 4 de septiembre a última hora. A lo largo de esa semana y hasta el dia 11, inclusive, debeis acordar conmigo, ineludiblemente, una sesión de corrección de práctica. De cualquier forma estad un poco al tanto de las posibles aclaraciones o dudas, que vuestros compañeros o yo podamos indicar en el foro.

 

Forma de recogida de la tercera práctica de la asignatura del curso 2005-2006
Este es al anuncio de recogida de la tercera práctica. Veamos algunas puntualizaciones importantes:

·        Solo es preciso que entreguéis la práctica un componente del grupo. Aunque si os quedáis más conformes, podéis entregarla los dos o los tres.

·        Os recuerdo que el número de componentes máximo es de tres.

·        La documentación de la práctica debe incluir los programas en Java que la componen, los diagramas de clases (que habéis diseñado), los diagramas de secuencia que describen las secuencias de invocaciones remotas, y los enlaces de páginas HTML generados por el JavaDoc.

·        La práctica se recogerá de modo automático en cierto directorio de la máquina "jair", y que deberá llamarse obligatoriamente así:
$HOME/miweb/sd-3-0506

·        Aseguraos bien que toda la documentación que debéis dejarme se ve adecuadamente, mediante algún navegador estándar desde otra máquina conectada a la red.

·        La práctica se recogerá a última hora del día 4 de septiembre del año en curso, tal y como os comenté exhaustivamente en clase.

·        Es decir, a partir del primer minuto del día 5 de septiembre, ya no vale. A partir del momento crítico, vuestro directorio quedará bloqueado, de modo que no podréis hacer más aportaciones a la práctica. Además, yo tendré una copia de respaldo con los contenidos a la hora crítica.

·        En el directorio indicado deberá haber un archivo que se denomine "index.html" donde podéis documentar lo que necesitéis y haya los vínculos pertinentes a la información que queráis que se valore en la práctica (diagramas, código java, ...). Recordad: si dejáis información en el directorio de la práctica, que no es accesible, no podré verla.

Respetad bien los nombres (mayúsculas y minúsculas), puesto que el sistema de recogida es automático, y no respeta a nadie.