Università degli Studi di Bologna Facoltà di Ingegneria. Meteo Service

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Bologna Facoltà di Ingegneria. Meteo Service"

Transcript

1 Università degli Studi di Bologna Facoltà di Ingegneria Meteo Service Corso di Reti di Calcolatori L-S Ingegneria Informatica, Laurea Specialistica Casarini Stefano, Matricola

2 INTRODUZIONE La meteorologia è una delle scienze più antiche. Nonostante ciò è ancor oggi una delle scienza meno divulgate. Eppure il tempo che fa e il tempo che farà sono i dominatori assoluti di tutte le attività umane. Le attività sociali, il lavoro, il riposo, le vacanze, il divertimento sono subordinati alle capricciose e incostanti variabilità delle vicende atmosferiche che si avvicendano non sempre ordinate nei cicli stagionali. L'importanza che le previsioni del tempo assumono nella vita e nelle attività umane è così grande che pur non potendosi invocare la sicurezza assoluta conviene tuttavia affidarsi almeno alla maggiore probabilità. Se si pone mente ai risultati già ottenuti in questi ultimi anni agli sforzi compiuti per migliorare la conoscenza dell'atmosfera e per applicarla al servizio di tutti, tanto in campi già noti quanto in altri che per ora sono solo intuiti o forse del tutto sconosciuti, si può pensare senz'altro a prospettive future più felici, fino alla completa soluzione del problema del tempo che farà. Si potranno così raccogliere i benefici del tempo favorevole e neutralizzare, o almeno limitare, gli inconvenienti, talvolta disastrosi e tragici, del cattivo tempo. Abbiamo detto che la meteorologia è una delle scienze divulgate. Tuttavia va rilevato che una certa "curiosità" si è venuta creando in questi ultimi anni intorno a questa scienza affascinante grazie ai vari mezzi di comunicazione (stampa, radio,televisione). Oltre ai classici mezzi di comunicazione oggi si utilizza sempre di più internet come mezzo di ricerca delle informazioni, tra le quali figurano certamente le previsioni meteorologiche. Meteo service è un applicazione che fornisce servizi per richiedere informazioni meteo riguardanti l Italia. In particolare viene offerta la possibilità all utente di richiedere le previsioni meteo relativi alle regione italiane e le temperature delle principali città. 2

3 CARATTERISTICHE Le informazioni meteorologiche corrispondenti ad una certa data posso essere effettuate attraverso un client chiedendo: Informazioni sul meteo nelle province della regione italiana selezionata Informazioni riguardanti le temperature (MAX, MIN) delle principali città italiane STRUTTURA E SCELTE PROGETTUALI Il servizio viene effettuato in maniera trasparente all utente grazie all utilizzo di corba per gestire la comunicazione con i server che rispondono alle richieste del/i client. L utilizzo di CORBA rende possibile la realizzazione di sistemi distribuiti eterogenei in maniera abbastanza semplice senza obbligare lo sviluppatore ad adottare una specifica tecnologia per implementare l applicazione. In questo progetto è stato deciso di sfruttare e mettere in luce alcune caratteristiche vincenti di corba prima fra tutte l eterogeneità. Infatti i server che gestiscono le richieste sono stati sviluppati utilizzando sia Java che C++. In particolare il server che risponde alle richieste delle temperature è stato sviluppato in C++, mentre quello per le previsioni meteorologiche delle regioni è stato sviluppato in Java. La struttura di CORBA si appoggia sui seguenti componenti: 1) L ORB (Object Request Broker) è il bus del sistema, deve coordinare l invocazione dei servizi locali e remoti. Diversi ORB possono comunicare tra loro. 3

