Invocazione remota. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. Distributed Systems: Concepts and Design, fifth edition. Pearson, 2012.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Invocazione remota. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. Distributed Systems: Concepts and Design, fifth edition. Pearson, 2012."

Transcript

1 Luca Cabibbo Architettura dei Sistemi Software dispensa asw430 marzo 2017 Knowing a failure has occurred is more important than the actual failure. K. Kjos 1 - Fonti Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. Distributed Systems: Concepts and Design, fifth edition. Pearson, Tanenbaum, A.S. and Van Steen, M. Distributed Systems: Principles and Paradigms, second edition. Pearson, Liu, M.L. Distributed Computing: Principles and Applications. Pearson, Chapter 7, Distributed Objects Chapter 8, Advanced RMI 2

2 - Obiettivi e argomenti Obiettivi introdurre l invocazione remota, nel contesto di RPC e di RMI discutere la semantica dell invocazione remota Argomenti introduzione all invocazione remota chiamata di procedure remote (RPC) invocazione di metodi remoti (RMI) semantica dell invocazione remota discussione 3 * Introduzione all invocazione remota L invocazione remota è una delle principali astrazioni di programmazione distribuita implementate dal middleware consente ad un componente di chiamare/invocare un operazione di un componente remoto affinché il componente remoto esegua l operazione richiesta questo paradigma di programmazione è implementato da molte soluzioni di middleware la chiamata di procedure remote (RPC) l invocazione di metodi remoti (RMI) è disponibile anche nelle tecnologie a componenti e a servizi anche se un invocazione remota può essere scritta nel codice in modo simile ad un invocazione locale, la semantica delle invocazioni remote è significativamente differente da quella delle invocazioni locali 4

3 * Chiamata di procedure remote (RPC) La chiamata di procedure remote (RPC, Remote Procedure Call) è un astrazione di programmazione distribuita fondamentale è una delle prime soluzioni di middleware realizzate un evoluzione di questa astrazione è comunque disponibile anche nelle soluzioni di middleware più moderne consente ad un componente di chiamare (ovvero, di invocare) una procedura (ovvero, un operazione) di un componente remoto affinché il componente remoto esegua l operazione richiesta è dunque di una modalità di comunicazione orientata alle azioni, ovvero all invocazione di operazioni remote si tratta di un astrazione distribuita dell invocazione di operazioni locali, che è presente in tutti i linguaggi di programmazione imperativi ma con una semantica differente 5 Remote Procedure Call RPC (Remote Procedure Call) In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in another address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. [Wikipedia, 2016] Attenzione, il fatto che sia scritto nello stesso modo non implica che funzioni nello stesso modo. 6

4 Una chiamata di procedura locale process A call Y(arg1, arg2) X Y return value 7 Una chiamata di procedura remota process A process B call Y(arg1, arg2) X Y return value 8

5 Una chiamata di procedura remota process A process B request call Y(arg1, arg2) X Y return value response 9 Paradigma dell RPC Una chiamata di procedura remota da un punto di vista sintattico, la procedura remota Y viene chiamata da X come se fosse una chiamata locale in realtà, la procedura Y vive in un processo diverso da quello di X in prima approssimazione, la modalità di esecuzione è basata su legame dei parametri esecuzione (remota) dell operazione/procedura chiamata restituzione del risultato l implementazione è basata su un protocollo richiesta-risposta 10

6 Realizzazione di RPC X stub skeleton Y call Y(...) marshalling send request request call Y(...) marshalling send replay unmarshalling local procedure call call Y(...) execute return value unmarshalling return value return value response 11 Realizzazione di RPC stub La comunicazione tra le due procedure X e Y avviene mediante un connettore realizzato come una coppia di moduli intermedi che si occupano degli aspetti della distribuzione il chiamante X fa una chiamata locale a una procedura locale (anch essa di nome Y) a un modulo (stub) che è un rappresentante locale della vera procedura Y del server remoto lo stub si occupa di effettuare la chiamata remota alla procedura remota Y effettua il marshalling dei parametri invia un messaggio di richiesta al server (ad es., tramite socket) inoltre lo stub riceverà il messaggio di risposta alla chiamata remota effettuerà l unmarshalling dei risultati restituirà questi risultati alla procedura chiamante X 12

7 Realizzazione di RPC skeleton In realtà, il messaggio inviato dallo stub non viene ricevuto direttamente dalla procedura remota Y piuttosto, il messaggio di richiesta viene ricevuto (ad es., tramite socket) da un modulo (skeleton) che è un rappresentante locale (lato server) della procedura chiamante lo skeleton si occupa di effettuare la chiamata alla procedura (per lui locale) Y effettua l unmarshalling della richiesta e dei parametri effettua la chiamata locale alla procedura Y e riceve i risultati della chiamata effettua il marshalling dei risultati invia un messaggio di risposta al client (ad es., tramite socket) 13 Realizzazione di RPC proxy Lo stub e lo skeleton sono intermediari nella comunicazione chiamati anche proxy proxy lato client e proxy lato server proxy è un design pattern un intermediario, rappresentante di un altro oggetto, di cui ha la stessa interfaccia un proxy [GoF] fornisce un surrogato o un segnaposto per un altro oggetto per controllarne l accesso l uso di stub e skeleton nasconde al programmatore il fatto che la comunicazione è distribuita della comunicazione distribuita (e dei suoi dettagli) si occupano i proxy 14

