RMI. Prova pratica di Sistemi Distribuiti:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "RMI. Prova pratica di Sistemi Distribuiti:"

Transcript

1 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 RPC e RMI, scrivendola rispettivamente in C e in Java. In particolare quest applicazione ha il compito,banale, di eseguire delle operazioni matematiche sugli elementi di un vettore per poi calcolarne la media. Se avessimo trattato un applicazione per uso locale, quindi con chiamate a procedura locali, avrebbe avuto davvero poco senso anche solo parlarne. Infatti, l utilità di questa sperimentazione si basa sulla comprensione degli aspetti principali che caratterizzano il calcolo distribuito, in particolare delle chiamate a procedura remote gestite rispettivamente da RPC e Java RMI, e non del compito specifico. In principio si era concordato di calcolare soltanto la media degli elementi ma, considerati i tempi di esecuzione molto ridotti, è stato aumentato il carico computazionale aggiungendo il calcolo di altre operazioni (arcotantangente,potenza,radice) sugli elementi del vettore ottenendo tempi più larghi(nell ordine dei millisecondi). Si è cercato, per quanto possibile, di rendere il codice dei due programmi server quanto più simile possibile onde evitare imprecisioni delle misurazioni derivanti dall'esecuzione di più o meno istruzioni (es. eliminando la stampa degli elementi del vettore si è scesi da circa 60ms a circa 5ms). In questa parte della relazione si introducono le Java RMI che utilizzano l ambiente di elaborazione omogeneo costituito dalla Java Virtual Machine (JVM). In Java RMI un applicazione è costituita da processi server che creano oggetti accessibili remotamente, registrandone il nome nell apposito registro RMIregistry e si pongono in attesa di invocazione dei metodi sugli oggetti remoti da parte dei clienti. Un client ottiene il riferimento ad un oggetto, effettuando una ricerca nel registro RMIregistry sull host remoto e successivamete invoca i metodi remoti. E il middleware RMI che si occupa dei dettagli della comunicazione: agli occhi del utente l invocazione remota appare come un invocazione standard di un metodo su un oggetto nel linguaggio Java tradizionale. Nell invocare un metodo, è possibile scambiare oggetti come parametri o valori di ritorno; RMI fornisce anche i meccanismi necessari per caricare su

2 richiesta il codice di un oggetto, e per serializzarne e trasmetterne lo stato. Lo strato middleware della piattaforma Java basato sulla tecnologia RMI (Remote Method Invocation) è molto simile al middleware RPC. Implementazione di Rmi In questo paragrafo si introducono tutti gli strumenti necessari per creare ed eseguire un applicazione java rmi. In questo caso non è necessario scrivere un file dei servizi utilizzando un linguaggio IDL, come accade in RPC, in quanto l IDL è proprio java. Compito dell utente L utente ha il compito di scrivere una classe client, in questo caso, la classe contenuta nel file RmiClient.java contiene le chiamate ai metodi remoti. Inoltre l utente deve scrivere una classe server anche in questo caso inserita nel file RMIServerImpl.java nella quale troviamo oggetti che saranno eseguiti in remoto come in RPC (in quel caso i file erano client.c e server.c). La struttura dei due programmi è conforme allo stile di programmazione java. Rispetto ad un programma scritto in java tradizionale è necessario importare i nomi del package java.rmi. Descrizione di RmiClient La classe RmiClient contiene : String registration = "rmi://" + registry +"/testrmi"; Remote remoteservice = Naming.lookup (registration); RmiIfaces service = (RmiIfaces) remoteservice; il quale interroga l rmiregistry per vedere se il servizio testrmi è in esecuzione sull host richiesto come in RPC il client attraverso la clnt create(...) interroga il portmap sull host passato come parametro; attraverso l invocazione del metodo... = service.mediarmi(vett)... (notare che per l utente è come chiamare un metodo tradizionale java in locale) avviene la connessione alla diretta alla classe RmiServer sull host remoto. Descrizione di RmiRegistration In questo caso le differenze sostanziali consistono nell importare i nomi dei package java.rmi e java.rmi.server, e nel chiamare il metodo Naming.rebind(registration, service ) che comunica all rmiregistry che tale oggetto è disponibile. Inoltre, non meno importante, tutti i dati coinvolti devono essere serializzati.