4 2) L IDL (Interface Definition Language), linguaggio ad hoc che permette di definire le interfacce e di convertirle in un qualsiasi linguaggio di programmazione: crea lo Stub (proxy del client), che fa il marshalling delle richieste, e lo Skeleton, per effettuare l unmarshalling delle richieste (comunica con l ORB) ed adattarle così al server. 3) Il POA (Portable Object Adapter) ci permette di lavorare con interfacce cliente e servitore non omogenee. Ha compiti di registrare oggetti, generare riferimenti ed inviare richieste a questi. 4) L IOR (Interoperable Object Reference) è il sistema di nomi unici associati ad un servizio che possono essere passati da un ORB ad un altro e registrati nell IR (Interface Repository). Quest'ultimo consente di accedere alle interfacce disponibili durante l esecuzione. Il legame IOR-servizio può essere anche indiretto: si va a fare riferimento al Repository e solo tramite questo si arriva poi all'oggetto finale. 5) L HOLDER è l adattatore tra i diversi linguaggi che contenere l oggetto che viene ricevuto come input e successivamente passato come output tra i clienti e i servitori. L Holder può ad esempio adattare i parametri di inout (che vanno sia in ingresso che in uscita) per poterli utilizzare anche nel linguaggio java. Per la realizzazione del progetto è stato utilizzato il middleware ORBIX che non è altro che un implementazione di CORBA da parte dell azienda IONA. Dopo una prima analisi è stato deciso di dividere il server che gestisce le richieste meteo in tre server ognuno dei quali si occupa solo di alcune regioni per dare un idea di località di servizio. Nello specifico è stata suddivisa l Italia in tre zone NORD, CENTRO, SUD ad ognuna delle quali è associato un singolo server. Il client che effettua le richieste dell utente non conosce la gerarchia dei server, conosce solo il concetto di zona senza sapere se per regioni della stessa zona risponderanno uno o più server. Per effettuare le richieste è stata definita l interfaccia IDL corba seguente: module corbafiles{ exception ErroreApplic{ string codice_errore; }; }; interface ServiziMeteo { /* Ottengo previsioni metereologiche * riguardanti le principali regioni italiane * e le temperature delle pricipali città italiane * msg -> tipo di richiesta in input e dati inviati in output * Lavoro soltanto con dati di tipo String */ string richiestameteo(in string msg) raises(erroreapplic); string richiestatemperature() raises(erroreapplic); }; 4

5 E stata compilata attraverso il compilatore di Orbix al fine di ottenere gli scheletri del codice relativi ai server e ai client implementati nell applicazione. La richiesta per le previsioni meteo prevede un parametro di ingresso che sta ad indicare la regione della quale si vuole avere la previsione nelle sue province. Mentre la richiesta delle Temperature non richiede nessun parametro di ingresso. Infine entrambe le richieste attendono delle stringhe come risposta da cui poi il client riesce a ricostruire e visualizzare i risultati in modo corretto o e a visualizzare eventuali errori. Per la comunicazione e l indirizzamento corretto delle richieste viene sfruttato come servizio di nomi il NAME SERVICE di Corba che viene quindi utilizzato per registrare i servizi offerti dagli oggetti remoti, e recuperarne poi riferimenti. Il Naming Service di CORBA può trovarsi su un qualsiasi nodo, in generale diverso dall host del server (NON come RPC e RMI). E stato quindi creato un dominio di riferimento e registrato i diversi nomi ai cui sono associati i diversi servizi offerti. Di seguito viene elencata una panoramica dei principali componenti dell applicazione con relativa descrizione. CLIENT Per quanto riguarda il Client, nel caso in esame, deve potersi connettere al giusto Server per effettuare le sue richieste. Proprio su quest ultimo punto sfruttiamo le potenzialità di Corba utilizzando le invocazioni dinamiche da parte del Client stesso. Il Client effettua richieste di servizi senza conoscere a quale specifico Server andrà poi a connettersi né se dall altra parte c è un solo server o più server: il Client non è quindi legato in alcun modo alla struttura del server. E quindi a conoscenza solo del tipo di richiesta da fare (Meteo NORD, Meteo CENTRO, Meteo SUD, Temperature). Dopo aver effettuato una richiesta il client ottiene come risposte delle stringhe che vengono elaborate dalle funzioni AggiornaTemperature e AggiornaTabelle che si occupano di visualizzare nell interfaccia del client i dati che l utente si aspetta. 5

6 SERVER PREVISIONI METEO I Server forniscono informazioni sulle previsioni meteo di una specifica regione italiana. Questi dati sono memorizzati sui Server in database di file Xml e sono poi inviati ai Client. 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. L interfaccia grafica dei server risulta pressoché identica e quindi di seguito ne viene riportato solo un esempio: 6