8 -RPC e IDL Un aspetto fondamentale della tecnologia RPC (e successive) è la generazione automatica di stub e skeleton basata su un opportuno linguaggio per la definizione di interfacce Interface Definition Language (IDL) realizzata da un opportuno compilatore d interfacce client code client process language specific call interface client stub development environment IDL service interface IDL compiler server process language specific call interface server skeleton server code 15 RPC e IDL Uso pragmatico e semplificato di RPC scrittura dell interfaccia del servizio tramite l IDL l interfaccia di un servizio remoto descrive: (i) quali sono le operazioni e (ii) quali sono i tipi usati dalle operazioni (per i parametri e i valori restituiti) la compilazione dell interfaccia produce sia codice lato client (stub) che codice lato server (skeleton) per le procedure del servizio completamento del codice lato server, vanno implementate le procedure del servizio inoltre, nello skeleton in opportuni segnaposti vanno chiamate queste procedure che implementano il servizio lato client, le chiamate alle procedure vanno rivolte allo stub il programma server va mandato in esecuzione sul server e il servizio va registrato presso il sistema operativo 16

9 - Semantica La chiamata di una procedura remota viene scritta, sintatticamente, allo stesso modo di una chiamata locale ma la semantica di una chiamata di procedura remota è la stessa di una chiamata locale? no, non può essere la stessa, poiché ci sono alcune differenze importanti tra chiamate remote e locali, tra cui le procedure sono eseguite in processi e spazi degli indirizzi differenti ci possono essere problemi di comunicazione tra i processi distribuiti bisogna gestire il legame dei parametri e dei risultati questi aspetti sono discussi più avanti 17 * Invocazione di metodi remoti (RMI) L invocazione di metodi remoti (RMI, Remote Method Invocation) è un estensione orientata agli oggetti della chiamata di procedure remote (RPC) RMI fornisce un servizio di comunicazione tra componenti distribuiti realizzati con tecnologie a oggetti e chiamati oggetti distribuiti (o oggetti remoti) ovvero, oggetti in esecuzione in processi separati in particolare, RMI consente ad un oggetto (nel ruolo di client) in esecuzione in un processo di invocare un metodo di un oggetto (nel ruolo di server) in esecuzione in un processo remoto più in generale, RMI sostiene un astrazione di programmazione distribuita sulla base di un modello ad oggetti distribuiti che estende il tradizionale modello ad oggetti ( locali ) offerto dai linguaggi di programmazione ad oggetti 18

10 - Modello a oggetti non distribuiti Ciascun oggetto incapsula stato e comportamento Gli oggetti risiedono solitamente in un singolo processo Ciascun oggetto implementa un interfaccia (definita implicitamente o esplicitamente) l interfaccia è una specifica delle operazioni che possono essere invocate Un oggetto può essere usato conoscendone il riferimento univoco univoco nel processo in cui vive l oggetto ad es., usato in un invocazione come destinatario i riferimenti agli oggetti sono di solito implementati come puntatori per questo, hanno significato solo nell ambito del processo in cui vive l oggetto referenziato 19 - Modello a oggetti distribuiti Ciascun oggetto incapsula stato e comportamento Oggetti locali e oggetti remoti gli oggetti locali sono visibili localmente a un processo gli oggetti remoti possono essere distribuiti in più processi Ciascun oggetto remoto implementa un interfaccia remota (definita esplicitamente) l interfaccia remota è una specifica delle operazioni che possono essere invocate remotamente A ciascun oggetto remoto viene assegnato un riferimento remoto che è univoco in rete un oggetto remoto può essere usato conoscendone il suo riferimento remoto ad es., per specificare il destinatario di un invocazione remota 20

