Servizio di visualizzazione da remoto e condivisione di album fotografici Autore: Chiarini Mattia matricola
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 stringSeq; typedef sequence bytePhotoFile; /*eccezione applicativa*/ exception ErroreApplicativo{ string codice_errore; }; /*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); }; sequenza di stringhe, tipologia di dato che ci permette di scambiare gli elenchi di album e di foto Parametro di input e di output, server per dichierare l'album selezionato e ricevere il messaggio annesso alla fotografia Tipologia di dato utilizzato per la trasmissione dei byte della foto
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
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 1 Notebook Centrino 1.7 Ghz, 512 Ram, sistema operativo Windows Xp 4 Pentium IV, 512 MB Ram, sistema operativo Windows Xp Entità create: Client, Server, Replication Server Entità create: 2 Client, Server, Replication Server
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