Come si sviluppa l’architettura client-server?

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.