7 Nello schema seguente viene riportata l interazione tra un server per le previsioni meteo ed un client. AggiornaTemperatura CORBA ServiziMeteo Impl Database ErrorFrame ClientFrame Client ClientThread Server SUD ServerThread ServerFrame AggiornaTabelle SERVER TEMPERATURE Questo server si occupa di rispondere a richieste da parte del client sulle temperature (MIN MAX) delle principali città italiane. E stato sviluppato in C++ attraverso gli schemi wizard di Visual Studio unito al middleware Orbix. 7

8 Il funzionamento di questo server prevede dopo la connessione e l attivazione dell ORB di rimanere in attesa di richieste, all arrivo delle quali viene recuperato il file di testo contenente le informazioni sulle temperature e prodotta una stringa da inviare come risultato al client. SERVER SOSTITUTIVO Per garantire il servizio delle previsioni anche durante la caduta di un server è stato progettato un altro server in grado di sostituirsi al server caduto. In fase di progetto non si è trattata il problema della consistenza dei dati contenuti nel server sostitutivo, si ipotizza che il server contenga una copia calda dei dati contenuti negli altri server. Il server sostitutivo durante la normale attività degli altri server si occupa di interrogarli periodicamente attraverso un servizio di tipo HeartBeat, cioè a polling manda un messaggio ad ognuno dei server attraverso un invocazione send_one_way (non da alcuna importanza ad un eventuale risposta, anzi non la si attende affatto) Per effettuare dei test rapidi in fase di test del progetto, questi messaggi vengono inviati ogni 2 secondi. Nel caso un server non risponda al segnale di heartbeat mandato e quindi si suppone sia caduto ne viene catturata l eccezione e immediatamente viene avviato un server dello stesso tipo in modo da sostituirlo finché il server originale non torna attivo. Nella realizzazione del progetto è stata fatta l ipotesi di guasto singolo quindi è possibile sostituire ogni tipo di server (NORD, CENTRO, SUD) ma sempre uno alla volta, ipotizzo quindi di non avere mai due Server guasti in uno stesso istante. Una volta che il server originale torna attivo, il server che lo sostituiva termina l esecuzione e riprende l interrogazione a polling iniziale per verificarne il funzionamento. 8

9 Di seguito abbiamo lo schema di interazione e la struttura del server sostitutivo: CONCLUSIONI In conclusione possiamo dire che è stata progettata un applicazione distribuita in grado di gestire richieste meteorologiche da parte di un utente. Il test effettuato mette in evidenza ottimi tempi di risposta ed un basso tempo di non disponibilità del servizio durante la caduta di un server e relativa sostituzione dal server di riserva. Quest applicazione mette in luce alcune delle caratteristiche vincenti di CORBA quali la gestione della comunicazione, il sistema di nomi e l indipendenza da una specifica tecnologia di implementazione grazie alla quale è stato possibile realizzare un sistema eterogeneo. E stato inoltre gestito un semplice esempio di replicazione che garantisce la permanenza del servizio di previsioni anche nel caso di caduta del server. Eventuali sviluppi futuri possono prevedere l aumento di servizi meteorologici con visualizzazioni grafiche più complesse ed interattive oppure l 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. 9

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1 Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli

Dettagli

Applicazioni distribuite e sistemi ad oggetti distribuiti

Applicazioni distribuite e sistemi ad oggetti distribuiti Applicazioni distribuite e sistemi ad oggetti distribuiti Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli di comunicazione asincroni

Dettagli

SCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 2. Architettura del modello 3. Architettura del modello 1

SCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 2. Architettura del modello 3. Architettura del modello 1 Architettura del modello 2 Il modello CA Anno accademico 2017/18 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Modello cliente-servente a oggetti distribuiti La

Dettagli

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8

Dettagli

Chiamata remota di metodi

Chiamata remota di metodi Chiamata remota di metodi Architettura di Java RMI Esecuzione di una Java RMI Architettura di RMI client server Stub & Skeleton Stub & Skeleton Remote Reference Remote Reference Trasporto Ciascun livello

Dettagli

Architettura a oggetti distribuiti

Architettura a oggetti distribuiti Luca Cabibbo Architettura dei Sistemi Software Architettura a oggetti distribuiti dispensa asw435 marzo 2018 First Law of Distributed Object Design: Don t distribute your objects! Martin Fowler 1 - Fonti

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 6 (proposta) Java RMI Antonio Corradi, Luca Foschini Michele Solimando, Giuseppe Martuscelli Anno Accademico