3 Quando si instaura un collegamento virtuale tra stub e skeleton (o stub e server) questo è un tipo di collegamento sequenziale, per questo tali dati devono essere serializzati. Compilazione con rmic Per supportare la trasparenza della rete in JavaRMI come in RPC c è un compilatore, rmic, che genera lo stub e lo skeleton dell oggetto remoto. L unica differenza tra i due compilatori è che rpcgen compila un file scritto in un linguaggio simile al C (file.x) mentre rmic compila direttamente i file (server) generati dal compilatore javac (file.class). Notare che in questo caso l IDL è proprio il linguaggio java. Una volta avvenuta la compilazione per eseguire il client e il server si utilizza il comando java nome file da eseguire come nelle tradizionali applicazioni java. Dalla versione 2.0 del JDK il file di skeleton non viene più generato. Lo stub generato da rmic fornisce una simulazione locale sulla JVM del client dell oggetto remoto, inoltre non viene inviato direttamente l oggetto ma una rappresentazione serializzata e successivamente, sulla JVM target viene ricreata una copia identica dell oggetto (deserializzazione). Nell appendice B sono riportate le istruzioni di compilazione per il caso di studio in questione. Rmiregistry Nel caso di Java RMI come in RPC viene utilizzatto un servizio binder, per avere a disposizione tutti gli oggetti disponibili su un nodo. rmiregistry è un applicazione che si occupa di registrare all interno di un registro il nome logico dell oggetto remoto dalla classe Naming presente nel package java.rmi. Come nel caso del portmap RPC l oggetto server si registra su rmiregistry e il client può interrogare tale applicazione per vedere se l oggetto è disponibile su quel nodo. Come il portmap di RPC, rmiregistry e sempre in ascolto su una porta, che di default è la Test e risultati In quest ultima parte viene spiegato il test effettuato e i risultati ottenuti, in linea con le aspettative. Di seguito sono elencate le condizioni, l ambiente di test, mezzi utilizzati ecc: Ambiente di test: rete locale casalinga Collegamento: ethernet Macchina Server: toshiba satellite m70 cpu Intel centrino 1.73 ghz ram 1gb S.O. Ubuntu bit

4 Condizioni: programma server eseguito subito dopo l'avvio completo della macchina evitando di avviare altre applicazioni; carico di rete costante ridotto agli unici host coinvolti nel test Misurazioni: effettuate via codice, nei rispettivi programmi client, catturando il tempo pre e post esecuzione dell istruzione di chiamata di procedura remota. Registrate in un file di testo automaticamente e successivamente importate in excel per eseguire i calcoli. Richiesta: è stato scelto di passare vettori da 2000 elementi. Risultati: su un campione di richieste è emerso che i tempi di esecuzione di una chiamata di procedura remota gestita da RPC sono nettamente inferiori(meno della metà, precisamente 2, in rapporto) dell analoga chiamata gestita da Java RMI. Infatti, in studi ben più articolati, RPC viene considerato come baseline per comparare le altre tecniche e risulta essere, sotto altre condizioni di test, addirittura dalle 4 alle 6 volte più performante di java RMI come si evince dall articolo A PERFORMANCE EVALUATION OF RPC, JAVA RMI, MPI AND PVM di Kalim Qureshi (Department of Math and Computer Science University of Kuwait ) e Haroon Rashid (COMSATS Institute of Information Technology Abbattabad Pakistan). In particolare è emerso che RPC, nel trattare una richiesta (tempo totale), ha impiegato mediamente 2,179 ms mentre Java Rmi 4,636 ms. Il tempo, come detto precedentemente, è stato misurato lato client considerato che nell ambiente in cui si è svolto il test il tempo di trasmissione della richiesta è stato trascurabile. Quindi il tempo totale è per lo più formato dal tempo di esecuzione, composto a sua volta da: 1) Tempo delle operazioni preliminari sulla richiesta ricevuta 2) Tempo di esecuzione della procedura 3) Tempo di costruzione della risposta Il tempo di esecuzione della procedura/metodo remota è risultato essere costante per entrambi gli approcci mantenendo la differenza derivante alla maggior efficienza del programma server scritto in C (un vantaggio intrinseco di Rpc). Installazione/configurazione ambiente java rmi su ubuntu

