Corso Database
Un dispensa di informatica sul database e sul DBMS (Database Management System)

da | 18 Gen 2006 | Informatica | 2 commenti

Architettura client server e distribuita

Indice

Il paradigma client server è un modello di iterazione tra processi software, ove processi interagenti si suddividono tra client, che richiedono servizi, e server, che offrono servizi.

Il processo client è tipicamente dedicato ad interagire con l’utente finale; esso svolge un ruolo attivo, in quanto genera autonomamente richieste di servizi. Invece, il processo server è reattivo: esso svolge una computazione solo a seguito di una richiesta da parte di un qualunque client. Normalmente, un processo client può richiedere in sequenza alcuni servizi a vari processi client.

 

Non è necessario che i processi server e client siano allocati su macchine diverse: la distinzione fra i processi client e server è un ottimo paradigma per la costruzione del software indipendentemente dalla allocazione dei processi.

  • Le funzioni di client e server sono ben identificate nel contesto delle basi di dati. Esse corrispondono a una decomposizione ideale delle competenze e professionalità: il programmatore applicativo ha la responsabilità di gestire il software relativo al client rispondendo a esigenze specifiche, mentre l’amministratore della base di dati ha la responsabilità sul server che è condiviso da varie applicazioni, e deve organizzare la base di dati così che essa garantisca prestazioni ottimali a tutti i processi client.
  • Oltre alla decomposizione funzionale dei processi e dei compiti, nelle basi di dati l’utilizzo di elaboratori diversi per client e server è particolarmente conveniente. L’elaboratore dedicato al client deve essere adatto alla interazione con l’utente; si usa spesso un personal computer, dotato di strumenti di produttività (posta elettronica, editor, ecc.) che sono tipici dell’automazione d’ufficio. Tra questi strumenti, spesso mascherate da una interfaccia amichevole, vi sono le applicazioni che richiedono l’uso della base di dati.L’elaboratore dedicato al server è dimensionato in funzione dei servizi che deve offrire.

architettura

L’organizzazione, illustrata nella figura della pagina precedente ci mostra nel server al presenza di due code, in una vengono accodate le richieste dei client, nell’altra vengono accodati i risultati delle richieste.

Il processo server monitorando la coda di ingresso svolge i servizi richiesti dai client.

INTRODUZIONE ALL’ARCHITETTURA DISTRIBUITA

Abbiamo visto che in una architettura client server una transazione (una operazione sul database) coinvolge al più un server. Quando viceversa le transazioni coinvolgono più server, parliamo di basi di dati distribuita.

Le motivazioni che portano allo sviluppo di soluzioni distribuite nella gestione dei dati sono di tipo pragmatico; esse rispondono alla esigenza di adeguare la gestione dell’impresa, che è strutturalmente distribuita.

La gestione distribuita dei dati si contrappone ad una gestione centralizzata tipica dei grandi centri di calcolo, dominante fino alla metà degli anni ottanta.

Un database distribuito è un in realtà, un database virtuale le cui componenti (reali) risiedono in un sistema distribuito, ovvero sono database fisicamente indipendenti ma correlati, che si trovano su nodi connessi tramite rete. Ogni utente può accedere ai dati del database indipendentemente dalla loro collocazione fisica effettiva, come se questi fossero locali alla propria macchina. Anzi non è neppure tenuto a sapere se le informazioni che richiede arrivano dal proprio hard disk o sono inviate, tramite rete, da un sistema remoto. Così come, nel caso di query complesse, può ignorare se il processo di elaborazione è avvenuto sul suo computer (quindi usando la sua CPU, la sua memoria centrale, oltre ai suoi dati) o su altro nodo del sistema.

2 Commenti

  1. nico96

    ottima spiegazione

    Rispondi
    • giack

      spiegazione molto chiara e utile.
      ottimi esempi molto comprensibili che aiutano a comprendere meglio.
      grazie

      Rispondi

Invia un commento

Il tuo indirizzo email non sarà pubblicato.

Share This