Corso di Laurea in Ing. Informatica, Universita' La Sapienza
Sistemi Operativi II
Docente Roberto Baldoni

Soluzione della domanda di programmazione (argomento: CORBA).

Di seguito viene riportato una delle possibili soluzioni all'esercizio. E' possibile consultare la version html dell'IDL (completa della relativa documentazione) ed è possibile consultare una versione html delle classi generate dopo la compilazione (mapping java). (idl + documentazione completa)

module biblioteca {
    typedef string ISBNType;

    struct InfoLibro {
        ISBNType isbn;
        string titolo;
        sequence<string> autori;
        string casaEditrice;
        long anno;
        string genere;
    };

    exception LibroNonPresente {};

    exception LibroNonDisponibile{};

    interface ServerBiblioteca {
        void cercaLibro(inout InfoLibro asked)
            raises(LibroNonPresente);
        void richiediPrestitoLibro(in string nome, in ISBNType isbn)
            raises(LibroNonDisponibile, LibroNonPresente);
    };

    typedef sequence<ServerBiblioteca> Biblioteche;

    interface ServerCoordinatore {
        Biblioteche cercaLibro(inout InfoLibro param)
            raises(LibroNonPresente);
        ServerBiblioteca richiediPrestitoLibro(in string nome, in ISBNType isbn)
            raises(LibroNonDisponibile, LibroNonPresente);
    };
};