5 Verificare la presenza di un'istallazione java (Openjdk o Oracle-java) con il comando java -version, in caso non fosse installato neanche uno dei due ambienti procedere all'installazione tramite il software center per Openjdk, mentre per Oracle-java importare un ppa che contenga tutti i pacchetti necessari e proseguire all installazione. In questo caso l'ambiente utilizzato è java 7 di Oracle. Compilazione 1) javac RmiIface.java RmiSrvImpl.java 2) javac RmiRegistration.java 3) javac RmiClient.java Esecuzione 1) java RmiRegistration <host> sulla macchina server 2) java RmiClient <server host> <dimensione vettore> <path file di report> <numero richieste> sulla macchina client Normalmente è necessario avviare il processo rmiregistry o quanto meno accertarsi che sia in esecuzione altrimenti bisogna avviarlo tramite il comando rmiregistry &, ma in questo caso è stato gestito tutto da codice; alla terminazione del server terminerà anche rmiregistry in quanto sotto processo del server, quindi se si necessita tenerlo sempre in esecuzione bisogna avviarlo da linea di comando.

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

RMI Remote Method Invocation

RMI 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:

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

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

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

Introduzione a Java Remote Method Invocation (RMI)

Introduzione 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

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

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

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

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

Comunicazione tra Processi

Comunicazione 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

Dettagli

Comunicazione tra Processi

Comunicazione 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

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti 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

Dettagli

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Aprile 21, 2015 Srđan Krstić and Marco Scavuzzo 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK).......................................... 3 1.2

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

Corso di Reti di Calcolatori LS

Corso di Reti di Calcolatori LS Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori LS CORBA - Implementazione Naming Service e Interface Repository Luca Foschini Anno accademico 2008/2009 Agenda CORBA

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Chiamate a Procedure Remote

Chiamate a Procedure Remote FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Corso di Sistemi Distribuiti Anno Accademico 2012/2013 Relazione sullo sviluppo di Chiamate a Procedure Remote

Dettagli

Il linguaggio Java. Oggetto remoto. Remote Method Invocation (RMI) Oggetto remoto: oggetto i cui metodi possono essere invocati attraverso la rete

Il 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

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

Protezione. Sistemi Operativi mod. B 16.1

Protezione. Sistemi Operativi mod. B 16.1 Protezione Scopi della Protezione Dominio di Protezione Matrice d Accesso Implementazione della Matrice d Accesso Revoca dei Diritti d Accesso Sistemi Basati su Abilitazioni Protezione basata sul linguaggio

Dettagli

Remote Method Invocation (RMI)

Remote 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

Dettagli

Contesto e motivazioni Architettura e concetti di base Componenti di RMI RMIRegistry Interfacce, eccezioni e classi Lo sviluppo di una applicazione L

Contesto 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

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

Java SOAP Client. Manuale per l installazione. WebEDI Scambio elettronico documenti. ManualeInstallazioneSoapCli ent

Java SOAP Client. Manuale per l installazione. WebEDI Scambio elettronico documenti. ManualeInstallazioneSoapCli ent WebEDI Scambio elettronico documi Manuale per l installazione Tipologia Titolo Idificativo Versione e Data Pag. di Documo Descrizione del documo e schema XML 1 7 WebEDI Scambio elettronico documi Sommario

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

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST.

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST. INDICE 1) SOMMARIO... 1 2) ISTRUZIONI DI BASE... 2 3) CONFIGURAZIONE... 7 4) STORICO... 9 5) EDITOR HTML... 10 6) GESTIONE ISCRIZIONI E CANCELLAZIONI... 11 7) GESTIONE MAILING LIST... 12 8) E-MAIL MARKETING...

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi 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

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI 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

