Task 3: Implmenting MOM middleware over RPC
From Pedro
Servicio de Eventos MOM
Se trata de implementar un Servicio de Eventos utilizando el middleware desarrollado en la primera tarea. El servicio de Eventos tendrá un API sencilla:
publish (topic, msg) subscribe(topic, subscriber)
Es un servicio MOM transient topic-based construido beneficiándonos del paso por referencia del middleware RPC. Os recomiendo inspiraros en el patrón Observer (ver Design Patterns, GoF) pero usando objetos distribuidos.
Ejercicio:
Para demostrar la utilización del servicio de Eventos, implementaremos una version replicada del Servicio de Nombres. Supongamos que n Servicios de nombres tienen que mantener la información actualizada. Para ello, todos se suscribirán a un tópico en el servicio de Eventos. Cada vez que se actualice un valor (bind) se enviará un evento y todos actualizarán ese dato. Demostrad que podemos acceder localmente a la información actualizada de los objetos desde cualquier réplica.
Por simplicidad, podeis añadirle el método list() al Servicio de nombres para obtener la lista de objetos disponibles.
