Laboratorio di Sistemi Distribuiti Leonardo Mariani

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Sistemi Distribuiti Leonardo Mariani"

Transcript

1 Laboratorio di Sistemi Distribuiti Leonardo Mariani ELECTION ALGORITHMS In molti sistemi distribuiti un processo deve agire da (o svolgere un ruolo particolare) per gli altri processi. Spesso non è importante quale processo assuma il ruolo di, ma è importante che ce ne sia sempre uno. Gli Election Algorithms sono usati per eleggere un nuovo quando il attuale smente di funzionare. In questa esercitazione implementeremo due algoritmi (Bully Algorithm e Ring Algorithm) usando Java RMI. Attività preliminare (per entrambi gli algoritmi): - creare un file di configurazione con l elenco dei calcolatori disponibili ed il loro numero IP. Ogni calcolatore è indicato attraverso un identificatore numerico univoco che è dato dall ultima cifra del numero IP. - il calcolatore con il valore dell ID più grande è il (convenzione che viene rispettata anche dopo il fallimento del ) Bully Algorithm StartUp: - leggere la lista di calcolatori dal file di configurazione e memorizzare il

2 - registrare l oggetto remoto che si interfaccia con gli altri processi nell object registry, usare bully come identificatore - recuperare un reference remoto per ogni calcolatore del sistema (se un oggetto remoto non è temporaneamente disponibile aspettare indefinitamente che lo diventi) Running: - inviare un ping() al ad intervalli di tempo fissati Thread.sleep(ms) - Ricezione Ping: rispondi con return - Eccezione nell invio del ping (fallimento del ) => Attiva fase di elezione Elezione: - inviare un elect() a tutti i calcolatori con identificatore superiore al proprio o ricezione di almeno una risposta => non fare nulla, non sei tu il prossimo o ricezione di nessuna risposta => vai alla fase di coordinazione, sei il prossimo - Ricezione election: rispondi con return, ed invia un messaggio di elect() a tutti i calcolatori con identificatore superiore al proprio Coordinazione: - inviare coordinator(this) a tutti i calcolatori per informarli dell identità del nuovo - Ricezione coordinator(): aggiorna l identità del attuale, rimuovi i calcolatori con identificatore maggiore del dalla lista dei calcolatori del sistema INTERFACCIA DI UN BULLYSERVER: package bullyalgorithm.interfaces; import java.rmi.remote; import java.rmi.remoteexception; public interface BullyServerInterface extends Remote{ public void ping() throws RemoteException; public void elect()throws RemoteException; public void coordinator(bullyserverinterface bs) throws RemoteException; public String getname() throws RemoteException;

3 Ring Algorithm StartUp: - leggere la lista di calcolatori dal file di configurazione e memorizzare il - registrare l oggetto remoto che si interfaccia con gli altri processi nell object registry, usare ring come identificatore - recuperare un reference remoto per ogni calcolatore del sistema (se un oggetto remoto non è temporaneamente disponibile aspettare indefinitamente che lo diventi) - i nodi sono ordinati in base al loro identificatore Running: - inviare un ping() al ad intervalli di tempo fissati Thread.sleep(ms) - Ricezione Ping: rispondi con return - Eccezione nell invio del ping (fallimento del ) => Attiva fase di elezione Elezione: - inviare un messaggio di election(em) al nodo successivo (se il nodo successivo non risponde provare con quello che segue, si faccia l ipotesi che esista sempre almeno un nodo che risponde) con dentro proprio ID - Ricezione Election: controllare se il proprio ID è nel messaggio, o No -> aggiungere il proprio id al messaggio ed inoltrarlo o SI -> vai alla fase di coordinazione, il messaggio ha già fatto un giro Coordinazione: - invia messaggio coordinator(cm), cm è ottenuto copiando il contenuto del messaggio em - Ricezione Coordinator: il è il nodo di massimo identificatore contenuto in cm o se il è nuovo -> memorizzare l identità del nuovo, aggiornare il set di computer disponibili, ed inoltrare il messaggio al nodo successivo o se il non è nuovo -> il messaggio ha compiuto un giro e quindi deve essere scartato ELECTION MESSAGE: package ringalgorithm.messages; import java.util.enumeration; import java.util.vector; public class ElectionMessage implements java.io.serializable{

4 private Vector nodes; public void addnodeid(string id) { nodes.add(id); public Enumeration getnodelist() { return nodes.elements(); public boolean existnodeid(string id) { return (nodes.indexof(id)!=-1); COORDINATOR MESSAGE package ringalgorithm.messages; import java.util.enumeration; import java.util.vector; public class CoordinatorMessage implements java.io.serializable{ private Vector nodes; public CoordinatorMessage(ElectionMessage em) { Enumeration e = em.getnodelist(); while (e.hasmoreelements()) { nodes.add(e.nextelement()); public Enumeration getnodelist() { return nodes.elements(); public String getmaxid() { if (nodes.size()<=0) return null; int maxid = -1; Enumeration e = getnodelist(); while (e.hasmoreelements()) { int value = Integer.parseInt((String)e.nextElement()); if (value > maxid) maxid = value; return String.valueOf(maxId); RING SERVER: package ringalgorithm.interfaces;

5 import java.rmi.remote; import java.rmi.remoteexception; public interface RingServerInterface extends Remote{ public void ping() throws RemoteException; public void elect(electionmessage em)throws RemoteException; public void coordinator(coordinatormessage cm) throws RemoteException; public String getname() throws RemoteException; COLLAUDO DEGLI ALGORITMI: Operazione preliminare: inserire delle istruzioni di output che stampano l elenco dei nodi del sistema e l identità del ogni volta che sono modificati. Esecuzioni: - Inserire valori differenti dell intervallo di ping per i vari calcolatori. Dopo lo startup il arresta il processo. Verificare che il nuovo sia selezionato opportunamente. - Inserire in tutti i calcolatori lo stesso intervallo di ping (scegliere un valore piccolo). Dopo lo startup il arresta il processo. Verificare che il nuovo sia selezionato opportunamente. - Far fallire il primo, eleggere quindi il successivo. Arrestare il appena eletto e verificare che si ottenga un nuovo. Continuare così fino a che non sopravvivono solamente due calcolatori. - Dopo lo startup arrestare i due nodi che non sono coordinatori con identificatore più alto. A questo punto arrestare il e verificare che il nuovo sia eletto correttamente.

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità: 7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Organizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind()

Organizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind() Organizzazione della lezione Lezione 18 Remote Method Invocation - 6 Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di Salerno

Dettagli

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti

Dettagli

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software

Dettagli

Telematica II 17. Esercitazione/Laboratorio 6

Telematica II 17. Esercitazione/Laboratorio 6 Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che

Dettagli

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247 Registri RMI Per poter interagire con un server remoto, un client deve essere in possesso di una sua referenza remota (ovvero un oggetto stub). Un servizio di Naming è una risorsa centralizzata che può

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Compute engine generici in RMI

Compute engine generici in RMI Compute engine generici in RMI Esempio: Calcolo del prodotto scalare Un unico server offre il servizio di calcolo del prodotto scalare tra vettori di interi Un client richiede al server il calcolo del

Dettagli

Opuscolo Outlook Express

Opuscolo Outlook Express L indirizzo di posta elettronica... pag. 2 Outlook Express... pag. 2 La finestra di outlook express... pag. 3 Barra dei menu e degli strumenti... pag. 3 Le cartelle di outlook... pag. 4 Scrivere un nuovo

Dettagli

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144 Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata. Chat Si ha un server in ascolto sulla porta 4444 Quando un client richiede la connessione, il server risponde con: Connessione accettata. Nome: Il client deve rispondere con lo user name A questo punto

Dettagli

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

Dettagli

Product Shipping Cost Guida d'installazione ed Utilizzo

Product Shipping Cost Guida d'installazione ed Utilizzo Guida d'installazione ed Utilizzo Installazione Per installare il modulo è sufficiente copiare la cartella app del pacchetto del modulo nella cartella principale dell'installazione di Magento dove è già

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione

Dettagli

Grafico della parabola

Grafico della parabola Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Gestire le sessioni con le Servlet

Gestire le sessioni con le Servlet PROGETTO Gestire le sessioni con le Servlet Con il termine sessione si intende un insieme di attività correlate, con una o alcune di queste che sono preliminari ad altre. Si pensi, per esempio, a un qualsiasi

Dettagli

Main System Monitor Keyboard

Main System Monitor Keyboard Composite 57 8. Composite (Gof pag. 163) 8.1. Descrizione Consente la costruzione di gerarchie di oggetti composti. Gli oggetti composti possono essere conformati da oggetti singoli, oppure da altri oggetti

Dettagli

Programmazione di sistemi distribuiti

Programmazione di sistemi distribuiti Programmazione di sistemi distribuiti I Sistemi Distribuiti, per loro natura, prevedono che computazioni differenti possano essere eseguite su VM differenti, possibilmente su host differenti, comunicanti

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant. LCMobile Restaurant Guida su come usare il software per palmare LCMobile Restaurant. Per prima cosa bisogna installare il file LCMobile-Restaurant.exe sul proprio PC dove e collegata la base del palmare.

Dettagli

ECCO COME FUNZIONA. Ti mostriamo ora come acquistare un volantino.

ECCO COME FUNZIONA. Ti mostriamo ora come acquistare un volantino. ECCO COME FUNZIONA Riteniamo importante che l esecuzione di un ordine online debba avvenire nel modo più rapido possibile. Al giorno d oggi si ha infatti molto altro da fare che rimanere seduti davanti

Dettagli

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate

Dettagli

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern

Dettagli

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop i Il Gestore Eventi di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Configurazione di un Servizio SPCoop come Evento gestito dal GE 2 3 Configurazione di un Pubblicatore

Dettagli

Esercitazione di Sistemi Distribuiti: Java RMI

Esercitazione di Sistemi Distribuiti: Java RMI Esercitazione di Sistemi Distribuiti: Java RMI Anno Accademico 2007-08 Marco Comerio comerio@disco.unimib.it Richiami Teorici Oggetti distribuiti 2-16 Usuale organizzazione di un oggetto remoto con un

Dettagli

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

Parte II: Reti di calcolatori Lezione 12

Parte II: Reti di calcolatori Lezione 12 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 12 Giovedì 16-04-2015 1 Confronto architetture C/S e

Dettagli

Guida Rapida di Syncronize Backup

Guida Rapida di Syncronize Backup Guida Rapida di Syncronize Backup 1) SOMMARIO 2) OPZIONI GENERALI 3) SINCRONIZZAZIONE 4) BACKUP 1) - SOMMARIO Syncronize Backup è un software progettato per la tutela dei dati, ed integra due soluzioni

Dettagli

GUIDA AL PRONTUARIO MOBILE

GUIDA AL PRONTUARIO MOBILE GUIDA AL PRONTUARIO MOBILE 1 SOMMARIO Installazione...3 Configurazione...3 Utilizzo...3 Note...10 INDICE DELLE FIGURE Figura 1: schermata di presentazione...4 Figura 2: schermata di login...4 Figura 3:

Dettagli

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 StruxureWare Data Center ExpertDispositivo virtuale Il server StruxureWare Data Center Expert 7.2 è disponibile come dispositivo virtuale, supportato

Dettagli

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

Dettagli

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix Assegnamento di un indirizzo IP temporaneo a dispositivi Barix V 1.0 GUIDA RAPIDA Introduzione L obiettivo di questa guida rapida è fornire all utente un modo per poter assegnare un indirizzo IP temporaneo

Dettagli

Palazzetto del Biliardo Tournaments

Palazzetto del Biliardo Tournaments Palazzetto del Biliardo Tournaments Manuale d uso applicazione web Questa procedura permette di gestire un campionato o un torneo di biliardo con generazione automatica di gironi e calendari (algoritmo

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server Versione 30.5.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/: applicazioni 1 La logica dei socket Abbiamo visto che un applicazione client si connette

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Microsoft Windows Funzionalità di un S.O. Gestione dei file Gestione dei dispositivi di ingresso/uscita Comandi per l attivazione e la gestione di programmi

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Per utilizzare il sistema VCP il programmatore deve inserire una porzione di codice di VCP nella sua applicazione.

Per utilizzare il sistema VCP il programmatore deve inserire una porzione di codice di VCP nella sua applicazione. Questo programma è indicato per tutti coloro che sviluppano applicazioni in linguaggio AutoLISP e VisualLISP e che desiderano proteggere da copie non autorizzate il proprio software. VisualLISP Copy Protection

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

INSTALLAZIONE E CONFIGURAZIONE DURC CLIENT PEC E FIRMA DIGITALE

INSTALLAZIONE E CONFIGURAZIONE DURC CLIENT PEC E FIRMA DIGITALE Pag.1 INSTALLAZIONE E CONFIGURAZIONE DURC CLIENT PEC E FIRMA DIGITALE Premessa La Cassa Edile può decidere se utilizzare o meno l invio dei DURC via PEC. Al momento dell installazione DURC Client è configurato

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Appello dell 8 Febbraio 2005 Esercizio 1 (ASD) 1. Dire quale delle seguenti affermazioni è vera giustificando la risposta. (a) lg

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato

Dettagli

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002 Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE

Dettagli

Mutua esclusione distribuita

Mutua esclusione distribuita Sincronizzazione del clock Il clock di CPU distribuite non é sincronizzato Clock fisico (difficile) / Clock logico (semplice) In molti casi basta sincronizzare il clock logico Sincronizzazione del clock

Dettagli

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono: Outlook parte 1 POSTA ELETTRONICA La posta elettronica è un innovazione utilissima offerta da Internet. E possibile infatti al costo di una telefonata urbana (cioè del collegamento telefonico al nostro

Dettagli

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer)

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer) Università degli studi di Milano CLS tecnologie dell informazione e comunicazione Seminario di Laboratorio di Base di Dati 2 Xml Encryption e Digital Signature Sicurezza dei dati Grazie alla sua caratteristiche

Dettagli

Gestione dei servizi all utenza. 3. Autorizzazioni

Gestione dei servizi all utenza. 3. Autorizzazioni Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni bibliografiche Manuali utente per SBN WEB Gestione dei servizi all utenza 3. Autorizzazioni 1 2 1. Introduzione

Dettagli

BDCC : Guida rapida all utilizzo

BDCC : Guida rapida all utilizzo BDCC : Guida rapida all utilizzo 1 Sommario 1. Funzionamento del sistema... 3 1.1 Cos è e cosa contiene la BDCC... 3 1.2 Meccanismi di funzionamento della BDCC... 3 1.3 Organizzazione di contenuti all

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124 UnicastRemoteObject Java RMI fornisce diverse classi base per definire server remoti: UnicastRemoteObject < RemoteServer < RemoteObject dove A < B significa che A è una sottoclasse di B. UnicastRemotObject

Dettagli

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging Corso di programmazione di sistemi mobile 1 Android Google Cloud Messaging Corso di programmazione di sistemi mobile 2 Cos è Il Google Cloud Messaging o GCM è un servizio di Google che permette di inviare

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro 2 Indice 1 Cookie 4 1.1 Politica............................................ 4 1.2 Gestione........................................... 5 3 1

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

Servizi telematici on-line per aziende ed intermediari

Servizi telematici on-line per aziende ed intermediari Servizi telematici on-line per aziende ed intermediari Comunicazione nominativi degli RLS Rappresentante dei Lavoratori per la Sicurezza Manuale Utente Versione documento v.2.1 In vigore dal 29/07/2014

Dettagli

Istruzioni per l installazione

Istruzioni per l installazione MQSeries Everyplace Istruzioni per l installazione GC13-2909-00 MQSeries Everyplace Istruzioni per l installazione GC13-2909-00 Prima edizione (giugno 2000) Questa edizione si riferisce a MQSeries Everyplace

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

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Elaborazione testi 133 3.5 Stampa unione 3.5.1 Preparazione 3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Abbiamo visto, parlando della gestione

Dettagli

Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline

Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi

Dettagli

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30' Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di

Dettagli

Programmazione distribuita

Programmazione distribuita Programmazione distribuita 1 Architettura client-server È il modo classico di progettare applicazioni distribuite su rete Server offre un servizio "centralizzato" attende che altri (client) lo contattino

Dettagli

Funzioni di Trasferimento Movimenti

Funzioni di Trasferimento Movimenti Airone Gestione Rifiuti Funzioni di Trasferimento Movimenti Airone Funzione di Trasferimento Movimenti pag. 1 Indice INTRODUZIONE... 3 FUNZIONE DI TRASFERIMENTO MOVIMENTI... 3 Configurazione dell applicazione...4

Dettagli

RT VIRTUAL CARD. Manuale Utente

RT VIRTUAL CARD. Manuale Utente RT VIRTUAL CARD Manuale Utente Il progetto Grazie alla facilità di utilizzo degli attuali smartphone e al loro uso per funzioni sempre più differenti non solo telefonare o spedire messaggi, ma un vero

Dettagli

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008 Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 6 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Guida alla registrazione on-line di un NovaSun Log

Guida alla registrazione on-line di un NovaSun Log Guida alla registrazione on-line di un NovaSun Log Revisione 4.1 23/04/2012 pag. 1 di 16 Contenuti Il presente documento è una guida all accesso e all utilizzo del pannello di controllo web dell area clienti

Dettagli

CONTROLLO DI GESTIONE DELLO STUDIO

CONTROLLO DI GESTIONE DELLO STUDIO CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti

Dettagli

XML e PHP. Gestire XML con PHP. Appendice

XML e PHP. Gestire XML con PHP. Appendice Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire

Dettagli

LaCie Ethernet Disk mini Domande frequenti (FAQ)

LaCie Ethernet Disk mini Domande frequenti (FAQ) LaCie Ethernet Disk mini Domande frequenti (FAQ) Installazione Che cosa occorre fare per installare l unità LaCie Ethernet Disk mini? A. Collegare il cavo Ethernet alla porta LAN sul retro dell unità LaCie

Dettagli

Esercizi su Callback RMI

Esercizi su Callback RMI Esercizi su Callback RMI Esercitazione di Laboratorio di Programmazione di Rete A Daniele Sgandurra Università di Pisa 03/12/2008 Esercizio Settimana Scorsa Sviluppare un applicazione RMI per la gestione

Dettagli

LA SOMMINISTRAZIONE DEGLI ESAMI CILS ISTRUZIONI PER LO SVOLGIMENTO DEL

LA SOMMINISTRAZIONE DEGLI ESAMI CILS ISTRUZIONI PER LO SVOLGIMENTO DEL LA SOMMINISTRAZIONE DEGLI ESAMI CILS ISTRUZIONI PER LO SVOLGIMENTO DEL TEST DI PRODUZIONE ORALE Centro CILS Siena, 8 maggio 2014 CARATTERISTICHE DA CONSIDERARE PER L ORGANIZZAZIONE test a somministrazione

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

GUIDA ALL UTILIZZO DEL SOFTWARE SCANPROT

GUIDA ALL UTILIZZO DEL SOFTWARE SCANPROT Servizi per l e-government nell Università Federico II GUIDA ALL UTILIZZO DEL SOFTWARE SCANPROT A cura del CSI - Area tecnica E-government Data ultima revisione: 30 Aprile 2008 GUIDA_UTILIZZO_SCANPROT_V1

Dettagli

CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE

CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE La procedura per richiedere il cambio di gestione degli esemplari necessari allo svolgimento di gare di lettura, mostre bibliografiche e altre

Dettagli

RMI: metodi equals e hashcode

RMI: metodi equals e hashcode RMI: metodi equals e hashcode Per verificare se due oggetti remoti contengono gli stessi dati, la chiamata indirizzata al metodo equals() avrebbe bisogno di contattare i server dove si trovano gli oggetti

Dettagli

Prova d Esame 07.04.2006 Compito A

Prova d Esame 07.04.2006 Compito A DOMANDA 1 (6 punti) Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { public static String s1 = "Ciao"; protected int n; public General() { n = 1; public

Dettagli

Utilizzo delle formule in Excel

Utilizzo delle formule in Excel Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli