Podcast
Questions and Answers
Quale delle seguenti affermazioni descrive meglio REST?
Quale delle seguenti affermazioni descrive meglio REST?
REST è indipendente dall'architettura client-server.
REST è indipendente dall'architettura client-server.
False (B)
Abbina i seguenti concetti relativi a REST con la loro descrizione:
Abbina i seguenti concetti relativi a REST con la loro descrizione:
REST = Stile architetturale per sistemi distribuiti. Client-Server = Modello di interazione in cui un client richiede risorse a un server Standard del web = Protocolli e formati utilizzati per lo scambio di informazioni sul web.
Qual è l'obiettivo principale di questo metodo nella gestione dei contatori?
Qual è l'obiettivo principale di questo metodo nella gestione dei contatori?
Signup and view all the answers
Questo metodo prevede la comunicazione sia degli incrementi che dei decrementi dei contatori.
Questo metodo prevede la comunicazione sia degli incrementi che dei decrementi dei contatori.
Signup and view all the answers
Quale problema si cerca di evitare comunicando solo i decrementi dei contatori?
Quale problema si cerca di evitare comunicando solo i decrementi dei contatori?
Signup and view all the answers
Questo metodo comunica solamente i ______ dei contatori.
Questo metodo comunica solamente i ______ dei contatori.
Signup and view all the answers
Abbina le seguenti azioni all'obiettivo principale del metodo:
Abbina le seguenti azioni all'obiettivo principale del metodo:
Signup and view all the answers
Qual è uno svantaggio principale dell'utilizzo di messaggi 'find' in broadcast?
Qual è uno svantaggio principale dell'utilizzo di messaggi 'find' in broadcast?
Signup and view all the answers
L'invio di messaggi 'find' in multicast comporta che tutti gli host nella rete devono processare il messaggio.
L'invio di messaggi 'find' in multicast comporta che tutti gli host nella rete devono processare il messaggio.
Signup and view all the answers
Come funziona il meccanismo di 'find' in broadcast in modo simile all'ARP?
Come funziona il meccanismo di 'find' in broadcast in modo simile all'ARP?
Signup and view all the answers
Un meccanismo di invio di messaggi 'find' in ______ è simile all'ARP, in cui solo chi è interessato risponde.
Un meccanismo di invio di messaggi 'find' in ______ è simile all'ARP, in cui solo chi è interessato risponde.
Signup and view all the answers
Associa i seguenti tipi di comunicazione di rete con le loro caratteristiche:
Associa i seguenti tipi di comunicazione di rete con le loro caratteristiche:
Signup and view all the answers
Quale dei seguenti è uno dei tre problemi principali discussi nel contenuto?
Quale dei seguenti è uno dei tre problemi principali discussi nel contenuto?
Signup and view all the answers
Secondo il testo, rispettare la monotonia del tempo significa che è possibile tornare indietro nel tempo.
Secondo il testo, rispettare la monotonia del tempo significa che è possibile tornare indietro nel tempo.
Signup and view all the answers
Quale tecnologia viene menzionata come possibile metodo per la localizzazione dei PC?
Quale tecnologia viene menzionata come possibile metodo per la localizzazione dei PC?
Signup and view all the answers
Uno dei problemi discussi è la sincronizzazione di tutti i clock tra di ______.
Uno dei problemi discussi è la sincronizzazione di tutti i clock tra di ______.
Signup and view all the answers
Abbina i seguenti concetti con la loro descrizione appropriata:
Abbina i seguenti concetti con la loro descrizione appropriata:
Signup and view all the answers
Quale dei seguenti è un requisito del virtual synchrony?
Quale dei seguenti è un requisito del virtual synchrony?
Signup and view all the answers
Il virtual synchrony è il modello più forte di multicast affidabile.
Il virtual synchrony è il modello più forte di multicast affidabile.
Signup and view all the answers
Quale problema è in grado di risolvere il virtual synchrony?
Quale problema è in grado di risolvere il virtual synchrony?
Signup and view all the answers
Il virtual synchrony è una forma di multicast ______.
Il virtual synchrony è una forma di multicast ______.
Signup and view all the answers
Associa i seguenti termini con la loro descrizione corretta:
Associa i seguenti termini con la loro descrizione corretta:
Signup and view all the answers
Quale delle seguenti affermazioni descrive meglio la consistenza sequenziale?
Quale delle seguenti affermazioni descrive meglio la consistenza sequenziale?
Signup and view all the answers
Nella consistenza sequenziale, ogni processo può avere una visione diversa dell'ordine delle operazioni.
Nella consistenza sequenziale, ogni processo può avere una visione diversa dell'ordine delle operazioni.
Signup and view all the answers
Nella consistenza sequenziale, su cosa si accordano tutti i processi?
Nella consistenza sequenziale, su cosa si accordano tutti i processi?
Signup and view all the answers
Nella consistenza sequenziale, le operazioni di ogni processo appaiono nella sequenza nell'ordine specificato dal suo ______.
Nella consistenza sequenziale, le operazioni di ogni processo appaiono nella sequenza nell'ordine specificato dal suo ______.
Signup and view all the answers
Abbina i seguenti concetti con la loro descrizione nella consistenza sequenziale:
Abbina i seguenti concetti con la loro descrizione nella consistenza sequenziale:
Signup and view all the answers
Flashcards
REST
REST
REST (REpresentational State Transfer) è un’architettura per lo sviluppo di servizi web.
SOA
SOA
SOA (Service-Oriented Architecture) è un'architettura software basata su servizi connessi.
Client-Server
Client-Server
Il modello Client-Server è una struttura in cui un client richiede risorse a un server.
Standard del web
Standard del web
Signup and view all the flashcards
Architettura
Architettura
Signup and view all the flashcards
Clock globale
Clock globale
Signup and view all the flashcards
Sincronizzazione degli orologi
Sincronizzazione degli orologi
Signup and view all the flashcards
Accuratezza (accuracy)
Accuratezza (accuracy)
Signup and view all the flashcards
Monotonia del tempo
Monotonia del tempo
Signup and view all the flashcards
GPS nella localizzazione
GPS nella localizzazione
Signup and view all the flashcards
Race condition
Race condition
Signup and view all the flashcards
Decremento dei contatori
Decremento dei contatori
Signup and view all the flashcards
Comunicazione
Comunicazione
Signup and view all the flashcards
Metodo di naming
Metodo di naming
Signup and view all the flashcards
Evita condizioni di corsa
Evita condizioni di corsa
Signup and view all the flashcards
Simile all’ARP
Simile all’ARP
Signup and view all the flashcards
Svantaggio del broadcast
Svantaggio del broadcast
Signup and view all the flashcards
Multicast
Multicast
Signup and view all the flashcards
Differenza tra broadcast e multicast
Differenza tra broadcast e multicast
Signup and view all the flashcards
Efficienza del multicast
Efficienza del multicast
Signup and view all the flashcards
Virtual Synchrony
Virtual Synchrony
Signup and view all the flashcards
Atomic Multicast Problem
Atomic Multicast Problem
Signup and view all the flashcards
Requisiti di Virtual Synchrony
Requisiti di Virtual Synchrony
Signup and view all the flashcards
Multicast Affidabile
Multicast Affidabile
Signup and view all the flashcards
Modello più debole
Modello più debole
Signup and view all the flashcards
Coerenza sequenziale
Coerenza sequenziale
Signup and view all the flashcards
Processi
Processi
Signup and view all the flashcards
Operazioni
Operazioni
Signup and view all the flashcards
Ordine specificato
Ordine specificato
Signup and view all the flashcards
Accordo tra processi
Accordo tra processi
Signup and view all the flashcards
Study Notes
Architetture Software
- Le architetture basate su network si caratterizzano per la comunicazione diretta tra le macchine, senza routing (comunicazioni su un singolo hop).
- Esempi di architetture basate su network sono Linux/Windows + UDP/TCP.
- Le architetture basate su middleware forniscono servizi di comunicazione e coordinamento più semplici ad alto livello rispetto agli scambi di messaggi UDP/TCP, come ad esempio RMI (sincrono).
Architetture Run-Time
- L'architettura run-time descrive come la computazione è distribuita nelle diverse macchine e come esse collaborano, comunicano e si coordinano.
- L'architettura client-server è la più comune. I server attendono le richieste di servizio dei client e le soddisfano. Possono esistere più livelli tra client e server(multi-tiered) come ad esempio il web.
- L'architettura service oriented (SOA) è un caso particolare del client-server in cui l'interazione non avviene tramite messaggi, ma mediante invocazione di servizi. Il servizio è il centro di questa architettura, descritto da un contratto che ne definisce le operazioni. Il service broker funge da intermediario tra il fornitore di servizio e il consumatore di servizio, fungendo da sorta di DNS per le applicazioni. Esempi di utilizzo: Web service.
REST e Peer-to-Peer
- REST (REpresentational State Transfer) è un'evoluzione di SOA, che utilizza gli standard del web. Le risposte del server sono indipendenti dallo stato del server, dipendendo solo dalla richiesta del client. Garantisce scalabilità grazie al caching.
- Svantaggi: il costo è “appioppato” al client, che di solito ha meno potenza del server.
- Peer-to-Peer (P2P): è un'architettura senza distinzione tra client e server. I componenti sono chiamati “peer”, e collaborano tra loro direttamente, senza un server centrale. Ad esempio: skype.
Object Oriented
- L'architettura object oriented utilizza oggetti remoti che incapsulano dati e fornendo un'API per accedervi e modificarli. Gli oggetti possono essere implementati in linguaggi diversi. Vantaggio: incapsulation per gestire la complessità nell'accesso e gestione dei dati.
Data Centered
- L'architettura data centered utilizza un componente centralizzato (repository) come mediatore per le interazioni tra i diversi componenti.
Event Based
- L'architettura event based permette un'interazione indiretta tra componenti. Si basa su messaggi, e permette ai componenti di pubblicare notifiche su eventi osservati e di iscriversi per ricevere notifiche su eventi. E' un modello aciclico, basato su messaggi. Esempi: assincrono, multicast, implicito.
Mobile Code
- L'architettura mobile code introduce la possibilità di rilocazione di codice durante l'esecuzione. I paradigmi includono, Remote evaluation, code on demand, mobile agent.
Interaction Model
- Descrive come eventi, passaggi richiesti, e messaggi vengono scambiati tra i processi di un sistema distribuito. Include i sistemi synchronous e asynchronous, con implicazioni sulla velocità e tempo di esecuzione.
Failure Model
- Descrive i modi in cui i processi e i canali di comunicazione possono fallire e i differenti tipi di failure (omission, byzantine, timing).
Comunicazione a Livelli
- La comunicazione tra i processi in un sistema distribuito può essere realizzata tramite protocolli a livelli, come il modello OSI o TCP/IP, che gestiscono diversi aspetti della comunicazione (fisico, link, rete, trasporto, presentazione, applicazione). I livelli gestiscono le regole per una specifica parte della comunicazione.
Tipi di Comunicazione
- Transient: entrambi i processi sono attivi durante la comunicazione (es. chiamata telefonica).
- Persistent: non è necessario che entrambi i processi siano attivi (es. email).
- Sincrona: necessaria una forte sincronizzazione tra i processi.
- Asincrona: non è richiesta una sincronizzazione tra i processi (es. UDP).
- Remote Procedure Call (RPC): simula una chiamata a procedura standard su una rete.
Remote Method Invocation (RMI)
- RMI è una forma di RPC per applicazioni distribuite.
- I parametri possono essere passati per valore, per riferimento o per copia/ripristino.
Naming
- I nomi vengono utilizzati per identificare le entità nei sistemi distribuiti (es. host, file, server). Un indirizzo è un nome speciale di un entità, esempio : ip del web server.
- Esistono diversi modi per risolvere i nomi nel nome space.
- Simple solutions (es: broadcast)
- Multicast
- Forwarding pointers
- Distributed Hash Tables (DHT)
- Hierarchical approaches
Sincronizzazione
- Come gestire la sincronizzazione delle operazioni e dei componenti nei sistemi distribuiti, in assenza di un clock globale e di una memoria condivisa.
- Metodi:
- Sincronizzazione dei clock fisici
- Logical clocks (es.: Lamport clock, Vector clocks)
- Remote procedure call (RPC)
Fault Tolerance
- Meccanismi di tolleranza ai guasti per proteggere un sistema da fallimenti di componenti o comunicazione.
- Tipi di guasti: Transitori, intermittenti, permanenti.
- Tecniche per la tolleranza al guasto: ridondanza delle informazioni e dei processi, timeouts, meccanismo di quorum per decidere il comportamento in caso di fallimento.
Replication and Consistency
- Gestione di copie di dati in più posizioni per ottimizzare performance, tolleranza al guasto e dislocazione geografica.
- Tipi di consistenza: Sequential, Causal, Eventual.
Data Analytics
- Piattaforme distribuite per l'analisi dei dati e i Big Data.
- Tecnologia di MapReduce: per il parallelismo delle operazioni.
- Tecnologie di Apache Spark, e Apache Flink per lo scheduling e la gestione dei lavori.
- Gestione della load balancing, e della fault tolerance.
P2P
- Peer-to-peer: sistemi distribuiti senza un server centrale. Ad esempio: Gnutella, KaZaA, BitTorrent.
- Considerazioni sulla decentralizzazione, le diverse topologie, il routing e sicurezza.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Questo quiz esplora i concetti chiave riguardanti REST e la sua connessione all'architettura SOA. Testa la tua comprensione dei metodi di comunicazione e degli obiettivi principali di REST. Rispondi a domande specifiche per verificare le tue conoscenze su questo importante argomento della tecnologia web.