11 Oggetti e metodi remoti e locali process A remote invocation B local C invocation local E invocation local invocation D remote invocation F host 21 Oggetti remoti e loro interfacce remoteobject Data remote interface m1 m2 implementation { m3 of methods m4 m5 m6 local interface 22

12 - Architettura di RMI object registry (broker) client object client proxy runtime support network support server object server proxy runtime support network support logical data path physical data path 23 Dinamica di RMI Un processo (server) può esportare uno o più oggetti distribuiti ciascun oggetto distribuito è di un tipo remoto definito da un interfaccia remota è identificato da un riferimento remoto univoco in rete RMI prevede la presenza di un object registry (o broker) è un servizio distribuito per gestire i riferimenti remoti degli oggetti distribuiti ad es., per consentire l accesso ad un oggetto remoto a partire da un identificatore simbolico gli oggetti distribuiti possono essere registrati presso l object registry Un processo (client) può consultare l object registry per ottenere un riferimento remoto ad un oggetto distribuito dopo di che, il client può interagire con l oggetto remoto effettuando delle invocazioni di metodi remoti 24

13 - Implementazione di RMI L implementazione di RMI richiede diversi oggetti e moduli object A client proxy for B Request server skeleton & dispatcher for B s class remote object B Reply Remote Communication reference module module Communication module Remote reference module alcuni moduli sono standard altri moduli o classi sono generati automaticamente da un compilatore di interfacce oppure sono virtuali sulla base di meccanismi di riflessione 25 Implementazione di RMI Proxy (proxy lato client) rappresentante locale di un oggetto remoto tramite il proxy, l oggetto client comunica logicamente con l oggetto server implementa l interfaccia remota per adattare e inoltrare le richieste all oggetto remoto e gestire le sue risposte ha lo scopo di nascondere gli aspetti della comunicazione fisica ad es., la posizione dell oggetto server (viene visto dal client mediante il proxy), marshalling dei dati e unmarshalling dei risultati, invio e ricezione di messaggi in pratica, questo proxy delega gran parte del lavoro al modulo di comunicazione 26

14 Implementazione di RMI Moduli di comunicazione il protocollo richiesta-risposta viene eseguito da una coppia di moduli di comunicazione cooperanti per scambiarsi messaggi richiesta e messaggi risposta i due moduli di comunicazione hanno un ruolo fondamentale nella definizione della semantica per l invocazione di metodi remoti discussa più avanti questi moduli implementano di solito una semantica at most once (descritta dopo) Modulo dei riferimenti remoti responsabile delle corrispondenze tra riferimenti locali e remoti e della creazione di riferimenti remoti tavola degli oggetti remoti elenco degli oggetti remoti offerti elenco dei proxy conosciuti 27 Implementazione di RMI Dispatcher il server ha un dispatcher per ogni classe di oggetto remoto il dispatcher riceve messaggi richiesta dal modulo di comunicazione seleziona l operazione da eseguire ne delega la gestione allo skeleton Skeleton (proxy lato server) proxy del client nel lato server il server ha uno skeleton per ogni classe di oggetto remoto implementa metodi corrispondenti a quelli dell interfaccia remota ha lo scopo di estrarre i parametri dal messaggio richiesta e invocare il metodo corrispondente nell oggetto remoto poi aspetta il risultato dell esecuzione del metodo, e quindi costruisce e invia il messaggio risposta 28

15 Implementazione di RMI Compilatore di interfacce responsabile della generazione delle classi per i proxy sia per lo stub che per dispatcher e skeleton a partire dall interfaccia del servizio Object registry (o broker) gestisce le corrispondenze tra nomi simbolici (stringhe) e riferimenti remoti consente ai client di ottenere riferimenti a oggetti remoti 29 -RPC e RMI La tecnologie RMI è una variante della tecnologia RPC entrambe offrono un astrazione di programmazione distribuita di invocazione remota RPC adotta un modello procedurale semplice, mentre RMI adotta un modello ad oggetti RMI assume la presenza di più oggetti remoti, distribuiti in rete questo richiede l uso di un elemento aggiuntivo (un object registry o un broker) per selezionare l oggetto remoto con cui interagire per il resto, le due tecnologie sono simili, poiché sono entrambe basate su un paradigma di comunicazione distribuita analogo per l invocazione di operazioni remote nel resto di questa dispensa, ci concentreremo sulla semantica dell invocazione di operazioni remote trascurando le differenze tra procedure e metodi e tra RPC e RMI 30

16 * Semantica dell invocazione remota Nell ambito di un sistema distribuito, consideriamo un client C che effettua un invocazione remota di un operazione O di un servizio S a causa di questa invocazione, nel sistema distribuito vengono scambiati messaggi in rete e vengono svolte alcune attività (tra cui, forse, l esecuzione dell operazione O) alla fine, ci sono due possibilità per il client C C riceve un risultato oppure la segnalazione di un eccezione funzionale (la consideriamo la stessa cosa) oppure, C riceve la segnalazione di un eccezione remota a fronte di queste conclusioni, che cosa può capire C di quanto è effettivamente successo nel sistema? la semantica dell invocazione remota ha a che fare appunto con ciò che succede a causa di un invocazione remota in particolare, la semantica dell invocazione remota è differente da quella dell invocazione locale, per diversi motivi 31 Semantica dell invocazione remota Nei sistemi distribuiti si possono verificare diversi fallimenti nella comunicazione in particolare ci possono essere messaggi persi o tramessi male messaggi trasmessi più volte messaggi trasmessi fuori ordine Noi qui consideriamo la possibilità di perdere messaggi la realizzazione del protocollo richiesta-risposta per gestire l invocazione remota deve considerare e gestire la possibilità di perdere i messaggi di richiesta e/o i messaggi di risposta sono possibili diverse opzioni per la gestione della perdita di richieste e/o di risposte ripetizione del messaggio di richiesta lato client filtraggio di richieste duplicate lato server ritrasmissione di risposte lato server 32

17 Semantica dell invocazione remota Il protocollo richiesta-risposta può essere implementato in modi diversi in particolare, usando (oppure non usando) le seguenti opzioni ciascuna opzione richiede anche le precedenti ripetizione del messaggio di richiesta lato client fino a quando non arriva una risposta o comunque per un numero massimo di volte filtraggio di richieste duplicate lato server il client assegna un identificatore alle proprie richieste il server mantiene una storia delle richieste ritrasmissione di risposte lato server il server mantiene una storia delle richieste e delle risposte 33 Semantica dell invocazione remota L uso combinato di queste opzioni dà luogo a un ventaglio di semantiche differenti per l invocazione di operazioni remoti maybe non ripetere richieste at least once ripeti richieste, non filtrare duplicati, riesegui l operazione at most once ripeti richieste, filtra duplicati, non rieseguire l operazione, ritrasmetti risposte Queste semantiche sono differenti tra loro infatti, nei tre casi, il client di un operazione remota può capire cose differenti quando gli viene restituito il controllo con la restituzione di un risultato o con la segnalazione di un eccezione remota 34

18 Semantica dell invocazione remota Possibili semantiche per l invocazione remota maybe non ripetere richieste se il client riceve un risultato vuol dire che l operazione è stata eseguita una sola volta se invece il client riceve la segnalazione di un eccezione remota vuol dire o che l operazione non è stata mai eseguita oppure che è stata eseguita (ma solo una volta) è un opzione per Corba at least once ripeti richieste, non filtrare duplicati, riesegui l operazione at most once ripeti richieste, filtra duplicati, non rieseguire l operazione, ritrasmetti risposte La semantica dell invocazione locale è invece exactly once 35 Semantica dell invocazione remota Possibili semantiche per l invocazione remota maybe non ripetere richieste at least once ripeti richieste, non filtrare duplicati, riesegui l operazione se il client riceve un risultato vuol dire che l operazione è stata eseguita una volta oppure anche più volte se invece il client riceve la segnalazione di un eccezione remota vuol dire che l operazione è stata eseguita una volta o anche più volte, oppure che l operazione non è stata mai eseguita at most once ripeti richieste, filtra duplicati, non rieseguire l operazione, ritrasmetti risposte La semantica dell invocazione locale è invece exactly once 36

19 Semantica dell invocazione remota Possibili semantiche per l invocazione remota maybe non ripetere richieste at least once ripeti richieste, non filtrare duplicati, riesegui l operazione at most once ripeti richieste, filtra duplicati, non rieseguire l operazione, ritrasmetti risposte se il client riceve un risultato vuol dire che l operazione è stata eseguita esattamente una volta se invece il client riceve la segnalazione di un eccezione remota vuol dire o che l operazione è stata mai eseguita oppure che è stata eseguita (ma solo una volta) è la semantica di default per Java RMI e Corba La semantica dell invocazione locale è invece exactly once 37 Semantica dell invocazione remota Possibili semantiche per l invocazione remota maybe non ripetere richieste at least once ripeti richieste, non filtrare duplicati, riesegui l operazione at most once ripeti richieste, filtra duplicati, non rieseguire l operazione, ritrasmetti risposte La semantica dell invocazione locale è invece exactly once l operazione viene eseguita esattamente una volta un invocazione può terminare solo con la restituzione di un risultato non è possibile nessuna eccezione remota Si noti che nessuna delle tre semantiche per l invocazione remota corrisponde alla semantica exactly once dell invocazione locale 38

20 Discussione Dunque, ci sono tre possibili semantiche per l invocazione remota queste semantiche differiscono tra loro per ciò che è in grado di capire il client di un operazione quando il client riceve un risultato oppure la segnalazione di un eccezione funzionale (la consideriamo la stessa cosa) oppure il client riceve la segnalazione di un eccezione remota nessuna di queste tre semantiche dell invocazione remota corrisponde alla semantica exactly once dell invocazione locale 39 - Prestazioni Un altra differenza tra le invocazioni remote e le invocazioni locali è relativa ai tempi di comunicazione il protocollo richiesta-risposta introduce un overhead nella comunicazione remota per lo scambio dei messaggi di richiesta e di risposta per le attività di marshalling e unmarshalling per minimizzare la penalizzazione imposta dalle invocazioni remote, in genere si cerca di minimizzare il numero di invocazioni remote di solito definendo operazione remote con una granularità abbastanza grossa 40

21 - Concorrenza Le operazioni remote possono essere eseguite in modo concorrente tra loro l esecuzione di un operazione remota avviene di solito in un popup thread distinto del componente remoto diversamente dall esecuzione di un operazione locale, che avviene nello stesso thread del chiamante l esecuzione di un operazione remota viene di solito gestita in uno stack dedicato alla chiamata remota diversamente dall esecuzione di un operazione locale, che avviene nello stesso stack del chiamante è possibile l esecuzione concorrente di operazioni remote attenzione, è anche possibile che operazioni eseguite in modo concorrente accedano a risorse condivise tra le diverse esecuzioni nel caso, la possibile concorrenza va gestita in modo opportuno 41 - Invocazione asincrona e callback Un invocazione remota può avere una latenza alta soprattutto se l operazione invocata può avere un durata lunga per questo, sono state definite alcune varianti dell invocazione remota invocazione asincrona il chiamante effettua una chiamata non bloccante dell operazione remota la chiamata restituisce immediatamente un oggetto (chiamato promise oppure future) con cui il chiamante potrà poi accedere al risultato (o all esito) dell operazione invocazione sincrona differita il chiamante effettua una prima chiamata dell operazione remota il server restituisce solo una conferma (ack) il chiamante, successivamente, effettua una seconda chiamata per accedere al risultato (o all esito) dell operazione 42

22 Invocazione asincrona e callback Un invocazione remota può avere una latenza alta soprattutto se l operazione invocata può avere un durata lunga per questo, sono state definite alcune varianti dell invocazione remota callback il chiamante, al momento dell invocazione remota (asincrona), specifica un operazione (chiamata callback) che l oggetto remoto dovrà invocare per comunicare il risultato (o l esito) dell operazione 43 - Legame dei parametri L invocazione di operazioni remote è di solito basata su un meccanismo di legame dei parametri per valore-risultato in cui, in un operazione, si fa distinzione tra parametri di input (in) e risultati/parametri di output (out) Esempio: calcola le radici di un equazione di secondo grado intestazione dell operazione (omettendo i tipi) calcolaradici(in a, in b, in c, out x1, out x2) invocazione dell operazione calcolaradici(1, 4, 2, radice1, radice2) In alcuni linguaggi (come Java), questo tipo di legame è disponibile in una versione limitata con un solo risultato, legato mediante un assegnazione double sqrt(double x) r = sqrt(125) 44

23 Legame dei parametri per valore-risultato Legame dei parametri per valore-risultato al momento dell invocazione dell operazione, vengono legati i parametri di input i parametri attuali di input (lato client) sono valori questi valori sono usati come valori iniziali per i parametri formali (lato server), che sono variabili quando termina l esecuzione dell operazione, vengono legati i risultati ovvero, i parametri di output i risultati di output (lato server) sono valori questi valori sono usati come valori da assegnare ai parametri attuali di output (lato client), che sono (devono essere) variabili 45 Legame di dati strutturati e oggetti Una differenza importante tra la semantica dell invocazione remota e quella dell invocazione locale è come avviene il legame di dati strutturati come oggetti o record in un invocazione locale, quando un parametro (o un risultato) è un oggetto (o un record, passato per riferimento), allora il valore che viene passato come parametro attuale è un riferimento all oggetto questo ha senso perché i riferimenti (che di solito sono implementati come puntatori) hanno significato nell ambito di un singolo processo inoltre, il passaggio di un riferimento rende possibile effetti collaterali sugli oggetti passati come parametri ovvero, il chiamato può modificare l oggetto passato come parametro, e il chiamante può osservare questa modifica oppure, il chiamante può modificare l oggetto che gli è stato restituito, e il chiamato potrà osservare questa modifica 46

24 Legame di dati strutturati e oggetti Una differenza importante tra la semantica dell invocazione remota e quella dell invocazione locale è come avviene il legame di dati strutturati come oggetti o record in un invocazione remota, invece, quando un parametro (o un risultato) è un oggetto (o un record), allora il valore che viene passato come parametro attuale è in genere una rappresentazione serializzata dello stato dell oggetto quella che viene passata è una copia dell oggetto, che l operazione remota ottiene deserializzando la rappresentazione ricevuta il passaggio di una rappresentazione serializzata disabilita la possibilità di avere effetti collaterali sugli oggetti passati come parametri (o restituiti come risultati) poiché l operazione remota opera solo su una copia dell oggetto passato come parametro, eventuali modifiche applicate a questa copia non comportano una modifica diretta dell oggetto originale 47 Serializzazione Serialization In computer science, serialization is the process of translating a data structure or an object state into a format that can be stored (for example, in a file) or transmitted across a network connection link and reconstructed later in the same or another computer environment. When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. [Wikipedia, 2016] 48

25 Legame di dati strutturati e oggetti Un parametro che è un oggetto viene legato per valore il valore è una rappresentazione serializzata dell oggetto questa rappresentazione viene trasmessa e poi ricostruita nel processo remoto alpha(value-object) { type : asw.model.employee, id : 410, firstname : John, lastname : Smith, dept : call alpha( ) } { } type : asw.model.department, id : 992, name : DIA 49 Legame di riferimenti remoti In effetti, in RMI, un oggetto remoto ovvero, di un tipo remoto può anche essere legato per riferimento remoto beta(remote-object) call beta( ) remote reference to remote-object in questo caso, l operazione remota potrà effettuare a sua volta delle invocazioni remote sull oggetto remoto passato come parametro sono possibili effetti collaterali in modo analogo a quanto avviene nelle invocazioni locali attenzione però alla proliferazione delle invocazioni remote che possono avere conseguenze negative sulle prestazioni 50 Oggetti distribuiti e invocazione remota

26 * Discussione L invocazione remota è un astrazione di programmazione distribuita fondamentale i componenti distribuiti interagiscono mediante l invocazione di operazioni remote (procedure o metodi remoti) le invocazioni remote sono codificate sintatticamente in modo simile a quelle locali ma la loro semantica è differente, per vari motivi per il modo in cui vengono gestiti possibili fallimenti nella comunicazione remota per il tempo richiesto dalla gestione di una chiamata per la concorrenza e l eventuale asincronia delle chiamate remote per come viene effettuato il legame dei parametri e per gli effetti collaterali che si possono verificare (o non verificare) per aspetti legati alla sicurezza 51

Alcune idee sui sistemi software e la loro architettura

Alcune idee sui sistemi software e la loro architettura Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

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

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Introduzione alla programmazione Object Oriented. Luca Lista

Introduzione alla programmazione Object Oriented. Luca Lista Introduzione alla programmazione Object Oriented Luca Lista Concetti base del software OO Classi e oggetti Incapsulamento Relazione di ereditarietà Polimorfismo Cos è un Oggetto? Definizione da vocabolario:

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

Dettagli

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996 Luca Cabibbo Architetture Software Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. Albert Einstein 1

Dettagli

Introduzione alla programmazione. Walter Didimo

Introduzione alla programmazione. Walter Didimo Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono

Dettagli

Il DOS diagramma di flusso. I comandi del DOS. I comandi: vista funzionale. Parametri. Opzioni. I comandi: sintassi

Il DOS diagramma di flusso. I comandi del DOS. I comandi: vista funzionale. Parametri. Opzioni. I comandi: sintassi Il DOS diagramma di flusso Inizio Bootstrap I comandi del DOS Fondamenti di Informatica Anno Accademico 2000-01 1 Stampa prompt Leggi comando Esegui comando 2 I comandi: vista funzionale Parametri input

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:

Dettagli

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di calcolatori Protocolli di Trasmissione: Il modello ISO/OSI L architettura TCP/IP Protocolli di trasmissione Un protocollo di

Dettagli

Indice. Introduzione 2. 1.1.1 Collegamento iniziale 3. 1.1.2 Identificazione della sede operativa (sede di lavoro) 5

Indice. Introduzione 2. 1.1.1 Collegamento iniziale 3. 1.1.2 Identificazione della sede operativa (sede di lavoro) 5 S.I.L. Sintesi Comunicazioni Obbligatorie [COB] Import Massivo XML Agosto 2009 Indice Argomento Pag. Introduzione 2 1.1.1 Collegamento iniziale 3 1.1.2 Identificazione della sede operativa (sede di lavoro)

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi

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

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

Architetture di rete. 4. Le applicazioni di rete

Architetture di rete. 4. Le applicazioni di rete Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo

Dettagli

Processi, Threads e Agenti

Processi, Threads e Agenti Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito ècompostodaun insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere definito

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Gestione Commissioni Esami

Gestione Commissioni Esami Gestione Commissioni Esami Sistema informatico ESSE3 Versione 3.0 Autore Stato Revisore Gruppo Esse3 Approvato P. Casalaspro Data 30/01/2014 Distribuito a: Utenti Esse3 SOMMARIO 1 Introduzione... 1 1.1

Dettagli

Procedura tecnica di accreditamento dei Registrar

Procedura tecnica di accreditamento dei Registrar Procedura tecnica di accreditamento dei Registrar Linee Guida Versione 2.1 settembre 2015 SOMMARIO 1 Revisioni 1 2 Introduzione 2 3 Durata e tempi del test 2 4 Accounts 2 5 Corretta esecuzione e completamento

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 03/04 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 2

Dettagli

Architetture a oggetti distribuiti

Architetture a oggetti distribuiti Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo

Dettagli

Il Portale Documentale. Note Operative. Distribuzione Documenti on Line

Il Portale Documentale. Note Operative. Distribuzione Documenti on Line W@DOM Il Portale Documentale Distribuzione Documenti on Line Note Operative Pagina 1 di 7 Sommario W@DOM Distribuzione Documenti On Line... 3 Descrizione... 3 Home Page e Accesso all Applicazione... 3

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel B. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel B. DATALOG Soluzioni Integrate a 32 Bit KING Manuale di Aggiornamento BOLLETTINO Rel. 4.70.2B DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 PER APPLICARE L AGGIORNAMENTO... 3 2 NOVITA 4.70.2B... 5 2.1 Annullo

Dettagli

Sommario. G. Piscitelli

Sommario. G. Piscitelli Sommario Interprocess Communication Processi (e thread) cooperanti Il paradigma produttore-consumatore Shared Memory e Inter Process Communication (IPC) facility Proprietà caratteristiche della comunicazione

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Comunicazione fra oggetti distribuiti

Comunicazione fra oggetti distribuiti Comunicazione fra oggetti distribuiti RMI RPC invocazione di metodo remoto - gli oggetti remoti ricevono le RMI interfaccia remota meccanismo per la comunicazione cliente servente come primitiva di un

Dettagli

Procedura operativa per la gestione della funzione di formazione classi prime

Procedura operativa per la gestione della funzione di formazione classi prime Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati

Dettagli

POLO REGIONALE DI FATTURAZIONE ELETTRONICA

POLO REGIONALE DI FATTURAZIONE ELETTRONICA POLO REGIONALE DI FATTURAZIONE ELETTRONICA Il flusso della fatturazione elettronica La delibera 203/2015 Il sistema di Regione Liguria per il ciclo passivo Cosa deve fare l Ente Genova, 11 marzo 2015 Fatturazione

Dettagli

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf Servizi di interscambio dati e cooperazione applicativa Indice 1 Introduzione... 3 2 Accesso ai servizi... 4 2.1 La richiesta di convenzione... 4 2.2 Le credenziali di accesso al sistema... 5 2.3 Impostazione

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016 Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016 Manuale Operativo Gestione Ticket 2 Sommario Premessa... 3 Introduzione... 3 1. Utente pre-login... 4 2. Utente post-login... 6 3. Gestione

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

L Automatic Control Telelab

L Automatic Control Telelab Università di Siena L Marco Casini Dipartimento di Ingegneria dell Informazione Università di Siena, Italy Email: casini@ing.unisi.it UNIVERSITA DI SIENA 1 Sommario Introduzione all (ACT) Descrizione di

Dettagli

Cosa è importante: pom.xml Goal Plug-in Repository

Cosa è importante: pom.xml Goal Plug-in Repository Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml

Dettagli

1 DESCRIZIONE DELLE FUNZIONI... 3 1.1 REGISTRAZIONE UTENZE INTERNET... 3. 1.1.1 Caricamento utente internet (data entry)... 3

1 DESCRIZIONE DELLE FUNZIONI... 3 1.1 REGISTRAZIONE UTENZE INTERNET... 3. 1.1.1 Caricamento utente internet (data entry)... 3 Portale TESEO Guida al servizio INDICE 1 DESCRIZIONE DELLE FUNZIONI... 3 1.1 REGISTRAZIONE UTENZE INTERNET.... 3 1.1.1 Caricamento utente internet (data entry)... 3 1.1.2 Primo accesso e registrazione...

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

Valutazione e Controllo Fornitori

Valutazione e Controllo Fornitori PROCEDURA PGSA 02 Valutazione e Controllo Rev. Data Oggetto Redatto da Approvato da 01 30/09/212 Prima emissione Resp. RSGSA Direzione Copia controllata n ( Questa copia è controllata, registrata e soggetta

Dettagli

Manuale utente. Ministero delle Infrastrutture e dei Trasporti. GEIW_ManualeUtente_GestioneIstruttoria_UtenteImpresa-1.0.docx

Manuale utente. Ministero delle Infrastrutture e dei Trasporti. GEIW_ManualeUtente_GestioneIstruttoria_UtenteImpresa-1.0.docx Ministero delle Infrastrutture e dei Trasporti DIPARTIMENTO PER I TRASPORTI, LA NAVIGAZIONE, GLI AFFARI GENERALI ED IL PERSONALE Direzione Generale per la Motorizzazione Centro Elaborazione Dati ALBO NAZIONALE

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche

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

testo Saveris Web Access Software Istruzioni per l'uso

testo Saveris Web Access Software Istruzioni per l'uso testo Saveris Web Access Software Istruzioni per l'uso 2 1 Indice 1 Indice 1 Indice... 3 2 Descrizione delle prestazioni... 4 2.1. Utilizzo... 4 2.2. Requisiti di sistema... 4 3 Installazione... 5 3.1.

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

Dettagli

Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet

Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet 1 Integrazione di rete di campo in reti di fabbrica di tipo Ethernet Paolo Ferrari Dipartimento di Ingegneria dell Informazione, Università di Brescia Via Branze 38-25123 Brescia (Italy) Centro di Competenza

Dettagli

FUNZIONI DI BASE PANNELLO SMS

FUNZIONI DI BASE PANNELLO SMS FUNZIONI DI BASE PANNELLO SMS Il pannello sms può essere utilizzato in vari: 1 Inviare un singolo sms (in questo settare solo in mittente in opzioni) 2 inviare sms multipli alla propria rubrica divisa

Dettagli

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Concetti Introduttivi. Il Computer

Concetti Introduttivi. Il Computer Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta

Dettagli

VoipExperts.it - CISCO <=> AVAYA

VoipExperts.it - CISCO <=> AVAYA In questo articolo ci occuperemo di mettere in comunicazione (trunk) un centralino Avaya Ip Office con il call manager di Cisco usando come protocollo H323. Per i test in laboratorio, sono stati usati

Dettagli

Note_Batch_Application 04/02/2011

Note_Batch_Application 04/02/2011 Note Utente Batch Application Cielonext La Batch Application consente di eseguire lavori sottomessi consentendo agli utenti di procedere con altre operazioni senza dover attendere la conclusione dei suddetti

Dettagli

Supporto On Line Allegato FAQ

Supporto On Line Allegato FAQ Supporto On Line Allegato FAQ FAQ n.ro MAN-7WBHYG25885 Data ultima modifica 03/01/2011 Prodotto Contabilità Modulo Contabilità, Cespiti, Ritenute, Intrastat, Beni usati Oggetto Modalità operative - Esportazione

Dettagli

Lab 1: Java Multithreading

Lab 1: Java Multithreading Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading

Dettagli

Mini-Corso di Informatica

Mini-Corso di Informatica Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare

Dettagli

Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet

Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet 1 Integrazione di rete di campo PROFIBUS in reti di fabbrica di tipo Ethernet Paolo Ferrari Dipartimento di Ingegneria dell Informazione, Università di Brescia Via Branze 38-25123 Brescia (Italy) CSMT

Dettagli

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università

Dettagli

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.

Dettagli

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente ANAGRAFE NAZIONALE CREDITI FORMATIVI Manuale utente Versione 1.0.0 APRILE 2015 1. Registrazione Per accedere al Sistema è necessario avere un nome utente e una password, ottenibili mediante una semplice

Dettagli

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS Versione 1.2 9 Luglio 2007 Pagina 1 di 16 SOMMARIO 1. Cos è Outlook Web Access... 3 2. Quando si usa... 3 3. Prerequisiti per l uso di Outlook

Dettagli

Modulo 17: Invio del BF tramite

Modulo 17: Invio del BF tramite Modulo 17: Invio del BF tramite E-mail Obiettivi del modulo 17 Gestione dell invio In questo modulo viene spiegata la funzione che permette di inviare per e-mail al cliente la prenotazione creata in agenzia

Dettagli

Regole e modalità di utilizzo della PEC e della PEO istituzionale

Regole e modalità di utilizzo della PEC e della PEO istituzionale ALLEGATO 2 al Manuale per la Gestione del Protocollo informatico, dei Flussi documentali e degli Archivi Regole e modalità di utilizzo della PEC e della PEO istituzionale 3 All. 2 Regole e modalità di

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione Introduzione Introduzione La comunicazione tra due o più utenti avviene tramite un canale detto canale di

Dettagli

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 28. Docente: Laura Palagi

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 28. Docente: Laura Palagi Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 28 Docente: Laura Palagi Laboratorio di Ricerca Operativa Homework n 28 Prof.ssa Ing. Laura Palagi

Dettagli

Guida semplice all utilizzo del sistema D-STAR Seconda Parte

Guida semplice all utilizzo del sistema D-STAR Seconda Parte Guida semplice all utilizzo del sistema D-STAR Seconda Parte COSA SI PUO FARE CON IL MODO D-STAR? In questa seconda parte vengono illustrati i vari metodi di comunicazione possibili con il modo digitale

Dettagli

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5. Prodotto da INDICE Vista Libretto Livello Digitale 2 Importazione di dati da strumento 3 Inserisci File Vari 5 Compensazione Quote 5 Uscite 6 File Esporta Livellazioni (.CSV) 6 Corso Livello Digitale Pag.

Dettagli

Guida alla gestione delle domande di Dote Scuola per l A.S per i Comuni

Guida alla gestione delle domande di Dote Scuola per l A.S per i Comuni Guida alla gestione delle domande di Dote Scuola per l A.S. 2016-2017 per i Comuni Questo documento contiene informazioni utili ai funzionari per utilizzare l applicativo web per la gestione delle domande

Dettagli

AUTOCAD: INTERFACCIA AUTOCAD: INTERFACCIA 2 AUTOCAD: INTERFACCIA. 2.1 premessa: ABBREVIAzIONI E ICONE 2.2 SCELTA DELL INTERFACCIA. ICONE Cmd Mnu.

AUTOCAD: INTERFACCIA AUTOCAD: INTERFACCIA 2 AUTOCAD: INTERFACCIA. 2.1 premessa: ABBREVIAzIONI E ICONE 2.2 SCELTA DELL INTERFACCIA. ICONE Cmd Mnu. 2 AUTOCAD: INTERFACCIA AUTOCAD: INTERFACCIA 2.1 premessa: ABBREVIAzIONI E ICONE Significato delle abbreviazioni e delle icone usate in queste pagine. ICONE Indica il menu dell applicazione (AutoCAD 2012)

Dettagli

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Manuale utente Soggetto Promotore Erogatore Politiche Attive Manuale utente Soggetto Promotore Erogatore Politiche Attive Guida all utilizzo del Sistema Garanzia Giovani della Regione Molise Sistema Qualità Certificato UNI EN ISO 9001:2008 9151.ETT4 IT 35024 ETT

Dettagli

La segreteria didattica dovrà eseguire semplici operazioni per effettuare lo scrutinio:

La segreteria didattica dovrà eseguire semplici operazioni per effettuare lo scrutinio: GESTIONE SCRUTINI SEGRETERIA La segreteria didattica dovrà eseguire semplici operazioni per effettuare lo scrutinio: 1. CONTROLLO PIANI DI STUDIO DELLE CLASSI; 2. ASSEGNAZIONI PROFESSORI MATERIE; 3. CONTROLLO

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

Introduzione ai connettori

Introduzione ai connettori Luca Cabibbo Architetture Software Dispensa ASW 810 ottobre 2014 Le relazioni tra elementi sono ciò che dà valore aggiunto ai sistemi. Eberhardt Rechtin 1 -Fonti [Shaw] Mary Shaw, Procedure Calls are the

Dettagli

POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG

POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG Ultimo Aggiornamento: 15 Aprile 2016 Ultima versione disponibile al link: http://www.inve.it/external/manuale Postalizzazione RipartoIG

Dettagli

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4 Internet Protocol Versione 4: instradamento e routing Aspetti di forwarding e routing del protocollo IPv4 1 Instradamento (forwarding) Operazione comune a tutte le macchine con stack TCP/IP Router, end

Dettagli

Specifiche tecniche e di formato www.impresainungiorno.gov.it Presentazione comunicazione unica per la nascita d impresa

Specifiche tecniche e di formato www.impresainungiorno.gov.it Presentazione comunicazione unica per la nascita d impresa Specifiche tecniche e di formato www.impresainungiorno.gov.it Presentazione comunicazione unica per la nascita d impresa Struttura pratica SUAP e integrazione della SCIA in ComUnica Versione: 1.0 Data

Dettagli

Corso di Programmazione a oggetti

Corso di Programmazione a oggetti Corso di Programmazione a oggetti Overloading delle funzioni e parametri di default a.a. 2014/2015 Francesco Fontanella Overloading delle funzioni In C++, è possibile dare a funzioni diverse lo stesso

Dettagli

MUTA SERVIZIO SCIA Flussi logici per la consegna delle pratiche a valle della compilazione da parte del compilatore. A cura di: Elisabetta Sciacca

MUTA SERVIZIO SCIA Flussi logici per la consegna delle pratiche a valle della compilazione da parte del compilatore. A cura di: Elisabetta Sciacca MUTA SERVIZIO SCIA Flussi logici per la consegna delle pratiche a valle della compilazione da parte del compilatore A cura di: Elisabetta Sciacca Gennaio 2014 2 PREMESSA Il DPR160 rispetto alla pratiche

Dettagli

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web AnthericaCMS Gestisci in autonomia i contenuti del tuo sito-web INDICE I vantaggi di un sito dinamico... 1 I vantaggi di anthericacms... 2 La piattaforma di gestione dei contenuti... 3 Accesso: le sezioni...

Dettagli

Allocazione Dinamica della Memoria

Allocazione Dinamica della Memoria Allocazione Dinamica della Memoria Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Allocazione Dinamica della Memoria 1 / 10 Scelta delle variabili Quando

Dettagli

SPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.);

SPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.); SPORTELLO DIPENDENTE - Personale amministrativo tecnico ausiliario (A.T.A.); - Personale assistente ed educatore; - Personale insegnante e coordinatori pedagogici delle scuole dell infanzia; - Personale