Dettagli

RMI. Introduzione DI GIOVANNI PULITI

RMI. Introduzione DI GIOVANNI PULITI 2001 proprietà di MokaByte s.r.l. tutti i diritti riservati è vietata la riproduzione non autorizzata anche parziale RMI DI GIOVANNI PULITI Introduzione La programmazione distribuita è tra gli argomenti

Dettagli

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services I. Marra M. Ciampi RT-ICAR-NA-06-04

Dettagli

SSL VPN Accesso Remoto Sicuro

SSL VPN Accesso Remoto Sicuro SSL VPN Accesso Remoto Sicuro Accesso con Network Connect per Linux Pagina 1 I l Servizio SSL VPN permette agli utenti istituzionali di realizzare una connessione da qualsiasi parte del mondo (Internet)

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

InterProcess Communication (IPC)

InterProcess Communication (IPC) CdL MAGISTRALE in INFORMATICA A.A. 2013-2014 corso di Sistemi Distribuiti 5. IPC (Inter Process Communication) (parte 2): da RPC a RMI Prof. S.Pizzutilo InterProcess Communication (IPC) Modelli e tecnologie

Dettagli

Multisentry ASE-V (v. 1.0) - Guida rapida all installazione

Multisentry ASE-V (v. 1.0) - Guida rapida all installazione Multisentry ASE-V (v. 1.0) - Guida rapida all installazione 2012 Multisentry Solutions S.r.l. 1 di 15 Sommario 1 Multisentry ASE-V... 3 2 A chi è rivolto il manuale... 3 3 Prerequisiti... 3 3.1 VMware...

Dettagli

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

SERVIZIO TELEMATICO ENTRATEL. Applicazione Invia Multifile

SERVIZIO TELEMATICO ENTRATEL. Applicazione Invia Multifile SERVIZIO TELEMATICO ENTRATEL Applicazione Invia Multifile Versione del documento: Novembre 2012 SERVIZIO TELEMATICO ENTRATEL... 1 APPLICAZIONE INVIA MULTIFILE... 1 1. Premessa... 3 2. Cartella di intallazione...

Dettagli

INDICE. Indice. Introduzione

INDICE. Indice. Introduzione V Indice Introduzione XIII Capitolo 1 La programmazione multithread 1 1.1 Cosa sono i thread 2 Utilizzare i thread per dare una possibilità ad altri task 9 Avvio ed esecuzione dei thread 10 Esecuzione

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Guida introduttiva. Fiery Network Controller per DocuColor 240/250

Guida introduttiva. Fiery Network Controller per DocuColor 240/250 Fiery Network Controller per DocuColor 240/250 Guida introduttiva In questo documento, ogni riferimento a DocuColor 242/252/260 rimanda a DocuColor 240/250. 2007 Electronics for Imaging, Inc. Per questo

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Dipartimento per le Libertà Civili e l Immigrazione

Dipartimento per le Libertà Civili e l Immigrazione Dipartimento per le Libertà Civili e l Immigrazione Sportello Unico Immigrazione Sistema Inoltro Telematico Manuale di installazione su sistemi operativi di tipo Linux Data aggiornamento 16/01/2011 15.34.00

Dettagli

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La 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

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

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Uso del computer e gestione dei file. Elaborazione testi. Foglio elettronico. Strumenti di presentazione

Uso del computer e gestione dei file. Elaborazione testi. Foglio elettronico. Strumenti di presentazione Il è finalizzato a elevare il livello di competenza nell utilizzo del computer, del pacchetto Office e delle principali funzionalità di Internet. Il percorso formativo si struttura in 7 moduli Concetti

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

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o Navigare verso il cambiamento La St r a d a p i ù semplice verso il ca m b i a m e n t o Le caratteristiche tecniche del software La Tecnologia utilizzata EASY è una applicazione Open Source basata sul

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

