informatica

chiedi all'esperto LOGOhome


Come si sviluppa l'architettura client-server?
(risponde Luca Fini) 

Vedi anche: una successiva risposta di Valerio Cecere sull'argomento

Un programma ha architettura client server quando è diviso in due parti, ciascuna dedicata ad una parte del compito da svolgere, e le due parti interagiscono fra loro durante il funzionamento. Una delle caratteristiche principali delle applicazioni client-server è che le due parti possono essere eseguite su due computer diversi connessi da una rete.

L'architettura si dice client-server perchè l'interazione e la suddivisione dei compiti fra le due parti possono essere normalmente immaginate come un'entità che fornisce un servizio (server) e una o più entità che vengono servite (client), esattamente come potrebbe avvenire ad uno sportello di ufficio postale nel rapporto fra impiegato (server) e utenti (client).

Un tipico esempio informatico di architettura client-server può essere rappresentato da un sistema di gestione di una base di dati in cui il server è rappresentato da un processo che riceve comandi per l'introduzione o l'aggiornamento dei dati, ed i clienti dalle "interfaccie" di utente, ovvero programmi grafici con finestre ed altri dispositivi per facilitare la lettura e l'introduzione dei dati. I vantaggi di tale architettura sono molteplici:

  • Ciascuna delle due parti può essere specializzata per il proprio compito. Nell'esempio sopra il server sarà ottimizzato per l'accesso veloce ai dischi dove sono memorizati i dati, mentre i clienti saranno specializzati per gestire ambienti grafici opportuni, verificare la correttezza dei dati, etc..
  • Una volta fissato il "protocollo" ovvero la serie di comandi a cui il server può rispondere, il software del cliente può essere realizzato indipendentemente da quello del server, o anche potranno essere realizzati clienti differenti per diversi scopi (ad esempio con maschere in lingue differenti, etc.) senza modificare il server.
  • L'implementazione del server può cambiare senza che debba cambiare anche quella dei clienti.