logo

Architettura client-server a tre livelli in un sistema distribuito

In questo articolo entreremo nei dettagli sull'architettura client-server a tre livelli. Il tipo più comune di architettura multilivello in sistemi distribuiti è un'architettura client-server a tre livelli. In questa architettura, l'intera applicazione è organizzata in tre livelli di elaborazione

  • Livello di presentazione
  • Livello dell'applicazione
  • Livello dati

Il vantaggio principale dei tre livelli nell'architettura client-server è che questi livelli vengono sviluppati e mantenuti in modo indipendente e ciò non avrà alcun impatto sugli altri livelli in caso di modifiche. Consente prestazioni migliori e può essere realizzata una scalabilità ancora maggiore nell'architettura poiché, con la crescente domanda, è possibile aggiungere più server.



Cos'è l'architettura a tre livelli?

L'architettura a tre livelli è un modello di progettazione di applicazioni software ben consolidato che organizza l'applicazione nei tre livelli di elaborazione logici e fisici come segue:

  • Livello di presentazione
  • Livello dell'applicazione
  • Livello dati

I tre livelli in dettaglio

Livello di presentazione

È l'interfaccia utente e il livello più alto dell'architettura. Il suo scopo è ricevere la richiesta dal client e visualizzare le informazioni al client. Comunica con altri livelli utilizzando un browser Web poiché fornisce output sul browser. Se parliamo di livelli basati sul Web, questi vengono sviluppati utilizzando linguaggi come: HTML , CSS , JavaScript.

Livello dell'applicazione

È il livello intermedio dell'architettura noto anche come livello logico poiché le informazioni/richieste raccolte tramite il livello di presentazione vengono elaborate in dettaglio qui. Interagisce anche con il server che memorizza i dati. Elabora la richiesta del cliente, la formatta e la rinvia al cliente. È sviluppato utilizzando linguaggi come- Pitone , Giava , PHP, ecc.



unisci l'ordinamento Java

Livello dati

È l'ultimo livello dell'architettura noto anche come livello database. Viene utilizzato per memorizzare le informazioni elaborate in modo che possano essere recuperate in seguito quando richiesto. È costituito da server di database come- Oracolo , MySQL, DB2, ecc. La comunicazione tra il livello di presentazione e il livello dati viene eseguita utilizzando il livello intermedio, ovvero il livello applicazione.

Architettura a tre livelli

Livello contro livello

Livello



modello di progettazione del metodo di fabbrica

Strato

Il livello si riferisce alla separazione fisica dei componenti.

Il livello si riferisce alla separazione logica di un'applicazione.

ddl vs dml

I livelli sono fisicamente separati e sulle diverse macchine sono in esecuzione server.

I livelli sono logicamente separati ma funzionano sugli stessi server o macchine.

La scalabilità di un'applicazione è molto elevata.

La scalabilità di un'applicazione è media.

I livelli comuni in un'architettura multilivello includono il livello di presentazione (interfaccia utente), il livello di applicazione (logica aziendale) e il livello di dati (database).

Ogni livello si concentra su responsabilità specifiche, come presentazione, logica aziendale e accesso ai dati, all'interno di un singolo livello.

Applicazione a tre livelli nello sviluppo Web

L'applicazione Web avrà gli stessi livelli delle tre architetture ma l'unica differenza è che avranno nomi diversi.

  1. Server web: Il server Web è un livello di presentazione di un'architettura a tre livelli che funge da livello di presentazione o livello UI (interfaccia utente). Questo contenuto può essere statico o dinamico in base ai requisiti, ad esempio un sito di e-commerce in cui gli utenti possono aggiungere prodotti al carrello, inserire i dettagli di pagamento o creare un account.
  2. Server dell'applicazione: Il livello applicativo è un livello intermedio che consiste nella logica completa richiesta per l'azienda che elaborerà gli input dell'utente e così via. Eseguirà la logica simile alle query sul database di inventario per restituire la disponibilità del prodotto o aggiungere dettagli al profilo di un cliente.
  3. Server della banca dati: Questo è il livello back-end di un'applicazione web e comprende tutti i dati, quindi in questo livello ci saranno principalmente database come MySQL, Oracle, DB2 o PostgreSQL.

Altre architetture multilivello

