Programmazione CORBA in Java
|
|
- Feliciano Benvenuto Volpi
- 8 anni fa
- Visualizzazioni
Transcript
1 Programmazione CORBA in Java Trasparenze dalle lezioni del corso di Reti di Calcolatori A.A. 2002/2003 Prof. Roberto Baldoni - Ing. Antonino Virgillito
2 CORBA Specifica standard di middleware RPC ad oggetti Gestita dall Object Management Group (OMG) Consorzio a cui afferiscono tutti i maggiori produttori mondiali di HW/SW Standard implementato da numerosi prodotti commerciali e open source
3 CORBA: Caratteristiche Modello ad oggetti Trasparenza di comunicazione Trasparenza di linguaggio Trasparenza di locazione Trasparenza di piattaforma
4 Oggetti CORBA Un oggetto CORBA è un entità astratta che incapsula entità programmative. Un oggetto si manifesta attraverso la sua interfaccia (definizione di attributi e operazioni)
5 Architettura CORBA base Client OBJECT Implementation 1 IDL Client Stub Object Adapter IDL Static skeleton 3 4 ORB 2
6 Trasparenza in CORBA ORB IDL Trasparenza di comunicazione Trasparenza di linguaggio IOR Trasparenza di locazione
7 Object Request Broker Componente che gestisce la comunicazione tra applicazione client e oggetto server Idealmente un Bus software, in realtà è presente su entrambi i lati della comunicazione Due ORB su piattaforme diverse comunicano attraverso un protocollo comune definito nello standard CORBA = Architettura a ORB Comune
8 Interface Definition Language Linguaggio dichiarativo per la definizione delle interfacce degli oggetti CORBA Con l IDL si dichiara cosa fa un oggetto, non come lo fa Definisce tipi di dato standard che vengono mappati nei tipi del linguaggio usato per l implementazione Le interfacce IDL vengono compilate per generare i componenti che instaurano la comunicazione attraverso l ORB (stub e skeleton)
9 Interoperable Object Reference Object Reference Repository ID Endpoint Info Object Key... Ad ogni oggetto server è associato un IOR. Lo IOR contiene informazioni di indirizzamento dell oggetto. Per invocare operazioni su un oggetto, il client deve ottenere il suo IOR. Al momento dell invocazione, l ORB legge le informazioni nell IOR e instaura la connessione con l oggetto
10 Object Adapter Si occupa dell associazione tra gli oggetti e le loro implementazioni Basic Object Adapter (BOA) da CORBA 2.2 sostituito dal... Portable Object Adapter (POA) Permette di definire diversi stili di implementazione attraverso cui ottimizzare l applicazione
11 Sviluppo di un applicazione 2.Compilazione da IDL a Java CORBA in Java 3.Scrittura dell implementazione implementazione oggetto classi skeleton 4.Scrittura del server server 1.Definizione IDL dell oggetto idl2java classi di supporto classi stub client 5.Scrittura del client
12 Sviluppo di una applicazione CORBA in Java e C++ File IDL Compilatore IDL-Java Compilatore IDL-C++ applicazione (JAVA) stub (JAVA) stub (C++) skeleton (C++) implementazione (C++) Applicazione Client ORB Java ORB C++ Implementazione oggetto
13 Sviluppo di un applicazione CORBA in Java: 1. Definizione IDL dell interfaccia dell oggetto conto.idl interface Conto { attribute string numero_conto; }; void deposito(in long amount); long prelievo(in long amount); long saldo();
14 Sviluppo di un applicazione CORBA in Java : 2. Compilazione IDL-Java conto.idl idl2java Conto.java _ContoStub.java ContoOperations.java ContoPOA.java ContoPOATie.java ContoHelper.java ContoHolder.java classi lato client classi lato server classi di supporto
15 Sviluppo di un applicazione CORBA in Java : 3. Implementazione dell oggetto public class ContoImpl extends ContoPOA { private int _saldo; private String _numeroconto; L implementazione eredita lo skeleton public ContoImpl(String nc) { _saldo = 0; _numeroconto = nc; } public void deposito(int amount) { _saldo += amount; } public int prelievo(int amount) { _saldo -= amount; return _saldo; } public int saldo() { return _saldo; } Ogni metodo definito nell interfaccia viene implementato } Gli attributi vengono implementati come una coppia di metodi String numeroconto() { return _numeroconto; } void numeroconto(string nc) { _numeroconto = nc; }
16 Sviluppo di un applicazione CORBA in Java : 4. Scrittura del server public class Server { public static void main( String[] args ) { org.omg.corba.orb orb = org.omg.corba.orb.init(args, null); Inizializzazione ORB try { org.omg.portableserver.poa poa = org.omg.portableserver.poahelper.narrow(orb.resolve_initial_references("rootpoa")); Creazione del riferimento al POA org.omg.corba.object o = poa.servant_to_reference(new ContoImpl("0393")); Attivazione oggetto nel POA PrintWriter ps = new PrintWriter(new FileOutputStream(new File( args[0] ))); ps.println( orb.object_to_string( o ) ); ps.close(); Scrittura dell OR in un file } catch ( Exception e ) { e.printstacktrace(); } } } orb.run(); Attivazione ORB
17 Sviluppo di un applicazione CORBA in Java : 5. Scrittura del client public class Client { public static void main(string args[]) { try { Conto contobancario; Dichiarazione variabile per l oggetto org.omg.corba.orb orb = org.omg.corba.orb.init(args,null); Inizializzazione ORB String IORString; // legge l'ior dal file specificato in args[0] // e lo memorizza in IORString [...] Lettura OR da file contobancario = ContoHelper.narrow(orb.string_to_object(IORString)); Creazione riferimento remoto all oggetto contobancario.deposito(2000); contobancario.prelievo(200); Chiamata operazioni sull oggetto System.out.println("Il saldo del conto" + contobancario.numeroconto() + "è: " + contobancario.saldo()); } catch (Exception e) { e.printstacktrace(); } }
18 Architettura CORBA completa Interface Repository Applicazione Client Implementazione Server Implementation Repository DSI Skeleton Stub DII POA Interceptor Interceptor CORBAservices ORB
19 CORBAServices Insieme di specifiche di servizi utilizzabili da applicazioni CORBA I servizi sono generalmente forniti attraverso oggetti CORBA Un implementazione CORBA non è vincolata a fornire dei servizi
20 CORBAServices Naming Service localizzazione di oggetti attraverso nomi Event Service comunicazione asincrona per notifiche di eventi Notification Service evoluzione dell event che include tipizzazione dei messaggi, filtraggio e supporto QoS
21 CORBAServices Security Service funzioni di autenticazione, certificazione, protezione Trading Service localizzazione oggetti attraverso query su metadati Transaction Service gestione del comportamento transazionale degli oggetti Time Service fornisce il tempo corrente e altre funzioni relative al tempo (generazione timer, calcolo intervalli tra eventi, etc.)
22 Naming Service Associa stringhe (nomi) a object references Vantaggi: I client identificano i server semplicemente attraverso il loro nome Indipendente dalla locazione del servizio
23 Naming service: struttura a grafo = Naming Context = Oggetto Naming Context iniziale = Object Reference
24 Naming Service: l interfaccia Naming Context module CosNaming { interface NamingContext { //... void bind(in Name n, in Object obj) raises (NotFound, CannotProceed, InvalidName, AlreadyBound); Object resolve(in Name n) raises... void bind_context(in Name n, in Object obj) raises... NamingContext bind_new_context(in Name n); NamingContext new_context(); }; }; void unbind(in name n) raises... void rebind(in Name n, Object obj) raises... void destroy();
25 Naming Service: lato server import org.omg.cosnaming.*; org.omg.corba.object o = poa.servant_to_reference(new ContoImpl()); NamingContextExt nc = NamingContextExtHelper.narrow( orb.resolve_initial_references("nameservice")); nc.bind( nc.to_name( contobancario"), o);
26 Naming Service: lato client import org.omg.cosnaming.*; Conto conto; NamingContextExt nc = NamingContextExtHelper.narrow( orb.resolve_initial_references("nameservice")); conto = ContoHelper.narrow(nc.resolve(nc.to_name( contobancario")));
27 Naming Service: gestire il Naming Graph import org.omg.cosnaming.*; org.omg.corba.object o = poa.servant_to_reference(new ContoImpl()); NamingContextExt rootctx = NamingContextExtHelper.narrow( orb.resolve_initial_references("nameservice")); NamingContextExt contictx = rootctx.bind_new_context( rootctx.to_name( conti )); contictx.bind(contictx.to_name( virgi ),o); conti virgi
28 Event Service Consumatore Consumatore push push Modello push Event Channel push push Produttore Produttore direzione del flusso degli eventi Consumatore Consumatore pull pull Event Channel Modello pull pull pull Produttore Produttore
29 Utilizzo dell Event Service (modello Push) L event channel è un oggetto server CORBA Il produttore ottiene l IOR dell event channel e si registra presso di esso Il consumatore implementa una opportuna interfaccia (PushConsumer), in cui un metodo (push) specifica il comportamento in caso di ricezione di un evento Il consumatore si registra presso l event channel Produttore e consumatore ottengono dal canale dei proxy, che sono la rappresentazione locale dell altro lato della comunicazione: Il produttore invia gli eventi al proxy Il consumatore si connette al proxy per ricevere gli eventi Nel modello push, il produttore è il client e il consumatore è il server. Nel modello pull la situazione è speculare
30 CORBA: aspetti dinamici Il tipo Any Type Codes Dynamic Invocation Interface Dynamic Skeleton Interface
31 Any e TypeCode Un oggetto di tipo Any contiene un valore di tipo IDL qualunque. Per inserire ed estrarre il valore, sono definite una serie di operazioni dipendenti dal tipo del valore stesso: insert_<tipo> e extract_<tipo> Un oggetto di tipo TypeCode è la descrizione di un tipo IDL. A ogni tipo IDL è associata una costante definita nell enumerazione TCKind, restituita dall operazione kind()di TypeCode. Inoltre, in TypeCode sono anche definite operazioni per confrontare l uguaglianza di due tipi.
32 Any e TypeCode: esempio // create a new any Any a = org.omg.corba.orb.init().create_any(); // char char ch = 'c'; System.out.print("Passing a char..."); a.insert_char( (char)ch ); System.out.println( s.generic( a ) ); public java.lang.string generic(any a) { String result = "<empty>"; try { switch( a.type().kind().value() ) { case TCKind._tk_char: result = "char: " + a.extract_char(); break; case TCKind._tk_float: result = "Float: " + a.extract_float(); break;...
33 Dynamic Invocation Interface Permette di invocare un metodo su un oggetto senza che sia presente il suo stub. necessario lo stub Static vs. Dynamic stub non necessario l invocazione va definita a tempo di compilazione solo invocazioni sincrone sintassi procedurale l invocazione può essere definita a runtime supporto anche per invocazioni asincrone sintassi piuttosto scomoda
34 DII: l interfaccia Request module CORBA { interface Request { readonly attribute Object target; readonly attribute string operation; readonly attribute NVList arguments; readonly attribute NamedValue result; readonly attribute Environment env; // PIDL //... any add_in_arg(); //... void set_return_type(in ::CORBA::TypeCode tc); any return_value(); void invoke(); void send_oneway(); void send_deferred(); void poll_response(); }; };
35 DII: Richiesta semplice org.omg.corba.object s = nc.resolve( nc.to_name("dii.example")); org.omg.corba.request r = s._request("_get_long_number"); r.set_return_type( orb.get_primitive_tc(org.omg.corba.tckind.tk_long)); r.invoke(); if( r.env().exception()!= null ) throw r.env().exception(); else System.out.println("0: " + r.return_value() );
36 DII: Richiesta con parametri org.omg.corba.request r2 = s._request("add"); r2.add_in_arg().insert_long( 3 );
37 DII: Richieste asincrone org.omg.corba.request r3 = s._request("writenumber"); r3.add_in_arg().insert_long( 5 ); r3.set_return_type( ); r3.send_oneway(); r3.send_deferred(); r3.get_response(); r3.send_deferred(); while(! r3.poll_response() ) { try { Thread.currentThread().sleep(10); } catch ( InterruptedException i){} System.out.print("."); }
38 Portable Interceptors Oggetti che intervengono nel flusso della comunicazione tra client e server Catturano richieste e risposte permettendo di leggerne i dati Diversi punti di intercettazione Ci soffermeremo sui RequestInterceptors
39 RequestInterceptors Due tipi: Client-side Server-side Permettono di Leggere i dati di richieste/risposte Trasferire informazioni di contesto tra client e server Redirezionare le richieste a diversi server Ogni punto di intercettazione corrisponde ad un metodo dell interceptor che viene automaticamente chiamato dall ORB Il comportamento degli interceptor viene definito implementando i metodi
40 RequestInterceptors: punti di intercettazione
41 Interface Repository Contiene descrizione di interfacce di oggetti CORBA. Le interfacce sono descritte in termini di una gerarchia di oggetti CORBA corrispondenti a strutture IDL. ModuleDef InterfaceDef OperationDef InterfaceDef
42 Implementation Repository Contiene informazioni che permettono all ORB di localizzare e attivare implementazioni di oggetti Viene usato per gestire gli oggetti persistenti, quelli che cioè vivono anche dopo che il processo in cui sono attivi è terminato. Gli oggetti persistenti sono registrati presso un ImR che attiva il loro processo quando il client invia una richiesta.
43 Argomenti Avanzati Portable Object Adapter Protocolli GIOP e IIOP Mapping IDL-Java
44 Il Portable Object Adapter Il POA è responsabile dell associazione tra gli oggetti CORBA e le loro implementazioni in un linguaggio di programmazione (servants) In pratica, le funzioni del POA sono: creare gli Object Reference gestire il ciclo di vita degli oggetti inviare le richieste effettuate su un oggetto al rispettivo servant
45 Object References Entità del POA Il POA crea gli OR. Una applicazione può creare un oggetto, e quindi un OR, anche senza incarnarlo attraverso un servant Object Identifiers Identificano un oggetto all interno di un POA. L OID di un oggetto viene inserito all interno del suo OR. Possono essere decisi dal POA o forniti dall applicazione Servants Un applicazione può creare e registrare un servant presso un POA per incarnare un oggetto. In alternativa, può fornire un particolare oggetto (servant manager) che può creare servant quando necessario oppure un servant di default (default servant) che serve tutte le richieste di tutti gli oggetti di un POA. Un servant può incarnare allo stesso tempo uno o più oggetti
46 Relazione tra oggetti e servant oggetto esistente oggetto attivo oggetto non esistente creazione attivazione servant incarnato disattivazione distruzione oggetto non esistente oggetto non attivo servant eterealizzato
47 POA Manager Entità del POA (2) Oggetto che mantiene lo stato di elaborazione dei POA in un ORB. Attraverso di esso è possibile disattivare i POA oppure bloccare o scartare tutte le richieste dirette ad essi. Active Object Map Tabella che mantiene le associazioni tra OID e servant per gli oggetti attivi in un POA
48 Gerarchia di POA Un applicazione server può mantenere POA multipli, per assegnare diversi stili di implementazione agli oggetti I POA vengono organizzati in una gerarchia Il POA di default è la radice della gerarchia (RootPOA) e viene creato dall ORB Ogni POA ha il proprio stile di implementazione, definito da specifiche proprietà (policies)
49 Gerarchia dei POA ORB RootPOA Il POAManager può assumere uno tra 4 stati: active, holding, discarding, inactive POA Manager POA a POA b POA x POA y
50 POA Policies Proprietà che definiscono lo stile di implementazione di un POA Le politiche specificano il comportamento di tutti gli oggetti registrati in uno stesso POA Le politiche possono essere stabilite solo alla creazione del POA
51 POA Policies: Casi d uso Oggetti Persistenti Alcuni oggetti devono mantenere identità e stato tra diverse esecuzioni del loro server Attivazione oggetti su richiesta Per ottimizzare l utilizzo della memoria, un oggetto può essere attivato solamente al primo utilizzo (ed eventualmente disattivato in seguito) Wrapping di Database Ad ogni tabella di un DB può essere fatto corrispondere un oggetto CORBA. Per aumentare la scalabilità rispetto all utilizzo della memoria, tutti gli oggetti possono essere implementati da uno stesso servant
52 POA Policies Modello di Threading ORB_CTRL_MODEL SINGLE_THREAD_MODEL Assegnazione OID USER_ID SYSTEM_ID Esecuzione richieste USE_ACTIVE_OBJECT_MAP_ONLY USE_DEFAULT_SERVANT USE_SERVANT_MANAGER Conservazione Servant RETAIN NON_RETAIN
53 Servant Manager Oggetto registrato in un POA, attivato da esso in callback Fornisce la possibilità di attivare oggetti quando il POA riceve una richiesta per un oggetto non attivo Deve ereditare una interfaccia che contiene due metodi che vengono invocati in callback dal POA durante il ciclo di vita dell oggetto Lo sviluppatore implementa questi metodi per gestire la creazione dei servant Un servant manager può essere di due tipi, in base al valore della politica di conservazione servant
54 Default Servant Oggetto a cui, con la politica USE_DEFAULT_SERVANT, vengono redirette dal POA tutte le richieste per cui non viene trovato un servant nella AOM Deve ereditare la classe Servant Va registrato nel POA con il metodo set_servant In genere, implementato in DSI per non essere vincolato ad un tipo di oggetto
55 Esempio POA: Oggetti Persistenti Necessario mantenere l identità dell oggetto tra diverse esecuzioni del server Politica USER_ID L oggetto viene attivato con il metodo activate_object_with_id Lo sviluppatore deve gestire il salvataggio e il recupero dello stato dell oggetto
56 Esempio Servant Manager: Attivazione oggetti su richiesta Politica USE_SERVANT_MANAGER Se un oggetto non è attivo, il POA invoca il servant manager Lo sviluppatore deve implementare il servant manager e registrarlo nel POA Politica RETAIN Il servant manager implementa l interfaccia ServantActivator Lo sviluppatore deve implementare l operazione incarnate, nella quale deve essere creato un servant, che viene poi ritornato
57 Esempio Default Servant/DSI: Wrapping Database Politica USE_DEFAULT_SERVANT Il DB viene rappresentato con una interfaccia per tabella, un oggetto per record Tutti gli oggetti vengono incarnati dal default servant, implementato in DSI per gestire tutte le interfacce Benefici: accesso tipizzato lato client, mantenendo scalabilità lato server
58 Interoperabilità in CORBA: il protocollo GIOP La specifica del protocollo GIOP è composta dai seguenti elementi: Assunzioni sul trasporto Orientato alla connessione Affidabile Notifica le perdite di connessione Fornisce l astrazione di flusso di bytes Common Data Representation (CDR) Definisce una codifica binaria di tutti i tipi IDL per la trasmissione Formati di messaggi
59 Messaggi GIOP 1.1 Tipo messaggio Request Reply CancelRequest LocateRequest LocateReply CloseConnection MessageError Fragment Origine Server Client Client Client Server Server Client o Server Client o Server
60 Struttura di un messaggio GIOP 12-byte GIOP Message Header Variable-length GIOP Message Body G I O P Byte Message Size module GIOP { struct Version { octet major; octet minor; }; // PIDL struct MessageHeader_1_1 { char magic[4]; // The string GIOP Version GIOP_version; octet flags; octet message_type; unsigned long message_size; };
61 Formato del messaggio Request 12-byte GIOP Header Variable-length GIOP Request Header Variable-length GIOP Request Body module GIOP { //PIDL //... struct RequestHeader_1_1 { IOP::ServiceContextList unsigned long boolean octet sequence<octet> string Principal }; request_id; response_expected; reserved[3]; object_key; operation; requesting_principal; //... };
62 Il protocollo IIOP Mapping del protocollo GIOP sul TCP/IP. Consiste nella specifica degli IOR e in particolare nella codifica delle informazioni di indirizzamento TCP/IP Object Reference Repository ID Endpoint Info Object Key... module IIOP { struct Version { octet major; octet minor; }; //PIDL struct ProfileBody_1_1 { Version string unsigned short sequence<octet> sequence<iop::taggedcomponent> }; }; iiop_version; host; port; object_key; components;
63 Struttura di un IOR IOR type_id profile... profile TaggedProfile profile_id profile_data ProfileBody version host port object_key TaggedComponent... TaggedComponent tag component_data
64 Mapping IDL-Java Documento OMG che definisce le regole necessarie per la portabilità delle applicazioni tra ORB Java. In particolare: La corrispondenza tra tipi IDL e tipi Java Le classi Java generate dal compilatore IDL e le relazioni che intercorrono tra esse e altre classi CORBA.
65 Classi Holder Permettono il passaggio dei parametri di uscita in Java DoubleHolder doh = new DoubleHolder(); s.addnums( (double)5, (double)6, doh); System.out.println("addNums 5 and 6 gives: " + doh.value);
66 Stub e Skeleton: gerarchia delle classi interface org.omg.corba.object org.omg.portableserver.servant org.omg.corba.objectimpl interface TestOperations interface Test TestPOA TestPOATie _TestStub TestOperationsImpl TestImpl
67 Stub: meccanismo di invocazione richiesta public int foo(java.lang.string arg1, org.omg.corba.floatholder argout) { //... org.omg.corba.portable.inputstream _is = null; try { org.omg.corba.portable.outputstream _os = _request( "foo", true); _os.write_string(arg1); _is = _invoke(_os); int _result = _is.read_long(); argout._read(_is); return _result; } //... }
68 Skeleton: meccanismo di servizio richiesa public org.omg.corba.portable.outputstream _invoke(string method, org.omg.corba.portable.inputstream _input, org.omg.corba.portable.responsehandler handler) throws org.omg.corba.systemexception //... switch ( opsindex.intvalue() ) { case 0: // foo { java.lang.string _arg0=_input.read_string(); org.omg.corba.floatholder _arg1= new org.omg.corba.floatholder(); _out = handler.createreply(); _out.write_long(foo(_arg0,_arg1)); _arg1._write(_out); break; } } //... }
Programmazione CORBA in Java
Programmazione CORBA in Java Ing. Andrea Santoro http://www.dis.uniroma1.it/~santoroa santoro@dis.uniroma1.it (codice preparato dall ing. Alessandro Termini) Overview Naming Service Motivazioni Name Service
DettagliCORBA ( 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
DettagliCorso 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
DettagliCORBA. CORBA facilita lo sviluppo di sistemi distribuiti fornendo
CORBA CORBA facilita lo sviluppo di sistemi distribuiti fornendo Una infrastruttura per far comunicare oggetti in un sistema distribuito Un set di servizi utili Un supporto che permette ad applicazioni
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
DettagliCorso di Reti di Calcolatori M
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Invocazione Dinamica e Invocazioni Asincrone Luca Foschini Anno accademico 2014/2015 Agenda
DettagliDistributed Object Computing
Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi
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
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
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
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: 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
DettagliCorso di Reti di Calcolatori M
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Politiche di Attivazione Lato Server Luca Foschini Anno accademico 2014/2015 Portable Object
DettagliCorso di Reti di Calcolatori M
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori M CORBA - Implementazione Politiche di Attivazione Lato Server Luca Foschini Anno accademico 2013/2014 Portable Object
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
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
Dettagliappunti delle lezioni Architetture client/server: applicazioni client
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente
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ò
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
DettagliSommario (1) Object Request Broker
Università di Roma RomaTre Sommario (1) Sommario (2) Introduzione a CORBA Claudio Morgia 1999 Architetture distribuite Object Request Broker Contratti IDL IR + DSI + DII Strutture Client, Object Implementation
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)
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliSCD. Il modello CORBA. Sistemi distribuiti: il modello CORBA. Architettura del modello 2. Architettura del modello 3. Architettura del modello 1
Architettura del modello 2 Il modello CA Anno accademico 2017/18 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Modello cliente-servente a oggetti distribuiti La
DettagliComunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
Dettagli12 - 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,
DettagliCORBA & DCOM. Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola. La Object Management Architecture
CORBA & DCOM Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Sommario La Object Management Architecture CORBA La programmazione di applicazioni CORBA in Java CORBA vs. RMI DCOM
DettagliProgrammazione dei socket con TCP #2
I Il Server e il Client si scambiano messaggi attraverso la rete mediante un dell API (Application Programming Interface) Telematica II 10. Esercitazione/Laboratorio 3 Server ports Clients user space Socket
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
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
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:
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
DettagliProgettazione 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
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliAlgebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Dettagli10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.
ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31
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,
DettagliMain 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
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
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
Dettagli13. Chain of Responsibility
Chain of Responsibility 92 13. Chain of Responsibility (GoF pag. 223) 13.1. Descrizione Consente di separare il mittente di una richiesta dal destinario, in modo di consentire a più di un oggetto di gestire
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliScuola Superiore Sant Anna. Progetto parte Unix. AA 2008-2009: Distributed File Repository
Scuola Superiore Sant Anna Progetto parte Unix AA 2008-2009: Distributed File Repository Distributed File Repository Descrizione del sistema da realizzare Progettare e implementare un server che mantiene
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
DettagliLuca 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
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java
DettagliCreare client statici
Client statico Creare client statici Un client statico crea, a partire dal WSDL di un servizio, un insieme di classi di supporto client-side (stub) Sono necessari solo 2 passi: 1. parsing del WSDL pubblicato
DettagliTest 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
DettagliLinguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
DettagliLe variabili. Olga Scotti
Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.
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
DettagliURI. Introduzione. Pag. 1
URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili
Dettagli!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
DettagliComputazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2
Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:
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
DettagliArchitetture software
Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura
Dettaglicostruttori e distruttori
costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,
DettagliCorso di Informatica
Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio
DettagliCORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci
CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle
DettagliJava e CORBA. Introduzione
2001 proprietà di MokaByte s.r.l. tutti i diritti riservati è vietata la riproduzione non autorizzata anche parziale Java e CORBA DI GIANLUCA MORELLO Introduzione Nell era di Internet e delle grandi Intranet
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliJDBC versione base. Le classi/interfacce principali di JDBC
JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice
DettagliIntroduzione a CORBA
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliMDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC
MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate
DettagliProgrammazione 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");
DettagliProgrammazione 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
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliArchitetture Web: un ripasso
Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede
DettagliIl Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
Dettagliappunti delle lezioni Architetture client/server: applicazioni server
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante
DettagliOggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA
Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata
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
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il primo
DettagliLuca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client
Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un
Dettagli13 - 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/
DettagliSOMMARIO 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
Dettagli15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
15 - Packages 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
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
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
DettagliParola chiave extends
Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi
DettagliStrumenti per la gestione della configurazione del software
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo ing. Luigi Suarato candidato Pasquale Palumbo Matr. 534/000021 MANUTENZIONE DEL SOFTWARE Il Configuration
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
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
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:
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture
DettagliIntroduzione a Classi e Oggetti
Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto
DettagliP2-11: BOOTP e DHCP (Capitolo 23)
Autunno 2002 Prof. Roberto De Prisco -11: BOOTP e DHCP (Capitolo 23) Università degli studi di Salerno Laurea e Diploma in Informatica Indirizzi IP dinamici 11.2 Un indirizzo IP statico è assegnato ad
DettagliIl Web-Service SDMX dell ISTAT
Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento
DettagliARCHITETTURA DI RETE FOLEGNANI ANDREA
ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce
DettagliPer 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
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
Dettagli