Si no habéis estudiado y resuelto la práctica
anterior estáis en el punto de hacerlo, o dejarlo definitivamente, pues esta
práctica es una extensión de aquella.
Cumplida la condición anterior, lo
que deseamos es, en definitiva, que varios servidores puedan conectarse entre sí,
para que sus clientes puedan enviar y recibir mensajes.
En resumen, los servidores de
mensajes presentarán una interfaz remota para ser invocada desde otros
servidores de mensajes, y así trasvasarles los mensajes que vayan destinados a “sus”
clientes locales.
La cantidad de posibilidades, os podéis
imaginar, es innumerable. Desde las soluciones más sencillas:
que solo permiten la conexión estática de los
servidores de mensajes (en tiempo de lanzamiento), a los que permiten conexión
dinámica;
pensadas para pares de servidores de mensajes,
hasta los que permiten redes o jerarquías de mensajes;
donde cada cliente tiene una única cola de
mensajes local dentro de su servidor de mensajes, hasta los que permiten colas
de mensajes deslocalizadas;
donde los servidores de mensajes deben conocer
la ruta de los mensajes de un servidor a otro, hasta las soluciones más
complejas donde los servidores de mensajes calculan la ruta, o incluso delegan
en otros la entrega;
donde la planificación de la forma de enviar los
mensajes es estática, hasta los que permiten una planificación autónoma entre
los “pares servidores” del sistema;
…
Como podéis imaginar muchas de estas
posibilidades están ya en muchos sistemas conocidos, como Internet mismo.
La solución que debéis diseñar es
libre, pero, lógicamente, en función de ello, recibiréis más o menos puntuación.
El sistema deberá funcionar con al menos dos servidores de mensajes.
Muy importante, la documentación debe
respetar los estándares de documentación establecidos en la práctica anterior
(y como es obvio, la versión que más os guste de UML).
La forma de recogida de la práctica la comunicará
a lo largo del verano, antes del mes de septiembre (no preocuparse), en función
de la disponibilidad de laboratorios, etcétera.
Como ya sabéis, deberá hacerse una defensa de la
práctica, grupo a grupo (donde interrogaré al miembro del grupo que estime
oportuno). La nota de la práctica es la misma para todos los miembros (¡ojo!).
En la defensa exigiré que todo funcione, concretamente en este caso, con tres
ordenadores del laboratorio, bajo Unix.
Podéis hacer los grupos que más os convengan,
hasta un máximo de 3 alumnos.
Os dais cuenta para la cantidad de cosas interesantes
que puede servir un middleware como este, que es más
potente que el de la práctica anterior.