Livello N (multilivello), 3 livelli, 2 livelli Architettura con ESEMPIO
โก Riepilogo intelligente
L'architettura N-tier, detta anche architettura multi-tier, distribuisce un'applicazione su tre o piรน livelli separati, come presentazione, logica di business e dati. Questo modello migliora la scalabilitร , la sicurezza e la riutilizzabilitร delle applicazioni client-server a livello aziendale.

Cos'รจ il livello N?
An Applicazione a piรน livelli un programma รจ distribuito tra tre o piรน computer separati in una rete distribuita.
La forma piรน comune di n-tier รจ l'applicazione a 3 livelli ed รจ classificata in tre categorie.
- Programmazione dell'interfaccia utente nel computer dell'utente
- Logica aziendale in un computer piรน centralizzato e
- Dati richiesti in un computer che gestisce un database.
Questo modello architetturale offre agli sviluppatori di software un modo per creare applicazioni/sistemi riutilizzabili con la massima flessibilitร .
In Livello N, โNโ si riferisce a una serie di livelli o strati che vengono utilizzati, come ad esempio: 2 livelli, 3 livelli o 4 livelli, ecc. Si chiama anche โMulti-livello Architectura".
L'architettura n-tier ร un modello di architettura software collaudato nel settore. ร adatto a supportare applicazioni client-server di livello enterprise, fornendo soluzioni per scalabilitร , sicurezza, tolleranza ai guasti, riutilizzabilitร e manutenibilitร . Aiuta gli sviluppatori a creare applicazioni flessibili e riutilizzabili.
Livello N Architectura
Qui viene illustrata una rappresentazione schematica di un sistema a piรน livelli: livelli di presentazione, applicazione e database.

Questi tre strati possono essere ulteriormente suddivisi in diversi sottostrati a seconda delle esigenze.
Alcuni dei siti piรน famosi che hanno adottato questa architettura sono:
- MakeMyTrip.com
- Applicazione aziendale Forza vendita
- Ferrovie indiane - IRCTC
- Amazon.com, ecc.
Ecco alcuni termini comuni da ricordare per comprendere meglio il concetto:
- Rete distribuita: Si tratta di un'architettura di rete in cui i componenti, situati su computer collegati in rete, coordinano e comunicano le proprie azioni esclusivamente tramite lo scambio di messaggi. ร un insieme di piรน sistemi situati su nodi diversi, ma che appaiono all'utente come un unico sistema.
- Fornisce un'unica rete di comunicazione dati che puรฒ essere gestita separatamente da diverse reti.
- Un esempio di rete distribuita: diversi client sono connessi all'interno di un'architettura LAN da un lato e dall'altro sono connessi a switch ad alta velocitร insieme a un rack di server contenenti nodi di servizio.
- Server client Architecnologia: Si tratta di un modello architetturale in cui il client (un programma) richiede un servizio a un server (un altro programma), vale a dire Si tratta di un servizio di richiesta-risposta fornito tramite internet o attraverso una intranet. In questo modello, . servirร come un insieme di programmi/codici che eseguono una serie di azioni sulla rete. Mentre server, d'altro canto, รจ un set di un altro programma, che invia i set di risultati al sistema client come richiesto.
- In questo sistema, il computer client fornisce un'interfaccia all'utente finale per richiedere un servizio o una risorsa a un server, mentre il server elabora la richiesta e visualizza il risultato all'utente finale.
- Un esempio di modello client-server รจ un bancomat. La banca funge da server per l'elaborazione delle richieste all'interno degli ampi database dei clienti, mentre il bancomat รจ il client, dotato di un'interfaccia utente per l'elaborazione di semplici operazioni.
- Piattaforma: Nell'informatica o nell'industria del software, una piattaforma รจ un sistema su cui puรฒ essere eseguito un programma applicativo. Consiste in una combinazione di hardware e software che include istruzioni integrate per consentire a un processore/microprocessore di eseguire operazioni specifiche.
- In parole piรน semplici, la piattaforma รจ un sistema o una base su cui qualsiasi applicazione puรฒ essere eseguita per portare a termine un compito specifico.
- Un esempio di piattaforma: una macchina personale carica di Windows 2000 o Mac OS X come esempi di 2 diverse piattaforme.
- Banca dati: Si tratta di una raccolta di informazioni organizzata in modo tale da poter essere facilmente accessibili, gestite e aggiornate.
- Esempi di database โ MySQL, SQL Server e Oracle Database sono alcuni database comuni.
Tipi di livello N Architetture
Esistono diversi tipi di livello N Architecnologie, come 3 livelli Architecnologia, 2 livelli Archistruttura e 1 livello Architectura.
Innanzitutto, vedremo 3 livelli Architettura, che รจ molto importante.
3-Tier Architectura
Osservando il diagramma seguente, puoi facilmente identificarlo Architettura a 3 livelli ha tre strati diversi.
- Livello di presentazione
- Livello della logica aziendale
- Livello del database

