Livello N (multilivello), 3 livelli, 2 livelli Architettura con ESEMPIO

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 di architettura consente agli sviluppatori software di creare applicazioni/sistemi riutilizzabili con la massima flessibilità.

In Livello N, “N” si riferisce a un numero di livelli o strati utilizzati come: 2 livelli, 3 livelli o 4 livelli, ecc. Si chiama anche “Multi-livello Architecnologia”.

L'architettura n-tier è un modello di architettura software collaudato nel settore. È adatto a supportare applicazioni client-server di livello aziendale offrendo soluzioni di scalabilità, sicurezza, tolleranza agli errori, 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.

Livello N Architectura
Livello N Archidiagramma della struttura

Questi tre strati possono essere ulteriormente suddivisi in diversi sottostrati a seconda delle esigenze.

Alcuni dei siti più popolari che hanno applicato questa architettura sono

  • MakeMyTrip.com
  • Applicazione aziendale Forza vendita
  • Ferrovie indiane - IRCTC
  • Amazon.com, ecc.

Alcuni termini comuni da ricordare, così 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 tramite il passaggio di messaggi. È una raccolta di sistemi multipli situati in nodi diversi, ma appare all'utente come un singolo sistema.
    • Fornisce un'unica rete di comunicazione dati che può essere gestita separatamente da diverse reti.
    • Un esempio di rete distribuita, in cui diversi client sono connessi all'interno di un'architettura LAN da un lato e dall'altro lato sono connessi a switch ad alta velocità insieme a un rack di server contenenti nodi di servizio.
  • Server client Architecnologia: È un modello di architettura in cui il client (un programma) richiede un servizio da un server (un altro programma) vale a dire È un servizio di richiesta-risposta fornito su Internet o tramite 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, il computer client fornisce un'interfaccia a un utente finale per richiedere un servizio o una risorsa da un server e, d'altro canto, il server elabora la richiesta e visualizza 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 grandi database dei clienti 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 possono essere eseguiti programmi applicativi. Consiste in una combinazione di hardware e software che dispongono di 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 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 Db comuni.

Tipi di livello N Architetture

Esistono diversi tipi di livello N Architecnologie, come 3 livelli Architecnologia, 2 livelli Architettura 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
Livello 3 Archidiagramma della struttura
Livello 3 Archidiagramma della struttura

Qui abbiamo preso un semplice esempio di modulo studente per comprendere tutti questi tre livelli. Contiene informazioni su uno studente come: Nome, Indirizzo, Email e Immagine.

Livello dell'interfaccia utente o livello di presentazione

3-Tier Architectura

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();

Spiegazione del codice

  • Il codice precedente definisce la progettazione di base di una vista front-end delle applicazioni nonché il richiamo 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 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 nel 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 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 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 fungono da mediatore tra le funzioni definite nel livello di presentazione e nel livello dati e chiamano le funzioni viceversa.

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 set di dati sopra accetta l'intera richiesta: richiesta dal sistema ed eseguendo le operazioni richieste nel 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 livello di 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.

Livello singolo o 1 livello Architectura

È il più semplice poiché 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 un unico computer.

Vantaggi e svantaggi del multilivello Architetture

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 suggerimenti sull'architettura n-tier

  1. Prova a disaccoppiare il più possibile i livelli da un altro livello utilizzando una tecnica come soap XML.
  2. 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.
  3. Nel livello presentatore client, inserisci il più possibile un codice comune per tutti i client in una libreria separata. Ciò massimizzerà la riusabilità del codice per tutti i tipi di client.
  4. È possibile aggiungere un livello di cache a un livello esistente per accelerare le prestazioni.

Sommario

L'architettura N-tier aiuta a gestire tutti i componenti (livello aziendale, livello di presentazione e livello di database) di un'applicazione sotto lo stesso tetto.

Le applicazioni che utilizzano un numero ridotto di utenti su una rete locale possono trarre vantaggio dall'architettura n-tier.

Tale progettazione architettonica garantisce la manutenzione, l'ampliamento e la distribuzione efficiente di un'applicazione su Internet.