Esercitazione di Sistemi Distribuiti: Java RMI
|
|
- Angela Nanni
- 8 anni fa
- Visualizzazioni
Transcript
1 Esercitazione di Sistemi Distribuiti: Java RMI Anno Accademico Marco Comerio Richiami Teorici
2 Oggetti distribuiti 2-16 Usuale organizzazione di un oggetto remoto con un client-side proxy. Java RMI: Caratteristiche supporta l'invocazione di metodi tra oggetti in macchine virtuali distinte le interfacce sono Java vengono passati e ritornati oggetti Java le classi vengono caricate dinamicamente più sicuro perché non si deve tradurre nulla: il bytecode è lo stesso sempre si usa lo stesso approccio in ambiente singolo e in ambiente distribuito
3 Java/RMI definizioni Java/RMI definizioni Si basa sulla separazione tra definizione e implementazione delle funzionalità L interfaccia definisce le operazioni che si possono invocare Una classe istanziata sul server implementa le operazioni Il client usa la definizione (l interfaccia) Il server esegue l implementazione (l oggetto istanza della classe che implementa l interfaccia) Una classe proxy istanziata sul client fa da tramite
4 Architettura RMI Intercetta le chiamate del client Realizza il collegamento remoto TCP/IP Classi usate in RMI Classi Remote nel proprio spazio di indirizzi si comportano come un qualsiasi altro oggetto in altri spazi di indirizzi, l oggetto può essere referenziato usando riferimenti remoti Classi Serializzabili un oggetto serializzabile è un oggetto che può essere trasferito da uno spazio di indirizzi ad un altro
5 Passaggio Remoto di Parametri Parametro Remoto l handle dell oggetto viene copiato da uno spazio di indirizzi ad un altro Parametro Serializzabile l oggetto viene copiato da uno spazio di indirizzi ad un altro Parametro né Serializzabile né Remoto non possono essere usati come parametri Esempio: remoteobject.execute(o,p) remoteobject è un riferimento remoto, o è un parametro remoto, e p è un parametro serializzabile spazio degli indirizzi del client spazio degli indirizzi del server remoteobject remoteobject.execute(o,p) o.getv() p o skeleton stub p p.foo() Identificazione dei server Utilizza directory (o naming) service I directory service devono essere disponibile ad un host e porta noti (well known address) RMI definisce rmiregistry sta su ogni macchina che ospita servizi remoti convenzionalmente alla porta 1099
6 RMI registry Sul server creazione da programma di un oggetto locale che realizza il servizio desiderato lo registra presso l RMI registry sullo stesso host con un nome pubblico OggettoRemoto server = new OggettoRemoto(); Registry registrolocale = LocateRegistry().getRegistry(); registrolocale.bind( nomeoggetto, server); RMI attiva un servizio di ascolto per quel servizio RMI registry Sul client RMI registry è accessibile attraverso il metodo lookup() della classe Naming lookup() riceve una URL con il nome dell host e del servizio desiderato restituisce il reference remoto dell oggetto che fornisce il servizio URL: rmi://<host_name> [:<name_service_port>] /<service_name>
7 Esercizio 1: Calculator Obiettivo Costruire un semplice calcolatore remoto ed usarlo tramite un programma client. Step per la costruzione del sistema (assumendo che RMI sia già attivo): Scrivere e compilare il codice Java per le interfacce; Scrivere e compilare il codice Java per le classi che implementano le interfacce; Generare i file.class Stub e Skeleton dalle classi che implementano le interfacce; Scrivere e compilare il codice Java per un servizio host remoto; Scrivere e compilare il codice Java per un programma RMI client; Installare ed eseguire il sistema RMI.
8 Step 1 Scrivere e compilare il codice Java per le interfacce. L interfaccia Calculator definisce tutti i metodi offerti dal servizio: add, sub, mul, div. L interfaccia estende Remote, e ogni signature dichiara che può essere trattata con un oggetto RemoteException. File: Calculator.java Step 2 Scrivere e compilare il codice Java per le classi che implementano le interfacce. Le classi che implementano le interfacce usano UnicastRemoteObject come link al sistema RMI. Nell esempio, la classe estende direttamente UnicastRemoteObject. Questo non è strettamente richiesto. Una classe che non estende UnicastRemoteObject può utilizzare i suoi metodi exportobject() per accedere ad RMI. Quando una classe estende UnicastRemoteObject, deve fornire un costruttore che dichiara che può essere trattato con un oggetto RemoteException. Quando il costruttore chiama super(), attiva codice in UnicastRemoteObject che attiva il link con RMI ed inizializza l oggetto remoto. File: CalculatorImpl.java
9 Step 3 Generare i file.class Stub e Skeleton dalle classi che implementano le interfacce. Mediante RMI compiler rmic, si generano i file stub e skeleton. Il compilatore viene eseguito sulla classe che implementa il servizio remoto: >rmic CalculatorImpl Utilizzando Java 5 SDK solo il file stub viene generato. Lo skeleton non è più necessario. File: CalculatorImpl_Stub.class Step 4 Scrivere e compilare il codice Java per un servizio host remoto. I servizi remoti RMI devono essere ospitati in un processo server. La classe CalculatorServer è un semplice esempio che fornisce le essenzialità per l hosting. CalculatorService viene registrato usando la classe Naming presso l RMI registry sullo stesso host con un nome pubblico. RMI attiva un servizio di ascolto per CalculatorService. File: CalculatorServer.java
10 Step 5 Scrivere e compilare il codice Java per un programma RMI client. Si utilizza il metodo lookup() della classe Naming per accedere all RMI registry. Il metodo lookup() riceve una URL con il nome dell host e del servizio desiderato e restituisce il reference remoto dell oggetto che fornisce il servizio. Il reference viene usato per invocare i metodi remoti con i seguenti parametri: sub(4,3) add(4,5) mul(3,6) div(9,3) Vengono forniti i gestori delle eccezioni. File: CalculatorClient.java Step 6 Installare ed eseguire il sistema RMI. Devono essere inizializzate tre console: Si inizializza la console per l RMIRegistry usando il comando Java rmiregistry. Si inizializza la console per il server che ospita CalculatorService. Il servizio viene caricato in memoria e rimane in attesa di una chiamata da parte del client. Si inizializza la console per il client. I risultati prodotti sono i seguenti: 1, 9, 18 e 3
11 Esercizio 2: printer server Ambiente L esercizio verrà svolto utilizzando: Eclipse 3.1; RMI Plug-in per Eclipse ( JDK 1.5. Il codice Java è tratto dal tutorial fornito insieme al plug-in.
12 Traccia dell esercizio esercizio Sviluppare un applicazione che consenta ad un client di inviare richieste di stampa ad una stampante scelta tra tre che risultano (virtualmente) collegate. Ciascuna stampante ha un identificatore che può essere utilizzato dal client per verificarne lo stato. L applicazione client riceve il nome del server come argomento, si connette all RMI registry, sceglie in maniera casuale una stampante tra le tre disponibili e sottomette una richiesta di stampa (una semplice stringa di testo). Dopo aver sottomesso la richiesta, il client effettua query per verificare lo stato di avanzamento della stampa. Le query vengono effettuate fino a quando la stampa richiesta non risulta ultimata. Creazione Interfaccia RemotePrinter L interfaccia RemotePrinter deve estendere java.rmi.remote e deve definire metodi remoti per: Sottomettere un richiesta di stampa; Verificare se la stampa è stata terminata; Verificare lo stato della stampante. Ciascun metodo deve dichiarare una RemoteException. L interfaccia deve essere comune tra il client e il server. Non deve essere parte del progetto server (scelta usuale) ma deve essere creata in un progetto separato. Il client e il server avranno l interfaccia comune sui lori build path.
13 Creazione Interfaccia RemotePrinter Creazione guidata dell interfaccia mediante l utilizzo dell RMI Plug in di Eclipse Creare nuovo progetto Java per l interfaccia condivisa; Creare un nuovo package; Creare scheletro dell interfaccia mediante procedura guidata; Definire metodi: public int submitjob(string text) public boolean iscomplete(int id) public String getprinterstatus() Creazione lato server Il progetto server deve contenere l implementazione dell interfaccia RemotePrinter. La classe Java deve estendere la classe UnicastRemoteObject per rendere l oggetto visibile nel sistema RMI. Il metodo main() deve consentire di: Effettuare la connessione al registry RMI locale; Creare tre istanze di printer; Registrare le tre printer nel registro RMI locale. La registrazione deve essere effettuata accedendo direttamente il registro (l utilizzo di Naming.rebind() potrebbe essere un alternativa). Se non si verificano errori, il messaggio "The printer server is ready" deve essere visualizzato sulla console.
14 Creazione lato server Creazione guidata del lato server mediante l utilizzo dell RMI Plug in di Eclipse Creare nuovo progetto Java; Creare collegamento al progetto contenente l interfaccia comune; Creare un nuovo package; Creare scheletro della classe mediante procedura guidata: Superclass: UnicastRemoteObject Interface: RemotePrinter Definire il costruttore della classe; Implementare i metodi definiti nell interfaccia; Generare lo stub mediante il comando Enable Stubs Generation ; Visualizzare lo stub. Creazione lato server I metodi vengono implementati nel seguente modo: public int submitjob(string text): permette di inoltrare una nuova richiesta di stampa. Se l id della richiesta è pari, lo stato viene settato come completato. public boolean iscomplete(int id): permette di verificare lo stato di una richiesta. Dopo la chiamata lo stato viene settato come completato. public String getprinterstatus(): verifica lo stato delle stampanti. Ritorna in maniera random uno dei seguenti valori:"ready,"error or "Unknown". public static void main(string[] args): registra tre stampanti nel registro locale.
15 Creazione lato client Il progetto client deve consistere di una sola classe Java. Il metodo main() della classe deve: Connettersi al registro sulla macchina server e accedere in maniera casuale ad una delle tre stampanti remote disponibili; Inviare una nuova richiesta di stampa (una semplice stringa di testo) e salvare l id; Verificare lo stato della richiesta e della stampante fino a quando la richiesta risulta completata. Creazione lato client Creazione guidata del lato client mediante l utilizzo dell RMI Plug in di Eclipse Creare nuovo progetto Java; Creare collegamento al progetto contenente l interfaccia comune; Creare un nuovo package; Implementare il metodo main(): Installazione del security manager System.setSecurityManager(newRMISecurityManager()); Accesso al registry Registry registry = LocateRegistry.getRegistry(args[0]); Collegamento ad una delle tre stampanti RemotePrinter printer = (RemotePrinter)registry.lookup("printer" + selectedprinter); Invio di una richiesta di stampa int jobid = printer.submitjob( Message"); Verifica stato della richiesta e della stampante fino a quando la richiesta risulta completata while (!printer.iscomplete(jobid)) { System.out.println("Print job" +jobid + "is awaiting completion."); System.out.println("Printer status: "+printer.getprinterstatus());}
16 Esecuzione dell applicazione Esecuzione dell applicazione mediante l utilizzo dell RMI Plug in di Eclipse Avviare il registry sulla porta 1099; Avviare il server come applicazione RMI Settare il codebase per la RMI VM Avviare il client come applicazione RMI Settare il security manager per la RMI VM Passare come parametro localhost Il risultato viene visualizzato nella console. Esempio: Submitted print job (id=0) to printer1 Print job 0 is awaiting completion. Printer status: Ready Done printing La proprietà codebase La proprietà codebase è una proprietà della VM che è responsabile della configurazione per l accesso remoto ad una classe. Per un progetto server, codebase dichiara la collocazione dell interfaccia remota e dello stub. Nell esempio, il progetto client non ha nessun punto di accesso al progetto server (ad esempio, non ha accesso diretto allo stub). La soluzione consiste nell annotare l oggetto remoto con una proprietà codebase che agisce da classpath. Quando si utilizza l oggetto remoto è possibile consultare codebase per risolvere il class-loading.
17 Security Manager Il SecurityManager permette la specifica dei permessi di accesso. L RMISecurityManager può essere: configurato: sovrascrivendo i suoi metodi checkpermission(permission perm); configurato specificando un file di policy opzione della jvm Djava.security.policy=... In generale è possibile creare dei SecurityManager personalizzati estendendo la classe SecurityManager, o modificando i permessi nel file <JAVA_HOME>/lib/security/java.security Security policy La security policy generata per Printer server assegna ogni tipologia di permessi all applicazione. La policy è richiesta del RMISecurityManager e l applicazione non viene eseguita con successo se non viene avviata specificando un opportuno security policy file. La security policy può essere settata mediante l RMI Launcher o settando manualmente la proprietà java.security.policy.
18 Esempio di file di policy grant { permission java.security.allpermission; // Other options: permission java.net.socketpermission " :1024-", "accept, connect, listen, resolve"; permission java.net.socketpermission "localhost:1024-", "accept, connect, listen, resolve"; permission java.net.socketpermission "*: ", "connect,accept"; permission java.net.socketpermission "*:80", "connect"; permission java.net.socketpermission "*: ", "connect,accept"; permission java.io.filepermission "c:\\home\\ann\\public_html\\classes\\-", "read"; permission java.io.filepermission "c:\\home\\jones\\public_html\\classes\\-", "read"; };
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
DettagliJava 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
DettagliSocket & 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
DettagliRMI: 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
DettagliMobilità 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
DettagliRegistri 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ò
DettagliRMI Remote Method Invocation
RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:
Dettagli7 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)
DettagliRMI. 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
DettagliUnicastRemoteObject. 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
DettagliProgrammazione 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
DettagliTipi 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
DettagliSistemi Distribuiti. Anno Accademico 2005-06 Prof. Flavio De Paoli. Il modello ad oggetti
Sistemi Distribuiti Anno Accademico 2005-06 Prof. Flavio De Paoli 1 Il modello ad oggetti 2 Distributed Objects 2-16 Common organization of a remote object with client-side proxy. 3 Caratteristiche Oggetti
DettagliIntroduzione alle applicazioni di rete
Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza
DettagliContesto e motivazioni Architettura e concetti di base Componenti di RMI RMIRegistry Interfacce, eccezioni e classi Lo sviluppo di una applicazione L
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione Politecnico di Milano Programmazione Object Oriented in Java Java Remote Method Invocation Docente: Diego Peroni CEFRIEL
DettagliIntroduzione a Java Remote Method Invocation (RMI)
Introduzione a Java Remote Method Invocation (RMI) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi E risuona il mio barbarico yawp sopra i tetti del mondo ( I sound my barbaric
DettagliEclipse. Avviare un progetto e compilare un semplice programma
Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice
DettagliEsercitazione di Sistemi Distribuiti
Scenario generale Esercitazione di Sistemi Distribuiti Java RMI Leonardo Mariani client object (2) estrazione dei riferimenti ad oggetti remoti Object Registry (3) invocazione remota (4) eventuale invio
DettagliJNDI. Massimo Merro Programmazione di Rete 214 / 229
JNDI Abbiamo già visto come i registri RMI espletino un servizio di Naming attraverso cui vengono associati nomi simbolici a referenze a server remoti. Esistono comunque altri servizi di naming: COS (Common
DettagliLaboratorio di Sistemi Distribuiti Leonardo Mariani
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
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliOrganizzazione 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
DettagliEsercitazione n 4. Obiettivi
Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:
DettagliJava Security Model e RMI
Java Security Model e RMI Da Java 2 in poi la politica di sicurezza di Java impone all utente di definire espressamente i permessi di cui deve disporre un applicazione. Tali permessi definiscono una sandbox,
DettagliLicenza per sito Manuale dell amministratore
Licenza per sito Manuale dell amministratore Le seguenti istruzioni sono indirizzate agli amministratori di siti con un licenza per sito per IBM SPSS Modeler 15. Questa licenza consente di installare IBM
DettagliServers Activatable. Massimo Merro Programmazione di Rete 166 / 193
Servers Activatable Nelle lezioni precedenti abbiamo detto che una referenza remota ad un server di tipo UnicastRemoteObject rimane valida finchè il server è in esecuzione. Quando il server termina, o
DettagliActivation 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
DettagliLa 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
DettagliAppunti di Informatica www.mimmocorrado.it 1
Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il
DettagliTale 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
DettagliProgramma di configurazione di reti NetWare
Novell NetWare Questo argomento include le seguenti sezioni: "Programma di configurazione di reti NetWare" a pagina 3-44 "Configurazione rapida" a pagina 3-44 "Impostazione avanzata" a pagina 3-44 "Impostazione
Dettagli11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
DettagliSoftware di gestione della stampante
Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet
DettagliProva Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse
Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: srotabul@dais.unive.it Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di
DettagliFPf per Windows 3.1. Guida all uso
FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete
DettagliRemote Method Invocation (RMI)
(RMI) Remote Method Invocation (RMI) in Java. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@disi disi.unige.it Walter Cazzola Java: Remote
DettagliLa prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD
La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliProgrammazione a Oggetti Lezione 10. Ereditarieta
Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare
DettagliJava Web Services. Uso di Eclipse e Apache Axis
Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliInstallazione di GFI WebMonitor
Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA
DettagliWindows 98 e Windows Me
Windows 98 e Windows Me Questo argomento include le seguenti sezioni: "Punti preliminari" a pagina 3-31 "Procedura rapida di installazione da CD-ROM" a pagina 3-32 "Altri metodi di installazione" a pagina
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili 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 di
DettagliIl linguaggio Java. Oggetto remoto. Remote Method Invocation (RMI) Oggetto remoto: oggetto i cui metodi possono essere invocati attraverso la rete
Il linguaggio Java Remote Method Invocation (RMI) Oggetto remoto Oggetto remoto: oggetto i cui metodi possono essere invocati attraverso la rete Client Server 2 Schema di principio oggetto client oggetto
DettagliTabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo Webservice
- Albo pretorio virtuale e gestione della consultazione documentale - Argomenti Tabelle di riferimento Pulsanti Inserire documento Predisposizione doc Approvazione Doc Numerazione Doc Pubblicazione Albo
DettagliProgrammare 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
DettagliStudi di Settore. Nota Operativa 22/4/2013
Nota Operativa Studi di Settore 22/4/2013 Sommario Valutazione casistiche... 2 Errore di connessione... 2 Sistema operativo non aggiornato... 2 File non installato client... 2 File non installato server...
DettagliScrivere un programma in Java
Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
DettagliOggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliOrganizzazione 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
DettagliComunicazione tra Processi
Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo
DettagliComunicazione tra Processi
Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo
DettagliCorso basi di dati Installazione e gestione di PWS
Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del
DettagliAscoS3 Manuale Utente. Release 1.2
AscoS3 Manuale Utente Release 1.2 mercoledì 16 luglio 2014 1 Sommario Presentazione... 3 Interfaccia Web Primo accesso... 4 Gestione Account... 5 Cambio password... 5 Recupero Access Key e Secret Key...
DettagliMOBILE 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
DettagliTelematica 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
DettagliCONFIGURARE IL DISPOSITIVO DI TELEASSISTENZA
CONFIGURARE IL DISPOSITIVO DI TELEASSISTENZA VIPA 900-2C610 Router VPN Questo dispositivo consente la pura teleassistenza: non sono configurabili variabili, allarmi (email, sms), script. Requisiti hardware:
DettagliGestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.
Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato
DettagliIntegrazione InfiniteCRM - MailUp
Integrazione InfiniteCRM - MailUp La funzionalità della gestione delle campagne marketing di icrm è stata arricchita con la spedizione di email attraverso l integrazione con la piattaforma MailUp. Creando
DettagliSITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.
Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010
DettagliOnline 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
DettagliOttava Esercitazione. introduzione ai thread java mutua esclusione
Ottava Esercitazione introduzione ai thread java mutua esclusione Agenda Esempio 1 Concorrenza in Java: creazione ed attivazione di thread concorrenti. Esercizio 2 da svolgere Concorrenza in Java: sincronizzazione
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliMultithreading in Java. Fondamenti di Sistemi Informativi 2014-2015
Multithreading in Java Fondamenti di Sistemi Informativi 2014-2015 Multithreading La programmazione concorrente consente di eseguire più processi o thread nello stesso momento. Nel secondo caso si parla
DettagliManuale per l utente. Outlook Connector for MDaemon
Outlook Connector for MDaemon Manuale per l utente Introduzione... 2 Requisiti... 2 Installazione... 3 Scaricare il plug-in Outlook Connector... 3 Installare il plug-in Outlook Connector... 4 Configurare
DettagliGuida alla registrazione on-line di un DataLogger
NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso
DettagliTutorial per l installazione del J2SE 6 e configurazione del sistema operativo
Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie
DettagliReflection 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
DettagliIBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
DettagliInteGrazIone con MICrosoFt DYnaMICs. mailup.com
InteGrazIone con MICrosoFt DYnaMICs mailup.com PreMessa Il CrM Microsoft Dynamics v4 è tra le principali soluzioni di gestione aziendale integrate. Questo documento presenta le modalità di interazione
DettagliMODELLO 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
DettagliTERMINALE. Creazione e gestione di una postazione terminale di Eureka
TERMINALE Creazione e gestione di una postazione terminale di Eureka Febbraio 2011 2 Creazione e gestione di una postazione terminale di Eureka INDICE POSTAZIONE TERMINALE EUREKA REQUISITI INSTALLAZIONE
DettagliDATI IDENTIFICATIVI DEL PROGETTO
DATI IDENTIFICATIVI DEL PROGETTO N. VERSIONE 1.0 ITEM Integrazione con Java DATA DI USCITA PREVISTA DESCRIZIONE Creazione di DLL per integrazioni con Java Pag. 1 di 9 Descrizione dei requisiti Sezione
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliEsercizio 1: trading on-line
Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente
DettagliManuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliIstruzioni 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.
DettagliApprofondimenti. Contenuti
Approfondimenti dott. Stefano D. Fratepietro steve@stevelab.net C I R S F I D Università degli studi di Bologna stevelab.net Creative Commons license Stefano Fratepietro - www.stevelab.net 1 Contenuti
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
DettagliConfiguration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1
Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...
DettagliChe cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo
Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato
DettagliRMI. Prova pratica di Sistemi Distribuiti:
Prova pratica di Sistemi Distribuiti: RMI Di Nicola Milella Al fine di toccare con mano queste tecnologie e capirne i rispettivi pro e contro si è deciso di sviluppare un applicazione distribuita sfruttando
DettagliConsole di Amministrazione Centralizzata Guida Rapida
Console di Amministrazione Centralizzata Contenuti 1. Panoramica... 2 Licensing... 2 Panoramica... 2 2. Configurazione... 3 3. Utilizzo... 4 Gestione dei computer... 4 Visualizzazione dei computer... 4
DettagliThe Enterprise Service BUS. Manuale utente - VulCon
The Enterprise Service BUS Manuale utente - VulCon G R E E N V U L C A N O Manuale utente - VulCon GreenVulcano S.r.l. Viale Regina Margherita, 302-00198 Roma, Italia P.IVA 06459481005 Sommario Descrizione
DettagliDirezione Centrale per le Politiche dell Immigrazione e dell Asilo
Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00
DettagliCorso Eclipse. Prerequisiti. 1 Introduzione
Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated
DettagliLa struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
DettagliIBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
DettagliFile Server Resource Manager (FSRM)
File Server Resource Manager (FSRM) di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione FSRM, File Server Resource Manager, è un ruolo opzionale che può essere installato in Windows Server 2008 nel
DettagliInstallazione del software Fiery per Windows e Macintosh
13 Installazione del software Fiery per Windows e Macintosh Il CD del Software per l utente comprende le utilità di installazione di Fiery Link. Il software di utilità Fiery è supportato in Windows 95/98,
DettagliLicenza per sito Manuale dell amministratore
Licenza per sito Manuale dell amministratore Le seguenti istruzioni sono indirizzate agli amministratori di siti con un licenza per sito per SPSS Statistics. Questa licenza consente di installare SPSS
DettagliInizializzazione degli Host. BOOTP e DHCP
BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un
DettagliAirone 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