Dettagli

LPR 2005/2006 Lezione 7. paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio

LPR 2005/2006 Lezione 7. paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio LPR 2005/2006 Lezione 7 paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio PARADIGMA DI INTERAZIONE A DOMANDA/RISPOSTA Paradigma di interazione

Dettagli

Corso di Reti di Calcolatori M

Corso di Reti di Calcolatori M Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Invocazione Dinamica e Invocazioni Asincrone Luca Foschini Anno accademico 2014/2015 Agenda

Dettagli

Corso di Reti di Calcolatori M

Corso di Reti di Calcolatori M Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Invocazione statica: prima parte Luca Foschini Anno accademico 2014/2015 CORBA Implementazione

Dettagli

Relazione sul progetto CronoMeteo: Un particolare viaggio nel tempo.

Relazione sul progetto CronoMeteo: Un particolare viaggio nel tempo. Relazione sul progetto CronoMeteo: Un particolare viaggio nel tempo. Indice Introduzione al progetto - L idea Stato dell arte Progetto realizzato - Strumenti - Progetto Database Conclusioni e sviluppi

Dettagli

SISTEMI DI ELABORAZIONE

SISTEMI DI ELABORAZIONE SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2011/2012 Il progetto consiste nello sviluppo di un applicazione client/server. Client e server

Dettagli

Diagramma delle classi

Diagramma delle classi Diagramma delle classi Questo diagramma (mostrato nella pagina successiva) costruito utilizzando lo standard UML mostra le relazioni che ci sono fra le varie classi della nostra applicazione, mostrando

Dettagli

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel

Dettagli

Piattaforme Software Distribuite. Roberto Beraldi

Piattaforme Software Distribuite. Roberto Beraldi Piattaforme Software Distribuite Roberto Beraldi Middleware classification Middleware Synchronous Approaches (Tightly coupled) Asynchronous approaches (Loosely coupled) Interprocess communication and Serialization

Dettagli

Introduzione a Internet e World Wide Web

