Servizio di visualizzazione da remoto e condivisione di album fotografici Reti di Calcolatori L-S Autore: Chiarini Mattia matricola 0000229657 Introduzione Esigenze : Poter accedere ai propri album indipendentemente da dove siano stati realmente allocati Necessità di maggiore spazio per il salvataggio dati Aumentare la fruibilità del messaggio visivo della fotografia Scenario applicativo del progetto Tecnologie utilizzate CORBA: facilita lo sviluppo di sistemi distribuiti fornendo: Una infrastruttura per far comunicare oggetti in un sistema distribuito Un set di servizi utili Un supporto che permette ad applicazioni implementate usando vari linguaggi di interoperare Usata l'implementazione di Corba presente nella JVM 1.5 CORBA IDL Definisce le interfacce degli oggetti E' un linguaggio dichiarativo Definisce stub attraverso cui inviare messaggi agli oggetti Permette di separare definizione e implementazione Indipendente dal linguaggio IDL utilizzato nel progetto /*PhotoCorba.idl*/ module PhotoCorba{ typedef sequence < string > stringSeq; typedef sequence <octet> bytePhotoFile; /*eccezione applicativa*/ exception ErroreApplicativo{ string codice_errore; }; sequenza di stringhe, tipologia di dato che ci permette di scambiare gli elenchi di album e di foto Tipologia di dato utilizzato per la trasmissione dei byte della foto Parametro di input e di output, server per dichierare l'album selezionato e ricevere il messaggio annesso alla fotografia /*interfaccia Photo*/ interface Photo{ stringSeq getAlbums(in string nomeUtente)raises(ErroreApplicativo); stringSeq getPhotoNames(in string nomeUtente, in string albumSelected ) raises(ErroreApplicativo); bytePhotoFile getPhoto(inout string albumSelected_msgOut, in string nomeUtente, in string photoNameSelected) raises(ErroreApplicativo); }; }; Componenti del progetto Client Richiedere l'elenco degli album che l'utente può visitare Richiede l'elenco delle foto relative all'album selezionato Richiede la fotografia selezionata Server principale Controlla che il nome del Client sia abilitato a ricevere foto Fornisce l'elenco degli album e delle foro relative ad un album Fornisce le foto desiderate Replication Server Controlla che il Serve principale sia attivo Sostituisce il server principale nell'erogazione del servizio Server principale Client Replication Server Replication Server Una sola copia poiché si ipotizza il “guasto singolo” Replicazione passiva a copie fredde, solo controllo dell'attività della copia master senza aggiornamento dello stato degli slave. Il server principale più potente , al recovery viene attivato il server principale e disattivato il Replication Server Test eseguiti Entità create: Client , Server, Replication Server 1 Notebook Centrino 1.7 Ghz , 512 Ram, sistema operativo Windows Xp Entità create: 2 Client , Server, Replication Server 4 Pentium IV, 512 MB Ram, sistema operativo Windows Xp Conclusioni Problematiche e temi affrontati: risoluzione di singolo guasto di un server Ricerca di una modalità di Replicazione Stima della granularità delle operazioni eseguite attraverso il middleware Corba Ricerca della migliore granularità dell'operazione in relazione al progetto creato Sviluppi futuri Client: migliorare l'interfaccia grafica fornire un servizio di gestione fotografie e album remoto Server Principale : fornire un servizio di gestione fotografie e album locale Introduzione dei trasmissioni sicure e login che garantisca la privacy Replication Server: Sincronizzare in modo più efficiente della copia dei dati del server principale (copia tiepida) Demo