Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Sommario Introduzione Struttura dellapplicazione CORBA Client Server Server generico Conclusioni & Sviluppi Futuri
Introduzione Meteo service è unapplicazione che fornisce servizi per richiedere informazioni meteo riguardanti lItalia. In particolare viene data la possibilità allutente di richiedere: Previsioni meteo riguardanti una regione italiana. Temperature (MAX,MIN) delle principali città italiane.
Struttura Lapplicazione è composta da un Client che effettua le richieste di servizio e da due tipologie di Server a seconda del servizio. il server che gestisce le richieste meteo è stato suddiviso in tre server, che si occupano ognuno di una parte geografica dellItalia. Lo sviluppo e la gestione della comunicazione avviene attraverso il middleware CORBA. NORDSUDCENTRO
Caratteristiche di Corba utilizzate Eterogeneità di linguaggio (C++, Java) IDL (Interface Definition Language) Definizione delle interfacce dei servizi disponibili. Corba Services (NAMING SERVICE)
Client Il Client non è legato in alcun modo alla struttura dei server. Il Client è a conoscenza solo del tipo di richiesta da fare: - Meteo NORD - Meteo CENTRO - Meteo SUD - Temperature Il Client come risposta elabora delle stringhe attraverso luso di funzioni AggiornaTemperature e AggiornaTabelle che si occupano quindi di visualizzare nellinterfaccia del client i dati che lutente si aspetta.
Server I Server gestiscono le connessioni con il Client compiendo le seguenti azioni: Inizializzazione dellORB; Risoluzione del naming context; Ottenimento un riferimento al POA; Creazione delloggetto Servant e registrazione del POA; Attivazione del POA; Attesa di richieste per il servizio offerto.
Server Temperature Il server che si occupa del servizio delle Temperature è sviluppato in C++. Legge i dati da un file di testo e li trasforma in una stringa da inviare al client come risposta.
Server Meteo I Server Meteo, sviluppati in Java, forniscono informazioni sulle previsioni meteo di una specifica regione italiana. I dati sono memorizzati sui Server in un database di file Xml e sono poi inviati ai Client come stringhe. Questi ultimi, una volta ricevuti questi dati, lavorano su file Xml per poter ricavare le informazioni da visualizzare sullinterfaccia utente. Per poter leggere le informazioni da questi file, sono state utilizzate le librerie JDom che permettono un utilizzo semplice e rapido di metodi già definiti. Basta quindi tener aggiornato il database dei file XML per avere le informazioni relative ad ogni giorno.
Server Generico Il server generico ha la funzione di sostituire i server per la previsione Meteo in caso di caduta. Si assume lipotesi di guasto singolo quindi non ci saranno mai più di un server guasto alla volta. Il server contiene una copia calda dei dati contenuti nei server meteo (ipotesi).
Server Generico sostituzione Server Generico Server NORDServer CENTRO Server SUD Il server generico interroga periodicamente i tre server per le previsioni meteo attraverso un servizio di HeartBeat. Se un server cade non risponde più al server Sostitutivo che quindi andrà a sostituirlo nelle eventuali richieste fatte dal Client. Al ritorno del server caduto il server generico smette di sostituirlo e torna a svolgere solo la funzione di interrogazione. Servizio richieste NORD
Conclusioni & Sviluppi Futuri Conclusioni : Lapplicazione sopra descritta presenta alcune caratteristiche di progetto dei sistemi distribuiti mettendo anche in luce alcuni punti di forza di Corba. Il progetto è stato testato più volte sia in locale che su alcune macchine con esito positivo e tempi di risposta accettabili. Sviluppi Futuri : Miglioramento dellapplicazione provvedendo allaumento di servizi meteorologici con visualizzazioni grafiche più complesse ed interattive. Inclusione di un eventuale estensione dei servizi disponibili anche a sistemi quali PDA, o telefoni cellulari attraverso soluzioni adatte a dispositivi embedded quali ORBACUS sempre della stessa azienda IONA.