Úroveň N (více úrovní), 3 úrovně, 2 úrovně Architecture s PŘÍKLADEM

Co je N-Tier?

An Aplikace N-Tier program je takový, který je distribuován mezi tři nebo více samostatných počítačů v distribuované síti.

Nejběžnější formou n-tier je 3-tier Application a je klasifikována do tří kategorií.

  • Programování uživatelského rozhraní v počítači uživatele
  • Obchodní logika ve více centralizovaném počítači a
  • Požadovaná data v počítači, který spravuje databázi.

Tento model architektury umožňuje vývojářům softwaru vytvářet opakovaně použitelné aplikace/systémy s maximální flexibilitou.

In N-tier, "N" odkazuje na řadu úrovní nebo vrstev, které se používají jako – 2vrstvé, 3vrstvé nebo 4vrstvé atd. Říká se tomu také „Vícevrstvé Architecture”.

N-vrstvá architektura je průmyslově osvědčený model softwarové architektury. Je vhodný pro podporu aplikací klient-server na podnikové úrovni poskytováním řešení škálovatelnosti, zabezpečení, odolnosti proti chybám, opětovné použitelnosti a udržovatelnosti. Pomáhá vývojářům vytvářet flexibilní a opakovaně použitelné aplikace.

N-Tier Architecture

Zde je znázorněno schematické znázornění n-vrstvého systému – prezentační, aplikační a databázové vrstvy.

N-Tier Architecture
Úroveň N Architecture Diagram

Tyto tři vrstvy lze dále rozdělit do různých dílčích vrstev v závislosti na požadavcích.

Některé z oblíbených stránek, které tuto architekturu aplikovaly, jsou

  • MakeMyTrip.com
  • Podniková aplikace Sales Force
  • Indické železnice – IRCTC
  • Amazon.com atd.

Některé běžné termíny, které je třeba si zapamatovat, abyste lépe porozuměli konceptu.

  • Distribuovaná síť: Jedná se o síťovou architekturu, kde komponenty umístěné na počítačích v síti koordinují a komunikují své akce pouze předáváním zpráv. Je to soubor více systémů umístěných v různých uzlech, ale uživateli se jeví jako jeden systém.
    • Poskytuje jedinou datovou komunikační síť, kterou lze samostatně spravovat různými sítěmi.
    • Příklad distribuované sítě – kde jsou různí klienti připojeni v rámci architektury LAN na jedné straně a na druhé straně jsou připojeni k vysokorychlostním přepínačům spolu s rackem serverů obsahujících servisní uzly.
  • Klientský server Archistruktura: Jedná se o model architektury, kde klient (jeden program) požaduje službu od serveru (jiný program) tj. Jedná se o službu žádost-odpověď poskytovanou přes internet nebo intranet. V tomto modelu Klient bude sloužit jako jedna sada programu/kódu, která provádí sadu akcí přes síť. Zatímco Server, na druhé straně, je sada jiného programu, který posílá sady výsledků do klientského systému podle požadavku.
    • V tomto klientský počítač poskytuje koncovému uživateli rozhraní pro vyžádání služby nebo zdroje ze serveru a na druhé straně server pak požadavek zpracuje a zobrazí výsledek koncovému uživateli.
    • Příklad modelu klient-server – bankomat. Banka je server pro zpracování aplikace v rámci velkých zákaznických databází a bankomat je klient s uživatelským rozhraním s jednoduchým zpracováním aplikací.
  • Plošina: V počítačové vědě nebo softwarovém průmyslu je platforma systém, na kterém může běžet aplikační program. Skládá se z kombinace hardwaru a softwaru, které mají vestavěnou instrukci pro procesory/mikroprocesory k provádění specifických operací.
    • Jednodušeji řečeno, platforma je systém nebo základna, kde mohou běžet a spouštět libovolné aplikace, aby získaly konkrétní úlohu.
    • Příklad platformy – osobní stroj nabitý Windows 2000 nebo Mac OS X jako příklady 2 různých platforem.
  • Databáze: Jedná se o sbírku informací organizovaným způsobem, takže k nim lze snadno přistupovat, spravovat a aktualizovat.
    • Příklady databáze – MySQL, SQL Server a Oracle Database jsou některé běžné Db.

Typy N-Tier Architectures

Existují různé typy N-Tier Architectures, jako 3-vrstva Architecture, 2-Tier Architecture a 1- Tier Architecture.

Nejprve uvidíme 3-úroveň Architecture, což je velmi důležité.

3-vrstva Architecture

Když se podíváte na níže uvedený diagram, můžete to snadno identifikovat Architektura 3-tier má tři různé vrstvy.

  • Prezentační vrstva
  • Vrstva obchodní logiky
  • Databázová vrstva