Dettagli

DISEGNO PROSPETTICO CAPITOLO 1 METODI DI RAPPRESENTAZIONE PER IL DISEGNO TECNICO: QUADRO GENERALE PROIEZIONI ORTOGRAFICHE PROIEZIONI ASSONOMETRICHE

DISEGNO PROSPETTICO CAPITOLO 1 METODI DI RAPPRESENTAZIONE PER IL DISEGNO TECNICO: QUADRO GENERALE PROIEZIONI ORTOGRAFICHE PROIEZIONI ASSONOMETRICHE CAPITOLO DISEGNO PROSPETTICO METODI DI RAPPRESENTAZIONE PER IL DISEGNO TECNICO: QUADRO GENERALE La norma UNI EN ISO 0209-2 raccoglie i principali metodi di rappresentazione raccomandati per il disegno

Dettagli

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI 1/10 SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI 2/10 ARCHITETTURA DI SISTEMA Il sistema è basato su una rete di stazioni di ricarica, con configurazione e tipologia

Dettagli

Firma digitale remota: procedura per il rinnovo del certificato

Firma digitale remota: procedura per il rinnovo del certificato 1 Firma digitale remota: procedura per il rinnovo del certificato 1. Ricezione della notifica di rinnovo La notifica per il rinnovo del proprio certificato di firma digitale remota sarà inviata automaticamente

Dettagli

Manuale cliente finale portale accertamenti delibera 40

Manuale cliente finale portale accertamenti delibera 40 Manuale cliente finale portale accertamenti delibera 40 Il presente manuale è indirizzato al cliente, per inoltrare la documentazione per l attivazione/riattivazione della fornitura con Accertamento Documentale.

Dettagli

Alcatel-Lucent OpenTouch Connection per Microsoft Outlook

Alcatel-Lucent OpenTouch Connection per Microsoft Outlook Alcatel-Lucent OpenTouch Connection per Microsoft Outlook Guida dell'utente v2.0 8AL90633ITAAed01 Marzo 2014 Indice 1. OpenTouch Connection per Microsoft Outlook... 3 2. Avviare OpenTouch Connection...

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