Introduzione a Internet e World Wide Web Introduzione a Internet e World Wide Web Sommario Breve storia di Internet Commutazione di pacchetto e TCP/IP Il Web HTTP HTML CGI... Connessione tra basi di dati e Web Internetworking (collegamento fra

Dettagli

Implementazione di una piattaforma di monitoraggio ambientale per una pianificazione forestale sostenibile in relazione ai cambiamenti climatici

Implementazione di una piattaforma di monitoraggio ambientale per una pianificazione forestale sostenibile in relazione ai cambiamenti climatici Implementazione di una piattaforma di monitoraggio ambientale per una pianificazione forestale sostenibile in relazione ai cambiamenti climatici Maria Cristina Monteverdi CREA FL Obiettivi Obiettivo Generale:

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 1 (proposta) Socket Java senza connessione Luca Foschini Anno accademico 2016/2017 Esercitazione 1 1

Dettagli

Sommario (1) Object Request Broker

Sommario (1) Object Request Broker Università di Roma RomaTre Sommario (1) Sommario (2) Introduzione a CORBA Claudio Morgia 1999 Architetture distribuite Object Request Broker Contratti IDL IR + DSI + DII Strutture Client, Object Implementation

Dettagli

Simple Social: implementazione di una

Simple Social: implementazione di una Laboratorio di Reti, Corsi A e B Simple Social: implementazione di una Online Social Network Progetto di Fine Corso A.A. 2015/16 1.Descrizione del problema Il progetto consiste nello sviluppo di una rete

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 3 (proposta) Socket C senza e con connessione Luca Foschini Michele Solimando Anno accademico 2016/2017

Dettagli

Corso di Reti di Calcolatori M

Corso di Reti di Calcolatori M Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Politiche di Attivazione Lato Server Luca Foschini Anno accademico 2014/2015 Portable Object

Dettagli

Corso di Reti di Calcolatori M

Corso di Reti di Calcolatori M Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Politiche di Attivazione Lato Server Luca Foschini Anno accademico 2013/2014 Portable Object

Dettagli

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 6 (svolta) Java RMI Luca Foschini Anno accademico 2010/2011 Esercitazione 6 1 Specifica: il Client

Dettagli

INTRODUZIONE SCHEDE. Le schede visualizzano i dati in tre categorie principali: Cliente - Macchina - Intervento

INTRODUZIONE SCHEDE. Le schede visualizzano i dati in tre categorie principali: Cliente - Macchina - Intervento INTRODUZIONE MANUTENZIONE è il programma che vi permette di coordinare al meglio, in modo rapido e veloce, la gestione delle apparecchiature e la registrazione degli interventi di manutenzione effettuati

Dettagli

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte DCOM: Distributed Component Object Model Applicazione Server Applicazione Client Fornitura di servizi WEB in ambiente distribuito Sempre

Dettagli

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte Fornitura di servizi WEB in ambiente distribuito Sempre più servizi intesi come sistemi o framework (integrazione e composizione) di oggetti

Dettagli

Corso di Reti di Calcolatori LA

Corso di Reti di Calcolatori LA Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori LA RMI: callback Silvia Vecchi Anno accademico 2003/2004 RMI: Callback 1 Callback (1) Molte applicazioni richiedono

Dettagli

Esercizi su Java RMI. Progetto di Cliente / Servitore e supporto. Possibile tabella mantenuta dal server

Esercizi su Java RMI. Progetto di Cliente / Servitore e supporto. Possibile tabella mantenuta dal server Esercizi su Java RMI Progetto di Cliente / Servitore e supporto Un progetto RMI si deve basare sempre sulla interfaccia remota e sulle classi del cliente e del servitore più su alcune classi di supporto

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 5 (proposta) Focalizzazione conoscenze acquisite Luca Foschini Anno accademico 2013/2014 Esercitazione

Dettagli

Traccia delle soluzioni. Si consideri il seguente enunciato: Spett Ditta,

Traccia delle soluzioni. Si consideri il seguente enunciato: Spett Ditta, Corso di Ingegneria del software Primo appello 8 gennaio 2008 V. Ambriola, L. Semini Dipartimento di Informatica, Università di Pisa a.a. 2007/08 La prova si svolge a libri chiusi (non è permessa la consultazione

Dettagli

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 4 (proposta) Server Multiservizio: Socket C con select Luca Foschini Anno accademico 2010/2011 Esercitazione

Dettagli

Analisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax.

Analisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax. tesi di laurea Analisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax. Anno Accademico 2006/2007 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Antonio Pandolfo Matr. 41/2568 Sommario

Dettagli

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE PROF. M. SECHI PARTE B 10/02/2016 NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO" La

Dettagli

Open Database Connectivity (ODBC)

Open Database Connectivity (ODBC) Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere

Dettagli

ottobre Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) Middleware Architectures and Technologies Luca Cabibbo

ottobre Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) Middleware Architectures and Technologies Luca Cabibbo Luca Cabibbo Architetture Software Dispensa MW 1 ottobre 2008 1 -Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) [Gorton] Essential Software Architecture, Chapter 4, A Guide to Middleware

Dettagli

Livello applicazione. Fondamenti di Informatica

Livello applicazione. Fondamenti di Informatica Livello applicazione Fondamenti di Informatica Previously on Fondamenti di informatica Livello fisico Livello instradamento Network e Internetwork Protocollo IP Indirizzi IP Routing Client e server Server:

Dettagli

Introduzione a CORBA

Introduzione a CORBA Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari

Dettagli

Programmazione modulare

Programmazione modulare Programmazione modulare 2018-2019 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5B Docente: Maria Lizzi, Giorgio Carnevale Ore settimanali

Dettagli

Laboratorio di Reti, Corsi A e B. Text-Twist. Progetto di Fine Corso A.A. 2016/17

Laboratorio di Reti, Corsi A e B. Text-Twist. Progetto di Fine Corso A.A. 2016/17 Laboratorio di Reti, Corsi A e B Text-Twist Progetto di Fine Corso A.A. 2016/17 1.Descrizione del problema Il progetto consiste nello sviluppo di un gioco multiplayer online. All inizio di una partita

Dettagli

Università degli Studi di Napoli Federico II

Università degli Studi di Napoli Federico II Università degli Studi di Napoli Federico II Corso di Laurea in Informatica VOGCLUSTERS: Una Web Applicationper il trattamento e l analisi di ammassi globulari Tutor accademico: Dott.ssa Anna Corazza Tutor

Dettagli

CORSO PAS Laboratorio di RETI

CORSO PAS Laboratorio di RETI CORSO PAS Laboratorio di RETI Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Le origini della comunicazione: Socket In un primo tempo nasce in ambiente UNIX Negli anni

Dettagli

Corso di Reti di Calcolatori M

Corso di Reti di Calcolatori M Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Invocazione statica: seconda parte Luca Foschini Anno accademico 2011/2012 CORBA Implementazione

Dettagli

03FYZ TECNICHE DI PROGRAMMAZIONE Istruzioni per effettuare il fork di un repository GitHub

03FYZ TECNICHE DI PROGRAMMAZIONE Istruzioni per effettuare il fork di un repository GitHub 03FYZ TECNICHE DI PROGRAMMAZIONE Istruzioni per effettuare il fork di un repository GitHub - Effettuare il login su GitHub utilizzando il proprio username e password. - Aprire il repository su GitHub relativo

Dettagli

INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE

INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione

Dettagli

SCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Cliente e servente concorrenti 1

SCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Cliente e servente concorrenti 1 Cliente e servente concorrenti 1 Processi e concorrenza in distribuito Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Multi-threading di

Dettagli

Dipartimento Affari Interni e Territoriali Direzione Centrale per i Servizi Demografici INA-SAIA. SSLProxy. Manuale Utente. versione 1.

Dipartimento Affari Interni e Territoriali Direzione Centrale per i Servizi Demografici INA-SAIA. SSLProxy. Manuale Utente. versione 1. SSLProxy Manuale Utente versione 1.0 Indice 1 Panoramica... 3 2 Installazione...4 2.1 Prerequisiti... 4 2.2 Acquisizione del pacchetto... 4 2.3 Copia dei file sulla postazione client... 4 2.4 Esecuzione

Dettagli

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 9 (proposta) Servizio di Gestione dei Servizi Liste di Distribuzione Luca Foschini Anno accademico

Dettagli

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10 SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare

Dettagli

Il Web come Interfaccia Utente di un Sistema Informativo

Il Web come Interfaccia Utente di un Sistema Informativo Web e basi di dati Il Web come Interfaccia Utente di un Sistema Informativo Occorre un meccanismo di interazione con il DBMS (attraverso il server Web) per la specifica di query e/o modifiche, es.. basate

Dettagli

Strumenti per l automazione del testing di applicazioni web Javascript-based

Strumenti per l automazione del testing di applicazioni web Javascript-based tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612

Dettagli

Isaac DE è una piattaforma Big Data completa di strumenti e servizi per l installazione, la configurazione, l uso, la gestione e il monitoraggio di

Isaac DE è una piattaforma Big Data completa di strumenti e servizi per l installazione, la configurazione, l uso, la gestione e il monitoraggio di Isaac DE è una piattaforma Big Data completa di strumenti e servizi per l installazione, la configurazione, l uso, la gestione e il monitoraggio di un intero ambiente NoSQL. 1 Sfrutta al massimo la potenza

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 7 (svolta) Java RMI e Riferimenti Remoti Un RMI Registry Remoto Luca Foschini Anno accademico 2018/2019

Dettagli

SCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 1. Architettura del modello 2. Architettura del modello 3

SCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 1. Architettura del modello 2. Architettura del modello 3 Il modello CA Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti SCD Architettura del modello 1 Standard industriale promosso da OMG (Object Management Group) come modello di riferimento http://www.omg.org/gettingstarted/corbafaq.htm

Dettagli

R. Orsini - A. Roncato - F. Dalla Libera

R. Orsini - A. Roncato - F. Dalla Libera Interfacce per basi di dati e integrazione di sistemi informativi R. Orsini - A. Roncato - F. Dalla Libera Workshop del Dipartimento di Informatica 2 Marzo 2006 Aree e progetti Progetto Rewerse: Query

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione Anno accademico 2004/5 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci

Dettagli

Novita portale fornitori Eni Aggiornamento del 02/10/2017

