Ú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.
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
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
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.
- Pokuste se co nejvíce oddělit vrstvy od jiné vrstvy pomocí techniky, jako je soap XML.
- 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.
- 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ů.
- 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.