Úroveň 3 Architecture Diagram
Úroveň 3 Architecture Diagram

Zde jsme vzali jednoduchý příklad studentské formy, abychom pochopili všechny tyto tři vrstvy. Obsahuje informace o studentovi, jako je jméno, adresa, e-mail a obrázek.

Vrstva uživatelského rozhraní nebo prezentační vrstva

3-vrstva Architecture

Prezentační vrstva

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

Vysvětlení kódu

  • Výše uvedený kód definuje základní návrh předního pohledu aplikací i volání funkcí dalších vrstev tak, aby je bylo možné vzájemně integrovat.

Obchodní přístupová vrstva –

Toto je funkce obchodní vrstvy, která přijímá data z aplikační vrstvy a předává je datové vrstvě.

  • Obchodní logika funguje jako rozhraní mezi vrstvou klienta a vrstvou přístupu k datům
  • Veškerá obchodní logika – jako je ověřování dat, výpočty, vkládání/úpravy dat jsou zapsány pod vrstvou obchodní logiky.
  • Zrychluje a usnadňuje komunikaci mezi klientem a datovou vrstvou
  • Definuje správnou aktivitu pracovního postupu, která je nezbytná k dokončení úkolu.
// 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;
	}
}

Vysvětlení kódu

Kód využívá funkci business vrstvy, která přijme data pro aplikační vrstvu a předá je datové vrstvě. Kódy obchodní vrstvy fungují jako prostředník mezi funkcemi definovanými v prezentační vrstvě a datovou vrstvou a volají funkce naopak.

Vrstva pro přístup k datům

Jedná se o funkci datové vrstvy, která přijímá data z obchodní vrstvy a provádí potřebné operace do databáze.

// 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;
	}
}

Vysvětlení kódu

Kód definovaný ve vrstvě datové sady výše přijímá celý požadavek: vyžádaný systémem a provedení požadovaných operací do databáze.

2-vrstva Architecture

Je to jako architektura klient-server, kde komunikace probíhá mezi klientem a serverem.

V tomto typu softwarové architektury běží prezentační vrstva nebo vrstva uživatelského rozhraní na straně klienta, zatímco vrstva datové sady se spouští a ukládá na straně serveru.

Mezi klientem a serverem není žádná vrstva obchodní logiky ani okamžitá vrstva.

Single Tier nebo 1-Tier Architecture

Je to nejjednodušší, protože je ekvivalentní spuštění aplikace na osobním počítači. Všechny požadované součásti pro spuštění aplikace jsou na jediné aplikaci nebo serveru.

Prezentační vrstva, vrstva obchodní logiky a datová vrstva jsou všechny umístěny na jednom počítači.

Výhody a nevýhody Multi-Tier Architectures

Výhody Nevýhody
Škálovatelnost Zvýšení úsilí
Data Integrity Zvýšení složitosti
Opakovatelnost
Snížená distribuce
Vylepšené zabezpečení
Vylepšená dostupnost

Jedná se tedy o součást programu, který šifruje skutečné obchodní problémy a určuje, jak lze data aktualizovat, vytvářet, ukládat nebo měnit, aby bylo možné provést celý úkol.

N-Tier Architecture Tips and Development

Vzhledem k tomu, že softwaroví profesionálové musí mít plnou kontrolu nad všemi vrstvami architektury, jsou tipy pro n-vrstvou architekturu uvedeny níže.

  1. Pokuste se co nejvíce oddělit vrstvy od jiné vrstvy pomocí techniky, jako je soap XML.
  2. Pomocí některých automatizovaných nástrojů vygenerujte mapování mezi vrstvou obchodní logiky a vrstvou relační databáze (datová vrstva). Nástroje, které mohou pomoci při modelování těchto mapovacích technik, jsou – Entity Framework a Hibernate for .Net atd.
  3. Ve vrstvě prezentujícího klienta umístěte co nejvíce společný kód pro všechny klienty do samostatné knihovny. Tím se maximalizuje opětovná použitelnost kódu pro všechny typy klientů.
  4. Vrstvu mezipaměti lze přidat do existující vrstvy pro urychlení výkonu.

Shrnutí

N-vrstvá architektura pomáhá spravovat všechny komponenty (obchodní vrstvu, prezentační vrstvu a databázovou vrstvu) aplikace pod jednou střechou.

Aplikace, které využívají malý počet uživatelů v místní síti, mohou těžit z n-vrstvé architektury.

Takový architektonický návrh zajišťuje efektivní údržbu, škálování a nasazení aplikace na internetu.