ATLAS Installazione : DISINSTALLAZIONE VERSIONI PRECEDENTI DI ATLAS

ATLAS Installazione : DISINSTALLAZIONE VERSIONI PRECEDENTI DI ATLAS ATLAS Installazione : DISINSTALLAZIONE VERSIONI PRECEDENTI DI ATLAS Disinstallazione e re-installazione di Atlas La macchina deve rispecchiare le seguenti caratteristiche MINIME di sistema: Valori MINIMI

Dettagli

Sistemi Distribuiti Multiagente A.A.2010-11 Informatica Magistrale Università di Bari

Sistemi Distribuiti Multiagente A.A.2010-11 Informatica Magistrale Università di Bari Java RMI I lucidi che seguono sono stati prodotti sulla base dei seguenti riferimenti: - Sistemi Distribuiti Dip. Informatica (S.Pizzutilo) - Seminario Java RMI di G.Cozzolongo Java RMI: Remote Method

Dettagli

developed by Emanuele De Carlo

developed by Emanuele De Carlo developed by Emanuele De Carlo WorkGym è un Software sviluppato in JAVA pensato per migliorare la gestione di piccole e grandi palestre. Il suo principale scopo è quello di mantenere un DataBase contenente

Dettagli

BARRA LATERALE AD APERTURA AUTOMATICA...

BARRA LATERALE AD APERTURA AUTOMATICA... INDICE 1) SOMMARIO... 1 2) PRIMO AVVIO... 1 3) BARRA LATERALE AD APERTURA AUTOMATICA... 2 4) DATI AZIENDALI... 3 5) CONFIGURAZIONE DEL PROGRAMMA... 4 6) ARCHIVIO CLIENTI E FORNITORI... 5 7) CREAZIONE PREVENTIVO...

Dettagli

Analisi, progettazione e implementazione di un repository di componenti distribuite in Java basato su JNDI.

Analisi, progettazione e implementazione di un repository di componenti distribuite in Java basato su JNDI. UNIVERSITÀ DEGLI STUDI DI ROMA LA SAPIENZA TESI DI LAUREA IN SCIENZE DELL INFORMAZIONE Analisi, progettazione e implementazione di un repository di componenti distribuite in Java basato su JNDI. Relatore:

Dettagli

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

Implementazione di un servizio VoIP in ambienti SOA per mobile computing tesi di laurea Implementazione di un servizio VoIP in ambienti SOA per mobile computing Anno Accademico 2006/2007 relatore Ch.mo prof. Domenico Cotroneo correlatore ing. Marcello Cinque candidato Vittorio

Dettagli

Programmazione con Oggetti Distribuiti: Java RMI. Vittorio Scarano

Programmazione con Oggetti Distribuiti: Java RMI. Vittorio Scarano Programmazione con Oggetti Distribuiti: Java RMI Vittorio Scarano II edizione - Marzo 2010 ii iii A mio padre e a mia madre, ispiratori A mia moglie, dolce compagna, amica e confidente Ai miei tre figli,

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati. 2010 Ing. Punzenberger COPA-DATA Srl Tutti i diritti riservati. Tutti i diritti riservati la distribuzione e la copia - indifferentemente dal metodo - può essere consentita esclusivamente dalla dittacopa-data.

Dettagli

Installazione di IBM SPSS Modeler 14.2 Client (utente singolo)

Installazione di IBM SPSS Modeler 14.2 Client (utente singolo) Installazione di IBM SPSS Modeler 14.2 Client (utente singolo) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Client versione 14.2 con licenza per utente singolo. Una licenza

Dettagli

Gestione del database Gidas

Gestione del database Gidas Gestione del database Gidas Manuale utente Aggiornamento 20/06/2013 Cod. SWUM_00535_it Sommario 1. Introduzione... 3 2. Requisiti e creazione del Database Gidas... 3 2.1.1. SQL Server... 3 2.1.2. Requisiti

Dettagli

PARAMETRI 2014 P.I. 2013. Guida all uso ed all installazione

PARAMETRI 2014 P.I. 2013. Guida all uso ed all installazione PARAMETRI 2014 P.I. 2013 Guida all uso ed all installazione 1 INTRODUZIONE Il prodotto PARAMETRI 2014 consente di stimare i ricavi o i compensi dei contribuenti esercenti attività d impresa o arti e professioni

Dettagli

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO 27 Giugno 2011 DOC. ES-31-IS-0B PAG. 2 DI 26 INDICE PREMESSA 3 1. INSTALLAZIONE

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Manuale utente. ver 1.0 del 31/10/2011

Manuale utente. ver 1.0 del 31/10/2011 Manuale utente ver 1.0 del 31/10/2011 Sommario 1. Il Servizio... 2 2. Requisiti minimi... 2 3. L architettura... 2 4. Creazione del profilo... 3 5. Aggiunta di un nuovo dispositivo... 3 5.1. Installazione

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. 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

Dettagli

nstallazione di METODO

nstallazione di METODO nstallazione di METODO In questo documento sono riportate, nell ordine, tutte le operazioni da seguire per una corretta installazione di Metodo. Per procedere con l installazione è necessario avere a disposizione

Dettagli

Progettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto

Progettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto Università degli studi di Napoli Federico II Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica Capri Feb. 2004 Progettazione ed implementazione di un tool per lo sviluppo di applicazioni

Dettagli

Server Web. Apache Tomcat. Modalità di funzionamento. Autore: Roberto Fabbrica rfabbrica@libero.it. Diapo 1. Diapo 2. Diapo 3

Server Web. Apache Tomcat. Modalità di funzionamento. Autore: Roberto Fabbrica rfabbrica@libero.it. Diapo 1. Diapo 2. Diapo 3 1 Server Web In questo modulo verrà analizzato Tomcat, l application server di Apache che supporta JSP. Viste le caratteristiche di stabilità, aderenza alle specifiche JSP, configurabilità e supporto,

Dettagli

DW-SmartCluster (ver. 2.1) Test con macchine virtuali

DW-SmartCluster (ver. 2.1) Test con macchine virtuali DW-SmartCluster (ver. 2.1) Test con macchine virtuali Produttore Project Manager DataWare srl Ing. Stefano Carfagna Versione 1 Pag. 1 Indice Preparazione dell ambiente di test...3 Scenari di test...4 Precondizioni...4

Dettagli

F.O.A.M. Free Object Access Method. Un introduzione. Documento: Introduzione FOAM.doc Versione: 0.03.2k30131 Autore: Mario Meo Colombo

F.O.A.M. Free Object Access Method. Un introduzione. Documento: Introduzione FOAM.doc Versione: 0.03.2k30131 Autore: Mario Meo Colombo F.O.A.M. Free Object Access Method Un introduzione Documento: Introduzione FOAM.doc Versione: 0.03.2k30131 Autore: Mario Meo Colombo Il protocollo FOAM. FOAM (Free Object Access Method) è un protocollo

Dettagli

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

Dettagli

GUIDA DI INSTALLAZIONE. AXIS Camera Station

GUIDA DI INSTALLAZIONE. AXIS Camera Station GUIDA DI INSTALLAZIONE AXIS Camera Station Informazioni su questa guida Questa guida è destinata ad amministratori e utenti di AXIS Camera Station e riguarda la versione 4.0 del software o versioni successive.

Dettagli

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Tutorial 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

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Fiery Print Controller MX-PEX1/MX-PEX2. Guida introduttiva

Fiery Print Controller MX-PEX1/MX-PEX2. Guida introduttiva Fiery Print Controller MX-PEX1/MX-PEX2 Guida introduttiva 2006 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da

Dettagli

DW-SmartCluster (ver. 2.1) Architettura e funzionamento

DW-SmartCluster (ver. 2.1) Architettura e funzionamento DW-SmartCluster (ver. 2.1) Architettura e funzionamento Produttore Project Manager DataWare srl Ing. Stefano Carfagna pag.1/6 INDICE Introduzione...3 ClusterMonitorService...5 ClusterAgentService...6 pag.2/6

