Sistema client/server: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
immagini |
Immagini non utili e soprattutto concettualmente limitate rispetto ai contenuti della voce Annullata la modifica 111575397 di 151.27.92.137 (discussione) Etichetta: Annulla |
||
Riga 8:
=== Client ===
{{vedi anche|Client}}
[[File:Client-server model.svg|thumb|Schematizzazione della comunicazione tra client e server]]▼
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]].
Line 23 ⟶ 22:
=== Architettura multitier ===
{{vedi anche|Architettura multitier}}
▲[[File:Client-server model.svg|thumb|Schematizzazione della comunicazione tra client e server]]
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 ad una ''[[server application]]'' che implementa una ''business logic'' nella quale transitivamente (ossia successivamente) comunica con il database del ''server'', il quale memorizza i dati utilizzati dall'applicazione. Tale architettura è chiamata '''3-tier architecture''' (architettura a 3 livelli).
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.
Line 32 ⟶ 31:
=== Collegamento ===
{{vedi anche|Commutazione di pacchetto}}
I ''client'' ed il ''server'' sono in collegamento tramite un [[Protocollo di rete|protocollo]] di comunicazione attraverso una [[rete di telecomunicazioni|rete di comunicazione]]. Il protocollo può essere in chiaro o in certi casi [[crittografia|crittografato]].
Line 46 ⟶ 44:
=== Livello di servizio: code ===
{{vedi anche|Teoria delle code}}
Quando troppi client accedono ad un servizio, può succedere che la [[Coda (informatica)|coda]] di attesa diventi inaccettabile. In questo caso si parla di sovraffollamento. Il gestore deve prendere delle misure per cadenzare le richieste o per aumentare le risorse disponibili.
Line 63 ⟶ 60:
* [[Print server]]: per la condivisione delle stampanti;
==
=== Architettura di rete a livelli ===
{{vedi anche|Architettura di rete}}
Ciascun protocollo regola normalmente solo una parte degli aspetti di una comunicazione. I diversi protocolli sono organizzati con un sistema o [[architettura di rete]] detto "a livelli" dove in ciascun livello viene usato uno specifico protocollo.
Line 96 ⟶ 92:
==== Modello OSI e Modello TCP/IP====
{{vedi anche|Open Systems Interconnection|Modello OSI|Suite di protocolli Internet}}
L'''International Organisation for Standardisation'' ([[Organizzazione internazionale per la normazione|ISO]]) nel [[1979]] ha rettificato lo [[standard (informatica)|standard]] ''[[Open Systems Interconnection]]'' (OSI), con l'intenzione di creare un [[Modello di riferimento OSI|modello di riferimento]] per le telecomunicazioni da usare nelle reti di tutto il mondo. All'atto pratico però, lo [[standard de facto]] che viene comunemente usato nella maggior parte delle reti, è il [[TCP/IP]], definito nella [[RFC 1155]] da parte dell'[[IETF]]. Le differenze fondamentali tra i due standard sono semplici: il primo è stato definito a tavolino da un'organizzazione super partes, mentre il secondo è opera di chi costruì materialmente le prime reti, sviluppandolo sul campo. Inoltre, lo standard ISO/OSI assegna un determinato compito ad ogni livello, mentre il [[TCP/IP]] è più "elastico" e permette di sviluppare protocolli che svolgono più di un compito-base.
|