Novita portale fornitori Eni Aggiornamento del 02/10/2017 Novità portale fornitori Eni - Aggiornamento del 02 ottobre 2017 Pagina 1 di 6 INDICE 1. Obiettivi del documento... 3 2. Visualizzazione fatture... 3 3. Comunicazioni e richieste informazioni... 3 4. Avvisi

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.2 Strumenti di Access. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.2 Strumenti di Access. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.2 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione In questa Unità si introduce Access 2007, un applicazione

Dettagli

SISTEMI DI ELABORAZIONE

SISTEMI DI ELABORAZIONE SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2017/2018 Il progetto deve essere realizzato singolarmente (non è possibile realizzarlo in gruppo).

Dettagli

Introduzione D B M G

Introduzione D B M G Introduzione D B M G Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS D B M G 2 Gestione delle

Dettagli

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere

Dettagli

Presentazione Domande di Disoccupazione Agricoli e/o A.N.F. Internet Versione 1.0

Presentazione Domande di Disoccupazione Agricoli e/o A.N.F. Internet Versione 1.0 Presentazione Domande di Disoccupazione Agricoli e/o A.N.F. vi@ Internet Versione 1.0 Indice 1. PRESENTAZIONE...1 2. SERVIZI ON-LINE...2 2.1. ACQUISIZIONE DOMANDA...7 2.2. INVIO LOTTO...18 2.3. GESTIONE

Dettagli

Magazzino: software di gestione di un database di strumenti musicali

Magazzino: software di gestione di un database di strumenti musicali Magazzino: software di gestione di un database di strumenti musicali Questo programma è un'applicazione Windows Form che si occupa della gestione di un magazzino virtuale di strumenti musicali. In questa

Dettagli

Progetto Gennaio 2016

Progetto Gennaio 2016 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Progetto Gennaio 2016 Matteo Zignani 15 dicembre 2015 1 PRESENTAZIONE DEL PROBLEMA

Dettagli

SCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 2. Architettura del modello 3. Architettura del modello 1

SCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 2. Architettura del modello 3. Architettura del modello 1 Architettura del modello 2 Il modello CA Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Modello cliente-servente a oggetti distribuiti La

Dettagli

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Basi di Dati. Concetti e Principi Generali. Maria Mirto Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Laboratorio n 6 del Ing. Dario Cogliati

Laboratorio n 6 del Ing. Dario Cogliati Laboratorio n 6 del 07-11-2017 Ing. Dario Cogliati Es1 Piloti Si studino le strutture dati, che permettono di memorizzare le informazioni di 20 piloti che partecipano ad una gara automobilistica di 50

Dettagli

HTML Interazione con l utente

HTML Interazione con l utente HTML Interazione con l utente Il web è interattivo e per questo motivo una pagina html deve prevedere la possibilità, per l'utente, di inviare informazioni o effettuare delle scelte. Il linguaggio HTML,

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 5 (proposta) Focalizzazione conoscenze acquisite Luca Foschini Anno accademico 2015/2016 Esercitazione

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Sistemi ad oggetti Un insieme di oggetti che interagiscono per fornire più di una applicazione

Sistemi ad oggetti Un insieme di oggetti che interagiscono per fornire più di una applicazione Sistemi ad oggetti Un insieme di oggetti che interagiscono per fornire più di una applicazione eterogeneità oggetti una risposta alla diversità di piattaforme, di sistemi operativi, etc. information hiding

Dettagli

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

I DATI E LA LORO INTEGRAZIONE 63 4/001.0 I DATI E LA LORO INTEGRAZIONE 63 4/001.0 L INTEGRAZIONE DEI DATI INTEGRAZIONE DEI DATI SIGNIFICA LA CONDIVISIONE DEGLI ARCHIVI DA PARTE DI PIÙ AREE FUNZIONALI, PROCESSI E PROCEDURE AUTOMATIZZATE NELL AMBITO

Dettagli

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016 03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016 Obiettivi dell esercitazione: Utilizzo del pattern MVC Utilizzo di HashSet Introduzione alla complessità ESERCIZIO 1

Dettagli

Modulo 2 Architetture dei SD Lezione 1

Modulo 2 Architetture dei SD Lezione 1 Modulo 2 Architetture dei SD Lezione 1 Corso Sistemi Distribuiti (6 CFU) Docente: Prof. Marcello Castellano Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano Table of Contents

Dettagli

Gestione della configurazione Input/Output PLC Cosa c'è di nuovo?