Dettagli

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare. Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine

Dettagli

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente

Dettagli

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity.

UBIQUITY 6 e Server. Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. UBIQUITY 6 e Server Privato Introduzione Il documento descrive le novità introdotte con la versione 6 della piattaforma software ASEM Ubiquity. Versione Descrizione Data 1 Prima emissione 21/06/2015 Disclaimer

Dettagli

Ambienti di Sviluppo

Ambienti di Sviluppo Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il

Dettagli

Xpress MANUALE OPERATIVO. Software di configurazione e controllo remoto I440I04_15

Xpress MANUALE OPERATIVO. Software di configurazione e controllo remoto I440I04_15 Xpress I440I04_15 Software di configurazione e controllo remoto MANUALE OPERATIVO INDICE 1 INTRODUZIONE... 3 2 REQUISITI HARDWARE E SOFTWARE... 3 3 SETUP... 3 4 PASSWORD... 4 5 HOME PAGE... 4 6 CANALE...

Dettagli

Manuale utente Volta Control

Manuale utente Volta Control Manuale utente Volta Control www.satellitevolta.com 1 www.satellitevolta.com 2 Volta Control è un tool che permette la progettazione, l implementazione e la gestione di database Cassandra tramite interfaccia

Dettagli

Il Pattern PROXY. Ex presentazione realizzata dallo studente Paolo Melchiori (matricola 65734) nell a.a. 2007-2008

Il Pattern PROXY. Ex presentazione realizzata dallo studente Paolo Melchiori (matricola 65734) nell a.a. 2007-2008 UNIVERSITÀ DEGLI STUDI DI BRESCIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI ELETTRONICA PER L'AUTOMAZIONE Il Pattern PROXY Ex presentazione realizzata

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Scrivere un programma in Java

Scrivere 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/

Dettagli

UBUNTU: gli strumenti di condivisione risorse

UBUNTU: gli strumenti di condivisione risorse UBUNTU: gli strumenti di condivisione risorse condivisione 1o1 a cura di Danio Campolunghi La condivisione di risorse Verranno qui proposti gli strumenti grafici di serie messi a disposizione da Ubuntu

Dettagli

GUIDA OPERATIVA CGM PH-NET CGM PH-NET. CompuGroup Medical Italia spa www.cgm.com/it. 1 di 16

GUIDA OPERATIVA CGM PH-NET CGM PH-NET. CompuGroup Medical Italia spa www.cgm.com/it. 1 di 16 GUIDA OPERATIVA 1 di 16 INDICE 1... 3 1.1 INTRODUZIONE... 3 1.2 INSTALLAZIONE E CONFIGURAZIONE... 3 1.2.1 Prerequisiti... 3 1.2.2 Verifiche preliminari... 4 1.2.3 Attivazione su postazione medico... 4

Dettagli

Software di collegamento Dot Com Installazione Software di collegamento Dot Com

Software di collegamento Dot Com Installazione Software di collegamento Dot Com Software di collegamento Dot Com Installazione Software di collegamento Dot Com CAF Do.C. Spa Sede amministrativa: Corso Francia, 121 d 12100 Cuneo Tel. 0171 700700 Fax 800 136 818 www.cafdoc.it info@cafdoc.it

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

Virtualizzazione VirtualBox 4.1.2 su Host Windows

Virtualizzazione VirtualBox 4.1.2 su Host Windows Virtualizzazione VirtualBox 4.1.2 su Host Windows La virtualizzazione, quando riferita all informatica, consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente.

Dettagli

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati

Dettagli

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2 Release Notes di OpenSPCoop2 i Release Notes di OpenSPCoop2 Release Notes di OpenSPCoop2 ii Copyright 2005-2015 Link.it srl Release Notes di OpenSPCoop2 iii Indice 1 Versione 2.1 1 1.1 Gestione del protocollo

Dettagli