reti di calcolatori ls prof. antonio corradi
DESCRIPTION
FotoContest. Il primo servizio interamente dedicato ai Concorsi Fotografici basato su Corba. Reti di Calcolatori LS Prof. Antonio Corradi. Progetto : Giombi Giorgio e Soffritti Luca Presentazione : Giombi Giorgio. 1. Introduzione. - PowerPoint PPT PresentationTRANSCRIPT
1
Reti di Calcolatori LS
Prof. Antonio Corradi
Progetto: Giombi Giorgio e Soffritti Luca
Presentazione: Giombi Giorgio
FotoContestIl primo servizio interamente
dedicato ai Concorsi Fotografici basato su Corba
2
Introduzione
L’obiettivo di questo progetto è stato quello di realizzare un’applicazione per la creazione e gestione di Concorsi Fotografici a tema con scadenza periodica, sfruttando gli strumenti forniti dallo standard CORBA e ponendo particolare attenzione alla gestione delle risorse ,all’efficienza complessiva del sistema e soprattutto alla tolleranza ai guasti.
Modello di Comunicazione Client/Server
sistema asimmetrico e indiretto comunicazione sincrona bloccante
Client
Server
3
Architettura Generale(1)L’utente (Client) accede a tutti i servizi offerti comunicando in
maniera trasparente con tre differenti Server.
ServerAuth: Gestione Autenticazione
ServerFoto: Gestione Concorso (Concorso in atto)
ServerArchivio: Gestione Archivio (Concorsi terminati)
ServerRepl: Server di controllo Gestione della QoS
4
Architettura Generale(2)
Il middleware CORBA:come strumento di supporto completo alla comunicazione in remoto
Facilita quindi la realizzazione di sistemi distribuiti, permettendo allo sviluppatore di trascurare l’aspetto tecnologico concentrandosi solo sul servizio da fornire.
CORBA
CORBA
5
Perché Corba?
• Eterogeneità di Linguaggio:tramite IDL è possibile definire le interfacce (descrizione dei servizi offerti) di ogni oggetto remoto rimanendo totalmente indipendenti dal linguaggio di programmazione e dalla macchina di esecuzione
• Indipendenza Client/Server:l’ , cuore del sistema, gestisce tutta la comunicazione permettendo ad un Client di legarsi ad un servizio, non ad un servitore!
• Maggiori Servizi offerti: un name service più evoluto e strutturato
NAME SERVICE
Client Server<<Lookup>> <<Register>>
IDL
NAME SERVICE
ORB
6
Il Client
Client
Login (Registrati)
Login Logout
Vota Foto
Vedi Foto
Inserisci Foto
Salva Foto
Cancella Foto
Vai al Concorso
Vai alla Mia Pagina
Vai all’ Archivio
Vai all’ Utente…
Vai alla Pagina…
Seleziona Concorso
Vedi Foto
ServerAuth
ServerArchivio
ServerFoto
7
Il Client – metodi remoti invocatiIl Client – come Servitore
• Anche il Client rende disponibile all’esterno uno specifico metodo remoto
• Appositamente definito per permettere al ServerAuth di notificarlo immediatamente quando un concorso termina
notificaContest()
cacheConcorso
cacheArchivio
NB Sono state previste lato client due directory per salvare e mantenere le foto in modo da non richiamare inutilmente ogni volta il metodo remoto getFoto()
• cacheConcorso
• cacheArchivio
8
Il ServerAuth
iscritti.txt
Gestione Autenticazione:
• Garantisce l’accesso al Servizio solo ai Client che si sono precedentemente registrati
Gestione Notifica di Fine Concorso:
• Permette di notificare a tutti gli iscritti l’avvenuta fine di un concorso
• Mantiene tre distinti vettori per gestire correttamente tale notifica
username password
Giorgio #x+ù@k2##
… …
… …
… …
ONLINE
OFFLINE
DANOTIFI CA
notificaContest()
9
Il ServerFoto
foto.xmlfotoConcorso
iconeConcorso
struct fileFoto{ sequence <octet ,500000 > file; long numeroByte; string nomeFoto; string utente; short voti;};
Gestione Concorso:
• Mantiene tutte le foto del concorso in atto in formato jpg
• Mantiene le informazioni relative a tale concorso (titolo, scadenza) e alle foto inviate(titolo, autore, numero voti, utenti che hanno votato) in un file XML, foto.xml
• Crea e salva inoltre le relative miniature di ogni immagine partecipante
Trasferimento dei File Immagine
fileFoto
Rappresenta l’operazione principale del ServerFoto, richiesta quando un Client: • vuole aggiungere una foto• vuole visualizzare una pagina • vuole vedere una specifica foto
Rappresentando però il collo di bottiglia del sistema si è pensato di introdurre:
• le miniature per caricare velocemente una intera pagina
• un Limite in KB su ogni foto inviata
• un Limite Max di 9 foto per concorso
10
Il ServerArchivioGestione Archivio:
• Progettato per mantenere tutte le “vecchie” foto e i file foto.xml, in modo che l’utente possa sempre rivedere i tre vincitori e le proprie immagini di ogni Concorso Terminato
• Realizzato per non sovraccaricare di troppe richieste il ServerFoto, suddividendo così le responsabilità e i rispettivi carichi di lavoro
concorsi.txt
titolo…titolo3titolo2titolo1foto.xml
titolo1
titolo2
titolo3
titolo…
Termine Concorso
11
Gestione Termine Concorso
ServerArchivio
ServerAuth
ServerFoto
ThreadUltimoConcorso
Client onLine
notificaContest()
Client offLine
ThreadAuthNotifica
iscritti.txt
ONLINE
OFFLINE
DANOTIFI CA
notifica()
fotoConcorso
foto.xml
ultimoConcorso()
concorsi.txt
Client daNotifica
foto.xml
Titolo Concorso
1) titoloFoto, autore, voti
2) titoloFoto, autore, voti
3) titoloFoto, autore, votiiconeConcorso
titolo…titolo…titolo…titolo…
12
Conclusioni & Sviluppi futuri
Conclusioni:
– Il progetto è stato testato più volte sia in localmente che su più macchine con esiti positivi e tempi di risposta accettabili
– La scelta progettuale di avere tre differenti server con tre specifici compiti (gestione Autenticazione – gestione Concorso – gestione Archivio) comporta sicuramente un maggiore costo in fatto di risorse ma tale scelta viene ripagata da una maggiore efficienza complessiva del sistema
Sviluppi Futuri:– ServerFoto replicato in grado di gestire più richieste
parallelamente, per prevenire situazioni di forte congestione
– Più concorsi attivi contemporaneamente– Possibilità di commentare le foto– Concorsi a pagamento con premi in denaro ai vincitori
13
Fine