Sistema client/server: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
rb rimozione contenuti |
Elisione obbligatoria |
||
Riga 10:
Il [[software]] ''client'' in genere è di limitata complessità, limitandosi normalmente ad operare come interfaccia verso il ''server''. In generale nel campo informatico il termine ''client'' indica una componente che accede ai servizi o alle risorse di un'altra componente, detta ''server''. In questo contesto si può quindi parlare di ''client'' riferendosi all'[[hardware]] o al [[software]].
Un computer collegato ad un ''server'' tramite [[rete locale]] o [[Wide area network|geografica]], ed al quale richiede uno o più servizi, utilizzando uno o più [[protocollo di rete|protocolli di rete]] è un esempio di ''client'' hardware. Un programma di [[posta elettronica]] è un esempio di ''client'' software. Sono sempre di più i software, come il [[web]], l'[[e-mail]], i [[database]], che sono divisi in una parte ''client'' (residente ed in esecuzione sul [[personal computer|pc]] ''client'')
Il termine ''client'' indica anche il software usato sul computer ''client'' per accedere alle funzionalità offerte dal ''server''. Ad esempio, nel web il software ''client'' è il ''[[web browser]]'', e parla con un ''server'' web attraverso il protocollo [[Hypertext Transfer Protocol|HTTP]]; per l'e-mail il ''client'' è detto in gergo ''mail user agent'' o [[Client di posta elettronica|MUA]] (ad esempio, [[Outlook]], [[Mozilla Thunderbird]], [[Eudora]], ...), e parla con il ''server'' (''Mail Transfer Agent'' o [[Mail server|MTA]]) attraverso i protocollo [[Simple Mail Transfer Protocol|SMTP]] e [[Post Office Protocol|POP]] o [[Internet Message Access Protocol|IMAP]]; il ''client'' per la consultazione o la modifica del database (spesso costituito da [[Libreria (software)|librerie]] software utilizzate da un'[[applicazione (informatica)|applicazione]]) parla con il [[DBMS]], che gestisce il database e risponde alle interrogazioni del ''client''.
Riga 25:
Quando un ''computer client'' si connette direttamente ad un sistema di ''database'' o a una ''[[server application]]'' standard, questa viene chiamata '''2-tier architecture''' (architettura a 2 livelli).
Recentemente, è più usuale per ''computer'' ''[[client]]'', chiamati ''[[thin client]]'' che non incorporano ''[[business logic]]'', ma solo elementi di interfaccia, connettersi
In generale architetture ad ''n'' livelli possono impiegare un certo numero di servizi distinti, comprese relazioni transitive tra ''application server'' che implementano differenti funzioni di ''business logic'', ognuna delle quali può impiegare o meno un sistema di database condiviso o distinto.
Riga 69:
I vari livelli sono organizzati in pile di protocolli (''stack protocollare''). Le pile di protocolli sono un modo flessibile per combinare componenti per realizzare un servizio.
Un esempio reale di
La struttura serve ad adempiere ad alcuni compiti:
Riga 88:
Non è detto che due macchine che comunicano usino la stessa pila di protocolli. Ad esempio, se vi connettete ad [[Internet]] attraverso un [[modem]] voi appoggiate il livello di rete IP su una connessione PPP, mentre il ''server'' a cui vi collegate probabilmente appoggia la rete IP su una connessione [[Ethernet]].
In una rete a pacchetto ciascun livello della "pila protocollare" aggiunge ai pacchetti
==== Modello OSI e Modello TCP/IP====
Riga 97:
Quasi tutti i [[sistemi operativi]] utilizzano, per il funzionamento dei vari [[processo (informatica)|processi]], dei meccanismi basati sul modello client-server. Lo stesso [[kernel]] si comporta come server quando gestisce le chiamate alle [[chiamata di sistema|primitive di sistema]] da parte dei processi in esecuzione.
Più in generale in un sistema operativo, per alcuni tipi di servizi, sono espressamente previsti dei '''processi server''', gli unici in grado di eseguire una certa operazione. Spesso questi processi hanno accesso esclusivo
Ad esempio, nei sistemi [[Windows]] è presente uno [[spooler]], unico processo in tutto il sistema a poter utilizzare la [[stampante]]. Per poter stampare, un processo non deve interfacciarsi con il driver della stampante (ed eseguire la sequenza del [[driver]] virtualizzato ''acquisizione-uso-rilascio'') ma deve inviare i propri dati, attraverso i servizi offerti dal sistema, al processo spooler, il quale, tra l'altro, effettua lo [[scheduling]] dei documenti da stampare. Una volta inviati i dati allo spooler, il processo saprà non che la stampa è stata eseguita, ma che lo sarà certamente (a meno di intoppi). Avendo accesso esclusivo a tutte le stampanti di sistema, il driver della stampante non prevede procedure di acquisizione e rilascio.
|