Ejercicios de IDL-CORBA: IDL y ORB
- Construir el código IDL correspondiente a una aplicación distribuida
denominada "Secretaria digital", que permite mantener un
diario personal de citas. Los usuarios pueden visualizar sus citas diarias,
así como crear, editar o borrar citas. Dichas citas pueden incluir
reuniones con otros usuarios en lugares específicos, lo cual implica
reservar una sala disponible para un día y hora especificadas. Una
reunión queda determinada indicando la hora de comienzo (asumiremos
que las reuniones durarán una hora máximo), la persona con la
que nos vamos a citar, la sala en la que nos vamos a reunir, y el propósito
de la reunión. Los nombres de las personas con las que es posible tener
una cita se obtienen del servicio de nombres CORBA cuando comienza la aplicación.
Cada usuario de la "Secretaria digital" es registrado en el servicio
de nombres para que otros usuarios puedan contactar con él.
Las salas disponibles se obtienen de un proceso servidor separado denominado
"Servidor salas" que tiene acceso a todas las salas de un
edificio, permitiendo la adición de nuevas salas, así como comprobar
las reservas de dicha sala. Cada Servidor de salas registra en el servicio
de nombres las salas disponibles en su edificio.
Finalmente se dispone de un "Servicio de citas" que crea
y almacena información sobre las citas. Sus operaciones son accedidas
a través de la Secretaria digital.
Se deben incluir definiciones básicas para el día, hora, meses,
años, y fechas (formadas por año, mes, día y hora).
La interfaz Meeting describe el "Servicio de citas",
y debe contener el propósito de la cita, el organizador de la cita,
la sala en la que se realiza la cita, y la fecha. Además debe especificar
métodos para:
- listar los participantes de la cita, devuelve una lista de participantes
y puede lanzar la excepción "Cita cancelada", exponiendo
los motivos de la cancelación
- añadir participantes a una cita, puede lanzar la excepción
"Cita cancelada"
- eliminar a un participante de una cita, puede lanzar la excepción
"Cita cancelada"
- cancelar la cita, indicando la razón de la cancelación,
puede lanzar la excepción "Cita cancelada"
- cambiar la sala y/o la fecha de una cita, puede lanzar las excepciones
"Cita cancelada", "Fecha ya ocupada"
La interfaz Room proporcionará operaciones para visualizar,
realizar y cancelar citas. La realización de citas puede lanzar la
excepción "Fecha ya ocupada", y la cancelación de
citas puede provocar la excepción "No hay cita en esta fecha".
La interfaz Building contiene el nombre del edificio y los métodos
para crear nuevas salas con un nombre dado, y otra para obtener un listado
de salas existentes en el edificio.
La interfaz DigitalSecretary representa a los usuarios del sistema.
Contiene el nombre del usuario, la operacion notificar, que envía un
mensaje a un usuario, y la operación invitar, para proponer una cita
(el receptor de esta petición puede o no aceptar la cita), puede provocar
la excepción "Ya estoy ocupado".