Università degli studi di Bologna Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica A. A. 2006/2007 Bacheca: Supporto alla creazione e diffusione di annunci basato su CORBA Corso di Reti di Calcolatori LS Prof. Antonio Corradi Progetto di Elisa Addimanda Matricola: 0000231103 Scenario e obiettivi • • • • La complessità dello scenario I middleware Gli obiettivi del progetto L’applicazione Bacheca 2 Funzionamento del sistema autenticazione notifiche case auto Bacheca eventi … 3 Il Client autenticazione registrazione lettura degli annunci inserimento di un nuovo annuncio cancellazione di un proprio annuncio disconnessione (registrazione dello stato) <<include>> ricezione notifiche selezione delle categorie di interesse <<include>> invio messaggio ricezione messaggi ricevuti <<include>> <<include>> rispondi a un messaggio ricevuto ricezione avviso di inserimento nuovi annunci nelle categorie di interesse Bacheca rispondi a un annuncio 4 Comunicazione tra client e server • Name Service di CORBA • Dynamic Invocation Interface • Dynamic Skeleton Interface • Memorizzazione dello stato Bacheca 5 I Server: autorizzazioni • Interfaccia CORBA • Metodo authenticate • Metodo register • Politiche di attivazione dei servant • On Demand Activation Bacheca 6 I Server: categorie • Somiglianza fra le categorie • Memorizzazione dei dati • Interfaccia CORBA • Metodo nuovoAnnuncio • Metodo aggiorna • Metodo rimuovi • Politiche di attivazione dei servant • Single Servant Bacheca 7 I Server: notifiche • Compiti • Memorizzazione dei dati • Interfaccia CORBA • • • • Metodo registerStatus Metodo refresh Metodo sendMessage Metodo removeMessage • Politiche di attivazione dei servant • On Demand Activation Bacheca 8 Replicazione e tolleranza ai guasti: identificazione del guasto e sostituzione • Ipotesi di guasto singolo • Identificazione del guasto • send one way • distruzione del thread che si occupa del controllo • sostituzione • Riparazione • interruzione della replica • metodo termina Bacheca 9 Replicazione e tolleranza ai guasti: un esempio send one way authServer send one way Controller thread autoServer send one way Exception send one way caseServer isCaseServer Bacheca 10 Replicazione e tolleranza ai guasti: gestione dello stato • Copia calda passiva • Metodo aggiornaFile • Principio di minima intrusione • Attivazione di un thread Bacheca 11 Implementazione • IONA Orbix • Server per le autorizzazioni e server di categoria in C/C++ • Libreria windows.h per la generazione dei thread • Server per le notifiche, replica e client in java • Test su una rete di 3 computer Bacheca 12 Conclusioni • Obiettivi raggiunti • Sviluppi futuri • Dynamic Skeleton Interface • Notification service • Security Service Bacheca 13