6. IDL y servicios CORBA
- Siguiendo las instrucciones proporcionadas a lo largo del tema probad a
compilar y ejecutar el wrapper de la sesión anterior incorporándole
el patrón factory.
- Incorpora el uso del tipo de datos any al código anterior, tal y
como se indica en el tema.
- Añade a la interfaz IDL del código anterior las siguientes
datos y operaciones:
- Un cliente puede registrar hasta cuatro números de teléfono.
Dichos números de teléfono pueden ser de dos tipos: private
o public. Private significa que el número de teléfono es
privado y no está accesible para poder ser consultado por nadie
(no aparece en la guía de teléfonos) Public indica que el
número es público y por lo tanto sí es accesible
(por ejemplo puede obtenerse llamando al servicio de información).
- Dispondremos de una operación para añadir un nuevo número
de teléfono para un usuario (newNumber), con dos parámetros
de entrada: el identificador del usuario (customerID) y el nuevo número
con su tipo correspondiente (deberíais crear una estructura para
almacenar el número y el tipo). La operación tiene un parámetro
de salida boolean que indica el éxito o fracaso de la operación.
La operación puede lanzar dos excepciones: customerNotFound (si
el cliente no existe en la base de datos), y/o maxNumbersReached (si el
cliente ya tenía registrados cuatro números de teléfono).
- Compila la interfaz IDL anterior y realiza las modificaciones necesarias
en el código para poder ejecutar el ejemplo con los cambios introducidos.
Para probar el ejemplo debéis intentar introducir 5 números
de teléfonos para un cliente, y también intentar introducir
un nuevo número para un cliente que no existe.