Qui abbiamo preso un semplice esempio di modulo per studenti per comprendere tutti e tre questi livelli. Contiene informazioni sullo studente come nome, indirizzo, email e foto.
Livello dell'interfaccia utente o livello di presentazione
Livello di presentazione
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { // Object of the Property layer clsStudent objproperty=new clsStudent(); // Object of the business layer clsStudentInfo objbs=new clsStudentInfo(); // Object of the dataset in which we receive the data sent by the business layer DataSet ds=new DataSet(); // here we are placing the value in the property using the object of the //property layer objproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString()); // In this following code we are calling a function from the business layer and // passing the object of the property layer which will carry the ID till the database. ds=objbs.GetAllStudentBsIDWise(objproperty); // What ever the data has been returned by the above function into the dataset //is being populate through the presentation laye. txtId.Text=ds.Tables[0].Rows[0][0].ToString(); txtFname.Text=ds.Tables[0].Rows[0][1].ToString(); txtAddress.Text=ds.Tables[0].Rows[0][2].ToString(); txtemail.Text=ds.Tables[0].Rows[0][3].ToString();
Code Spiegazione
- Il codice sopra riportato definisce la progettazione di base dell'interfaccia utente delle applicazioni, nonchรฉ la chiamata delle funzioni di altri livelli in modo che possano essere integrati tra loro.
Livello di accesso aziendale โ
Questa รจ la funzione del livello aziendale che accetta i dati dal livello dell'applicazione e li passa al livello dati.
- La logica di business funge da interfaccia tra il livello client e il livello di accesso ai dati.
- Tutta la logica di business, come la convalida dei dati, i calcoli, l'inserimento/modifica dei dati, รจ scritta nel livello della logica di business.
- Rende la comunicazione tra il client e il livello dati piรน rapida e semplice.
- Definisce un'attivitร del flusso di lavoro corretta necessaria per completare un'attivitร .
// this is the function of the business layer which accepts the data from the //application layer and passes it to the data layer. public class clsStudentInfo { public DataSet GetAllStudentBsIDWise(clsStudent obj) { DataSet ds=new DataSet(); ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer function return ds; } }
Spiegazione del codice
Il codice utilizza le funzioni del livello business, che accettano i dati per il livello applicativo e li trasmettono al livello dati. Il codice del livello business funge da mediatore tra le funzioni definite nel livello di presentazione e nel livello dati, richiamando le funzioni in entrambe le direzioni.
Livello di accesso ai dati
Questa รจ la funzione del livello dati, che riceve i dati dal livello aziendale ed esegue l'operazione necessaria nel database.
// this is the datalayer function which is receiving the data from the business //layer and performing the required operation into the database public class clsStudentData // Data layer class { // object of property layer class public DataSet getdata_dtIDUise(clsStudent obj) { DataSet ds; string sql; sql="select * from student where Studentld=" +obj.id+ "order by Studentld; ds=new DataSet(); //this is the datalayer function which accepts the sql query and performs the //corresponding operation ds=objdt.ExecuteSql(sql); return ds; } }
Spiegazione del codice
Il codice definito nel livello del dataset sopra riportato accetta l'intera richiesta, proveniente dal sistema, ed esegue le operazioni necessarie sul database.
2-Tier Architectura
ร simile all'architettura Client-Server, in cui la comunicazione avviene tra client e server.
In questo tipo di architettura software, il livello di presentazione o interfaccia utente viene eseguito sul lato client, mentre il livello dei dati viene eseguito e memorizzato sul lato server.
Non esiste alcun livello di logica di business o livello intermedio tra client e server.
Livello singolo o 1 livello Architectura
ร la soluzione piรน semplice, in quanto equivale a eseguire l'applicazione su un personal computer. Tutti i componenti necessari al funzionamento dell'applicazione si trovano su un'unica applicazione o server.
Il livello di presentazione, il livello di logica aziendale e il livello di dati si trovano tutti su un unico computer.
Vantaggi e svantaggi del multilivello Architetture
Come ogni scelta progettuale, l'approccio a piรน livelli offre chiari vantaggi, ma anche alcuni compromessi, riassunti di seguito.
| Vantaggi | Svantaggi |
|---|---|
| Scalabilitร | Aumento dello sforzo |
| Dati Integrity | Aumento della complessitร |
| riutilizzabilitร | |
| Distribuzione ridotta | |
| Sicurezza migliorata | |
| Disponibilitร migliorata |
Pertanto, fa parte di un programma che crittografa i problemi aziendali del mondo reale e determina come i dati possono essere aggiornati, creati, archiviati o modificati per portare a termine l'attivitร completa.
Livello N ArchiSuggerimenti e sviluppo della tecnica
Considerando che i professionisti del software devono avere il pieno controllo su tutti i livelli dell'architettura, di seguito vengono forniti alcuni suggerimenti sull'architettura a n livelli:
- Cerca di disaccoppiare il piรน possibile i vari livelli utilizzando una tecnica come SOAP XML.
- Utilizzare alcuni strumenti automatizzati per generare una mappaping tra un livello di logica aziendale e un livello di database relazionale (livello dati). Strumenti che possono aiutare a modellare queste mappeping Le tecniche includono Entity Framework e Hibernate per .Net, ecc.
- Nel livello di presentazione del client, รจ consigliabile inserire il codice comune a tutti i client in una libreria separata, per quanto possibile. Ciรฒ massimizzerร il riutilizzo del codice per tutti i tipi di client.
- ร possibile aggiungere un livello di cache a un livello esistente per accelerare le prestazioni.