L'architettura a tre livelli è ampiamente utilizzata per lo sviluppo di applicazioni, esistono altre architetture come menzionato di seguito.

se di Rudyard Kipling spiegazione riga per riga

Architettura a due livelli

Si tratta di un'architettura software fondamentale composta da due livelli o livelli, uno è client e l'altro è server, ogni livello ha la propria responsabilità e sono interconnessi tra loro o dipendenti l'uno dall'altro

Livello cliente

Il livello client è il livello più alto che è come un'interfaccia utente e una parte di interazione dell'applicazione. funziona come un browser web, un'applicazione desktop o un'app mobile, attraverso la quale l'utente interagisce con l'applicazione. È responsabile della presentazione dei dati e dell'elaborazione dell'input della domanda.

Livello server

Il livello server è uno strato inferiore che contiene la logica necessaria per gestire l'elaborazione e la gestione dei dati.

Architettura a più livelli

Architettura N-Tier, nota anche come architettura multi-tier, divide l'applicazione in vari numeri di livelli in base alla complessità e ai requisiti. di seguito sono riportati alcuni dei livelli inclusi nell'architettura.

  • Livello presentazione (livello client)
  • Livello applicazione (livello intermedio o livello di logica aziendale)
  • Livello dati (livello di archiviazione dati o livello database)
  • Livello dei servizi (servizi aziendali o servizi applicativi)
  • Livello di integrazione (servizi di integrazione).

Vantaggi dell'architettura a tre livelli

  • Viene mantenuta la separazione logica tra livello presentazione, livello applicazione e livello database.
  • Miglioramento delle prestazioni in quanto il compito è suddiviso su più macchine in macchine distribuite e inoltre ogni livello è indipendente dagli altri livelli.
  • Anche la crescente domanda di aggiunta di più server può essere gestita nell'architettura poiché i livelli possono essere scalati in modo indipendente.
  • Gli sviluppatori sono indipendenti nell'aggiornare la tecnologia di un livello poiché ciò non avrebbe alcun impatto sugli altri livelli.
  • L'affidabilità migliora con l'indipendenza dei livelli poiché i problemi di un livello non influiscono sugli altri.
  • I programmatori possono facilmente gestire separatamente il database, il codice di presentazione e la logica aziendale/applicativa. Se è necessaria una modifica nella logica aziendale/applicativa, questa non influirà sul codice di presentazione e sulla base di codice.
  • Il carico è bilanciato poiché l'attività del livello presentazione è separata dal server del livello dati.
  • La sicurezza è migliorata poiché il client non può comunicare direttamente con il livello database. Inoltre, i dati vengono convalidati a livello applicazione prima di passare a livello database.
  • L'integrità dei dati viene mantenuta.
  • Fornitura di distribuzione in una varietà di database anziché limitarsi a una particolare tecnologia.

Svantaggi dell'architettura a tre livelli

  • Il livello presentazione non può comunicare direttamente con il livello database.
  • La complessità aumenta anche con l'aumento dei livelli nell'architettura.
  • C'è un aumento nel numero di risorse poiché la base di codice, il codice di presentazione e il codice dell'applicazione devono essere mantenuti separatamente.

Domande frequenti sull'architettura a tre livelli

1. Architettura a tre livelli nei DBMS

IL sistema di gestione di database (DBMS) è diviso in tre livelli logici e fisici: il livello di presentazione, il livello di applicazione e il livello di database. Questa è nota come architettura a tre livelli in DBMS.

cos'è svn checkout

2. Architettura a tre livelli in C#

UN C# l'applicazione è divisa in tre livelli logici e fisici: il livello di presentazione, il livello di applicazione e il livello di dati. Questa è nota come architettura a tre livelli.

3. Architettura a tre livelli in AWS (Amazon Web Services)

Un'architettura a tre livelli in Servizi Web di Amazon (AWS) si riferisce alla progettazione di applicazioni o servizi Web che utilizzano risorse e servizi cloud AWS per separare l'applicazione in tre livelli logici. Ogni livello ha responsabilità specifiche e AWS fornisce una gamma di servizi per supportare l'implementazione di questa architettura.

4. Architettura a tre livelli del mobile computing

Un'architettura a tre livelli nel contesto del mobile computing si riferisce all'organizzazione di un'applicazione o di un sistema mobile in tre livelli o strati logici, ciascuno con responsabilità specifiche.