Cos'è N-Tier?
Un programma di applicazione a più livelli è 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 di architettura consente agli sviluppatori di software di creare applicazioni / sistemi riutilizzabili con la massima flessibilità.
In livelli N, "N" si riferisce a un numero di livelli o livelli utilizzati come: 2 livelli, 3 livelli o 4 livelli, ecc . È anche chiamata " architettura multi-livello" .
L'architettura a più livelli è un modello di architettura software collaudato nel settore. È adatto a supportare applicazioni client-server di livello aziendale fornendo soluzioni per scalabilità, sicurezza, tolleranza ai guasti, riusabilità e manutenibilità. Aiuta gli sviluppatori a creare applicazioni flessibili e riutilizzabili.
In questo tutorial imparerai-
- Cos'è N-Tier?
- Architettura a più livelli
- Tipi di architetture a più livelli
- Architettura a 3 livelli
- Architettura a 2 livelli
- Architettura a livello singolo o 1 livello
- Vantaggi e svantaggi delle architetture multilivello
- Suggerimenti e sviluppo per l'architettura a più livelli
Architettura a più livelli
Una rappresentazione schematica di un sistema a più livelli illustra qui: presentazione, applicazione e livelli di database.

Questi tre strati possono essere ulteriormente suddivisi in diversi sottostrati a seconda delle esigenze.
Alcuni dei siti popolari che hanno applicato questa architettura sono
- MakeMyTrip.com
- Applicazione aziendale Sales Force
- Ferrovie indiane - IRCTC
- Amazon.com, ecc.
Alcuni termini comuni da ricordare, in modo da comprendere più chiaramente il concetto.
- Rete distribuita: è un'architettura di rete, in cui i componenti situati nei computer di rete coordinano e comunicano le loro azioni solo passando messaggi. Si tratta di una raccolta di più sistemi situati in diversi nodi, ma appare all'utente come un unico sistema.
- Fornisce un'unica rete di comunicazione dati che può essere gestita separatamente da reti diverse.
- Un esempio di rete distribuita, in cui diversi client sono collegati all'interno dell'architettura LAN da un lato e dall'altro sono collegati a switch ad alta velocità insieme a un rack di server contenente nodi di servizio.
- Architettura client-server: è un modello di architettura in cui il client (un programma) richiede un servizio da un server (un altro programma), cioè è un servizio di richiesta-risposta fornito su Internet o tramite una intranet.
In questo modello, il Cliente servirà come un insieme di programma / codice che esegue un insieme di azioni sulla rete. Mentre Server , d'altra parte, è un insieme di un altro programma, che invia i set di risultati al sistema client come richiesto.
- In questo, il computer client fornisce un'interfaccia a un utente finale per richiedere un servizio o una risorsa da un server e dall'altra parte il server elabora la richiesta e mostra il risultato all'utente finale.
- Un esempio di modello client-server: un bancomat. Una banca è il server per l'elaborazione dell'applicazione all'interno dei database dei clienti di grandi dimensioni e il bancomat è il client che dispone di un'interfaccia utente con alcune semplici elaborazioni dell'applicazione.
- Piattaforma: nell'informatica o nell'industria del software, una piattaforma è un sistema su cui è possibile eseguire il programma applicativo. Consiste in una combinazione di hardware e software con istruzioni integrate per processori / microprocessori per eseguire operazioni specifiche.
- In parole più semplici, la piattaforma è un sistema o una base in cui qualsiasi applicazione può essere eseguita ed eseguita per ottenere un'attività specifica.
- Un esempio di piattaforma - Una macchina personale caricata con Windows 2000 o Mac OS X come esempi di 2 diverse piattaforme.
- Database: è una raccolta di informazioni in modo organizzato in modo che possa essere facilmente accessibile, gestita e aggiornata.
- Esempi di database: MySQL, SQL Server e Oracle Database sono alcuni database comuni.
Tipi di architetture a più livelli
Esistono diversi tipi di architetture a più livelli , come architettura a 3 livelli, architettura a 2 livelli e architettura a 1 livello.
Innanzitutto, vedremo l'architettura a 3 livelli, che è molto importante.
Architettura a 3 livelli
Osservando il diagramma seguente, è possibile identificare facilmente che l' architettura a 3 livelli ha tre diversi livelli.
- Livello di presentazione
- Livello di logica aziendale
- Livello database
Qui abbiamo preso un semplice esempio di forma dello studente per comprendere tutti questi tre livelli. Contiene informazioni su uno studente come: nome, indirizzo, e-mail e immagine.
Livello interfaccia utente o livello presentazione
Livello di presentazione
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.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();
Spiegazione del codice
- Il codice precedente definisce la progettazione di base di una vista front-end delle applicazioni, nonché la chiamata delle funzioni di altri livelli in modo che possano essere integrate 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 aziendale funge da interfaccia tra il livello client e il livello di accesso ai dati
- Tutta la logica aziendale, come la convalida dei dati, i calcoli, l'inserimento / modifica dei dati, viene scritta sotto il livello della logica aziendale.
- Rende la comunicazione più rapida e semplice tra il client e il livello dati
- Definisce un'attività del flusso di lavoro adeguata 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 functionreturn ds;}}
Spiegazione del codice
Il codice utilizza la funzione del livello aziendale, che accetterà i dati per il livello dell'applicazione e li passerà al livello dati. I codici del livello aziendale agiscono da mediatore tra le funzioni definite nel livello di presentazione e nel livello dati e chiamando le funzioni viceversa.
Livello di accesso ai dati
Questa è la funzione del livello dati, che riceve i dati dal livello aziendale ed esegue le operazioni necessarie nel database.
// this is the datalayer function which is receiving the data from the business//layer and performing the required operation into the databasepublic class clsStudentData // Data layer class{// object of property layer classpublic 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 operationds=objdt.ExecuteSql(sql);return ds;}}
Spiegazione del codice
Il codice definito nel livello del set di dati sopra accetta l'intera richiesta: richiesta dal sistema ed eseguendo le operazioni richieste nel database.
Architettura a 2 livelli:
È come l'architettura client-server, dove avviene la comunicazione tra client e server.
In questo tipo di architettura software, il livello di presentazione o il livello dell'interfaccia utente viene eseguito sul lato client mentre il livello del set di dati viene eseguito e archiviato sul lato server.
Non esiste un livello di logica aziendale o un livello immediato tra client e server.
Architettura a livello singolo o 1 livello:
È il più semplice in quanto equivale a eseguire l'applicazione sul personal computer. Tutti i componenti necessari per l'esecuzione di un'applicazione si trovano su una singola applicazione o server.
Il livello di presentazione, il livello di logica aziendale e il livello di dati si trovano tutti su una singola macchina.
Vantaggi e svantaggi delle architetture multilivello
Vantaggi |
Svantaggi |
|
|
|
|
| |
| |
| |
|
Quindi, è una 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 completare l'attività.
Suggerimenti e sviluppo per l'architettura a più livelli
Considerando che i professionisti del software devono avere un controllo completo su tutti i livelli dell'architettura, i suggerimenti sull'architettura a più livelli sono forniti come di seguito
- Prova a disaccoppiare i livelli da un altro il più possibile utilizzando una tecnica come soap XML.
- Utilizzare alcuni strumenti automatizzati per generare una mappatura tra un livello di logica aziendale e un livello di database relazionale (livello dati). Gli strumenti che possono aiutare nella modellazione di queste tecniche di mappatura sono: Entity Framework e Hibernate per .Net ecc.
- Nel livello del presentatore del client, inserire il più possibile un codice comune per tutti i client in una libreria separata. Ciò massimizzerà la riutilizzabilità del codice per tutti i tipi di client.
- È possibile aggiungere un livello di cache a un livello esistente per accelerare le prestazioni.
Sommario:
L'architettura a più livelli aiuta a gestire tutti i componenti (livello aziendale, livello presentazione e livello database) di un'applicazione sotto lo stesso tetto.
Le applicazioni che utilizzano un numero limitato di utenti su una rete locale possono trarre vantaggio dall'architettura a più livelli.
Tale progettazione architettonica accerta il mantenimento, la scalabilità e la distribuzione di un'applicazione su Internet in modo efficiente.