Gestione della configurazione Input/Output PLC Cosa c'è di nuovo? Gestione della configurazione Input/Output PLC Cosa c'è di nuovo? Indice I. Avviare il Configuration Manager... 3 II. Nuova interfaccia dell'utente... 3 III. Importazione di nuovi formati di configurazione...

Dettagli

Organizzazione della lezione. Lezione 11 Oggetti Distribuiti. Marshalling: : perché. Rappresentazione Esterna dei Dati

Organizzazione della lezione. Lezione 11 Oggetti Distribuiti. Marshalling: : perché. Rappresentazione Esterna dei Dati Lezione 11 Oggetti Distribuiti Vittorio Scarano Corso di Programmazione Distribuita (23-24) Laurea di I livello in Informatica Università degli Studi di Salerno,, 2 Marshalling: : perché Rappresentazione

Dettagli

Infrastruttura per la Cooperazione Applicativa

Infrastruttura per la Cooperazione Applicativa Infrastruttura per la Cooperazione Applicativa - C.A.R.T. Linee guida per lo sviluppo di interfacce tra il Sistema Informativo Locale e il Nodo Applicativo Locale Ver. 1.2 Linee guida per lo sviluppo di

Dettagli

Università degli Studi della Calabria Facoltà di Ingegneria. Corso di Diploma in Ingegneria Informatica TESI DI DIPLOMA

Università degli Studi della Calabria Facoltà di Ingegneria. Corso di Diploma in Ingegneria Informatica TESI DI DIPLOMA Università degli Studi della Calabria Facoltà di Ingegneria Corso di Diploma in Ingegneria Informatica TESI DI DIPLOMA Una implementazione distribuita della programmazione genetica in ambiente peer-to-peer

Dettagli

ArcGIS - ArcView ArcCatalog

ArcGIS - ArcView ArcCatalog ArcGIS - ArcView ArcCatalog Marco Negretti Politecnico di Milano Polo Regionale di Como e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it 04/04/06 - v 1.1 2 ArcCatalog ArcCatalog: strumento

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 8 (proposta) Remote Procedure Call (RPC) Luca Foschini Anno accademico 2013/2014 Esercitazione 8 1 Specifica

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 8 novembre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 8 novembre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 8 novembre 2016 1 / 28 Rete informatica La rete informatica è la condivisione d informazioni o servizi. un computer

Dettagli

SMS METEOMONT Il servizio per la sicurezza e le informazioni in montagna

SMS METEOMONT Il servizio per la sicurezza e le informazioni in montagna SMS METEOMONT Il servizio per la sicurezza e le informazioni in montagna Descrizione e obiettivi del servizio I costi di utilizzo Le modalità di utilizzo: richieste on demand e sottoscrizione del servizio

Dettagli

Componenti di una applicazione. Esempio: Microsoft Word

Componenti di una applicazione. Esempio: Microsoft Word Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni

Dettagli

Testing di applicazioni flex: uso dello strumento FlexUnit

Testing di applicazioni flex: uso dello strumento FlexUnit tesi di laurea Anno Accademico 2010/2011 relatore Ch.mo prof. Porfirio Tramontana candidato Gionatan Murru Matr. 534001578 Problematiche affrontate: 1. Cos e Flex 2. Come è strutturato 3. Come è possibile

Dettagli

SCD. Comunicazione in Distribuito. Sistemi distribuiti: comunicazione. Visione a livelli 1. Visione a livelli 2. Evoluzione di modelli

SCD. Comunicazione in Distribuito. Sistemi distribuiti: comunicazione. Visione a livelli 1. Visione a livelli 2. Evoluzione di modelli Visione a livelli 1 Comunicazione in Distribuito SCD TCP/IP Livelli 5-7 del modello OSI Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it Connessione

Dettagli

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 SRM: Un Sistema Tollerante ai Guasti per la Gestione di Risorse Condivise in Una Rete

Dettagli

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016 Macchine Astratte Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione 010194 29 feb, 2016 Sommario 1 Introduzione Macchina astratta Interprete Implementazione

Dettagli

Progetto Gennaio 2017

Progetto Gennaio 2017 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Progetto Gennaio 2017 Matteo Zignani 12 dicembre 2016 1 PRESENTAZIONE DEL PROBLEMA

Dettagli