Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

12
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120

Transcript of Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Page 1: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Meteo Service

Corso di Reti di Calcolatori LS

Casarini Stefano matr. 0000195120

Page 2: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Sommario Introduzione Struttura dell’applicazione CORBA Client Server Server generico Conclusioni & Sviluppi Futuri

Page 3: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Introduzione Meteo service è un’applicazione che

fornisce servizi per richiedere informazioni meteo riguardanti l’Italia.

In particolare viene data la possibilità all’utente di richiedere:

• Previsioni meteo riguardanti una regione italiana.

• Temperature (MAX,MIN) delle principali città italiane.

Page 4: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Struttura

L’applicazione è 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 dell’Italia.

Lo sviluppo e la gestione della comunicazione avviene attraverso il middleware CORBA.

Server Temperature Server previsioni Meteo

Utente

CORBA

NORD SUDCENTRO

Page 5: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Caratteristiche di Corba utilizzate

Eterogeneità di linguaggio (C++, Java)

IDL (Interface Definition Language)Definizione delle interfacce dei servizi disponibili.

Corba Services (NAMING SERVICE) NAME

SERVICEClient Server

<<Lookup>> <<Register>>

Page 6: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

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 l’uso di funzioni AggiornaTemperature e AggiornaTabelle che si occupano quindi di visualizzare nell’interfaccia del client i dati che l’utente si aspetta.

Page 7: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Server

I Server gestiscono le connessioni con il Client compiendo le seguenti azioni:

Inizializzazione dell’ORB; Risoluzione del naming context; Ottenimento un riferimento al POA; Creazione dell’oggetto Servant e registrazione del POA; Attivazione del POA; Attesa di richieste per il servizio offerto.

Page 8: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

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.

Temperature.txt

Server Temperature

CORBA

Client

Page 9: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

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 sull’interfaccia 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.

Database File XML

Server Meteo

CORBA

Client

Database

Page 10: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Server Generico Il server generico ha la funzione di sostituire i

server per la previsione Meteo in caso di caduta.

Si assume “l’ipotesi 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).

Page 11: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Server Generico sostituzione

Server Generico

Server NORD Server 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

Page 12: Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr. 0000195120.

Conclusioni & Sviluppi Futuri

Conclusioni : L’applicazione 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 dell’applicazione provvedendo all’aumento 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.