Il Modello Client/Server

esempio di transazione tra client e server, La gestione delle eccezioni, Server concorrenti e server iterativi (2 pagine formato doc)

Appunto di gennygattuso86
Modello Client / Server Modello Client / Server Il modello client/servent, chiamato anche RPC (remote procedure call) è un modello di architettura di rete che si differenzia dal modello OSI; nasce dalla necessità di massimizzare l'efficienza e la semplicità di trasferimento dei dati tra due nodi di una rete.
Mentre all'interno del modello OSI sono previsti processi perfettamente simmetrici sugli Host che si scambiano i dati, nel modello RCP invece la comunicazione avviene tra un nodo (client) che richiede un servizio (generalmente un file) ad un altro nodo (server) preposto a fornirlo. Ciò implica l'esecuzione di processi da parte del client e del server non simmetrici.
Questi processi fanno parte del software di connessione e che hanno lo scopo di rendere più efficiente e trasparente possibile il lavoro del server. Come risultato finale l'utente ha l'impressione che la procedura richiesta sia disponibile direttamente sulla macchina che stà utilizzando e sulla quale è in esecuzione appunto il programma-client. Esempio di transazione tra Client e Server: lungo la sottorete di comunicazione, il pacchetto giunge a destinazione cioè raggiunge il livello fisico del nodo in cui è in esecuzione il programma server lungo la sottorete di comunicazione il pacchetto raggiunge il livello fisico del nodo client e da qui le informazioni in esso contenute risalgono i vari livelli, sino a raggiungere la procedura STUB rimasta in attesa. Questa preleva il messaggio e consegna la risposta al programma-client. elementi importanti: La comunicazione tra un client ad un server, viene attivata in maniera diretta ad alto livello dal client, mediante l'invio di una richiesta al server. Di fatto però i processi client e server si limitano a richiamare delle procedure in ambiente locale, la transazione, che resta a loro del tutto invisibile, è realizzata dalla procedura STUB che è stata chiamata e che si occupa di predisporre il collegamento remoto in rete. Il passaggio di parametri alla procedura STUB (che sono la richiesta di un servizio del client e il risultato che il server deve inviare al client), viene effettuato rigorosamente per valore. Con i termini client e server si fa riferimento a dei processi e non a delle macchine, infatti ad esempio su una macchina possono essere in esecuzione in maniera concorrente più processi server. Seguono il modello client/server praticamente tutti i servizi forniti tramite la rete internet (le pagine web, la posta elettronica,ftp,telnet,ssh) il modello è utilizzato in generale anche per i programmi in particolare nella comunicazione fra processi all'interno di uno stesso sistema. Il problema dell'indirizzamento Per l'implementazione di questo modello, è stato affrontato anche il problema dell'indirizzamento dei messaggi da parte del nodo client verso il server remoto. Il modello impone che il processo-server nella sua fase di inizializzazione registri se stesso presso il server di rete inviando a quest'ultimo: il proprio nome e il