Co to jest poziom N?
Aplikacja N-warstwowa to taka, która jest rozprowadzana na co najmniej trzech oddzielnych komputerach w sieci rozproszonej.
Najbardziej rozpowszechnioną formą n-warstw jest aplikacja trójwarstwowa, która jest podzielona na trzy kategorie.
- Programowanie interfejsu użytkownika w komputerze użytkownika
- Logika biznesowa na bardziej scentralizowanym komputerze i
- Wymagane dane na komputerze zarządzającym bazą danych.
Ten model architektury zapewnia programistom tworzenie aplikacji / systemów wielokrotnego użytku z maksymalną elastycznością.
W przypadku warstw N „N” odnosi się do szeregu warstw lub warstw, które są używane, np. - 2-warstwowe, 3-warstwowe lub 4-warstwowe itp . Jest również nazywany „ architekturą wielopoziomową” .
Architektura n-warstwowa to sprawdzony w branży model architektury oprogramowania. Jest odpowiedni do obsługi aplikacji typu klient-serwer na poziomie przedsiębiorstwa, zapewniając rozwiązania zapewniające skalowalność, bezpieczeństwo, odporność na awarie, możliwość ponownego użycia i łatwość konserwacji. Pomaga programistom w tworzeniu elastycznych i wielokrotnego użytku aplikacji.
W tym samouczku nauczysz się:
- Co to jest poziom N?
- Architektura N-warstwowa
- Typy architektur N-warstwowych
- Architektura trójwarstwowa
- Architektura 2-warstwowa
- Architektura jednowarstwowa lub jednowarstwowa
- Zalety i wady architektur wielopoziomowych
- Wskazówki i programowanie dotyczące architektury N-Tier
Architektura N-warstwowa
Schematyczna reprezentacja systemu n-warstwowego przedstawia tutaj - warstwy prezentacji, aplikacji i bazy danych.
Te trzy warstwy można dalej podzielić na różne podwarstwy w zależności od wymagań.
Niektóre z popularnych witryn, które zastosowały tę architekturę, to
- MakeMyTrip.com
- Aplikacja Sales Force dla przedsiębiorstw
- Koleje indyjskie - IRCTC
- Amazon.com itp.
Kilka typowych terminów do zapamiętania, aby lepiej zrozumieć koncepcję.
- Sieć rozproszona: Jest to architektura sieciowa, w której komponenty znajdujące się na komputerach w sieci koordynują i komunikują swoje działania tylko poprzez przekazywanie wiadomości. Jest to zbiór wielu systemów umieszczonych w różnych węzłach, ale dla użytkownika jawi się jako jeden system.
- Zapewnia pojedynczą sieć transmisji danych, która może być zarządzana oddzielnie przez różne sieci.
- Przykład sieci rozproszonej - gdzie różni klienci są połączeni w architekturze LAN z jednej strony, a z drugiej strony są podłączeni do szybkich przełączników wraz z szafą serwerową zawierającą węzły serwisowe.
- Architektura klient-serwer: Jest to model architektury, w którym klient (jeden program) żąda usługi od serwera (innego programu), tj. Jest to usługa typu żądanie-odpowiedź świadczona przez Internet lub intranet.
W tym modelu Klient będzie służył jako jeden zestaw programu / kodu, który wykonuje zestaw działań w sieci. Z drugiej strony serwer jest zbiorem innego programu, który wysyła zestawy wyników do systemu klienta zgodnie z żądaniem.
- W tym przypadku komputer kliencki zapewnia interfejs dla użytkownika końcowego w celu zażądania usługi lub zasobu z serwera, az drugiej strony serwer następnie przetwarza żądanie i wyświetla wynik użytkownikowi końcowemu.
- Przykład modelu klient-serwer - bankomat. Bank jest serwerem do przetwarzania aplikacji w dużych bazach danych klientów, a bankomat to klient posiadający interfejs użytkownika z prostą obsługą aplikacji.
- Platforma: W informatyce lub branży oprogramowania platforma to system, na którym może działać program aplikacji. Składa się z kombinacji sprzętu i oprogramowania, które mają wbudowane instrukcje dla procesorów / mikroprocesorów do wykonywania określonych operacji.
- Mówiąc prościej, platforma jest systemem lub bazą, na której można uruchamiać i wykonywać dowolne aplikacje w celu uzyskania określonego zadania.
- Przykład platformy - komputer osobisty z systemem Windows 2000 lub Mac OS X jako przykłady 2 różnych platform.
- Baza danych: jest zbiorem informacji w zorganizowany sposób, tak aby można było łatwo uzyskać do nich dostęp, zarządzać nimi i aktualizować.
- Przykłady baz danych - MySQL, SQL Server i Oracle Database to niektóre popularne bazy danych.
Typy architektur N-warstwowych
Istnieją różne typy architektur N- warstwowych , takie jak architektura trójwarstwowa, architektura dwuwarstwowa i architektura jednopoziomowa.
Najpierw zobaczymy architekturę trójwarstwową, która jest bardzo ważna.
Architektura trójwarstwowa
Patrząc na poniższy diagram, możesz łatwo zidentyfikować, że architektura trójwarstwowa ma trzy różne warstwy.
- Warstwa prezentacji
- Warstwa logiki biznesowej
- Warstwa bazy danych
Tutaj podaliśmy prosty przykład formularza studenckiego, aby zrozumieć wszystkie te trzy warstwy. Zawiera informacje o uczniu, takie jak - imię i nazwisko, adres, e-mail i zdjęcie.
Warstwa interfejsu użytkownika lub warstwa prezentacji
Warstwa prezentacji
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();
Objaśnienie kodu
- Powyższy kod definiuje podstawowe projektowanie widoku front-end aplikacji oraz wywoływanie funkcji innych warstw tak, aby mogły być ze sobą zintegrowane.
Warstwa dostępu biznesowego -
Jest to funkcja warstwy biznesowej, która przyjmuje dane z warstwy aplikacji i przekazuje je do warstwy danych.
- Logika biznesowa działa jako interfejs między warstwą klienta a warstwą dostępu do danych
- Cała logika biznesowa - taka jak walidacja danych, obliczenia, wstawianie / modyfikacja danych - jest zapisywana w warstwie logiki biznesowej.
- Przyspiesza i ułatwia komunikację między klientem a warstwą danych
- Definiuje prawidłowe działanie przepływu pracy, które jest niezbędne do wykonania zadania.
// 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;}}
Wyjaśnienie kodu
Kod korzysta z funkcji warstwy biznesowej, która przyjmie dane dla warstwy aplikacji i przekaże je do warstwy danych. Kody warstwy biznesowej pełnią rolę pośrednika między funkcjami zdefiniowanymi w warstwie prezentacji i warstwie danych oraz wywołują funkcje odwrotnie.
Warstwa dostępu do danych
Jest to funkcja warstwy danych, która odbiera dane z warstwy biznesowej i wykonuje niezbędne operacje w bazie danych.
// 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;}}
Wyjaśnienie kodu
Kod zdefiniowany w warstwie zbioru danych powyżej akceptuje całe żądanie: żądane przez system i wykonujące wymagane operacje w bazie danych.
Architektura 2-poziomowa:
Jest jak architektura klient-serwer, w której komunikacja odbywa się między klientem a serwerem.
W tego typu architekturze oprogramowania warstwa prezentacji lub warstwa interfejsu użytkownika działa po stronie klienta, podczas gdy warstwa zestawu danych jest wykonywana i przechowywana po stronie serwera.
Nie ma warstwy logiki biznesowej ani warstwy bezpośredniej między klientem a serwerem.
Architektura jednowarstwowa lub jednowarstwowa:
Jest to najprostsze, gdyż jest równoważne uruchomieniu aplikacji na komputerze osobistym. Wszystkie składniki wymagane do uruchomienia aplikacji znajdują się w jednej aplikacji lub serwerze.
Warstwa prezentacji, warstwa logiki biznesowej i warstwa danych znajdują się na jednym komputerze.
Zalety i wady architektur wielopoziomowych
Zalety |
Niedogodności |
|
|
|
|
| |
| |
| |
|
W związku z tym jest częścią programu, który szyfruje rzeczywiste problemy biznesowe i określa, w jaki sposób dane mogą być aktualizowane, tworzone, przechowywane lub zmieniane, aby wykonać pełne zadanie.
Wskazówki i programowanie dotyczące architektury N-Tier
Biorąc pod uwagę, że profesjonaliści oprogramowania muszą mieć pełną kontrolę nad wszystkimi warstwami architektury, wskazówki dotyczące architektury n-warstwowej podano poniżej
- Spróbuj oddzielić warstwy od innej warstwy tak bardzo, jak to możliwe, używając techniki takiej jak mydło XML.
- Użyj niektórych zautomatyzowanych narzędzi, aby wygenerować mapowanie między warstwą logiki biznesowej a warstwą relacyjnej bazy danych (warstwą danych). Narzędzia, które mogą pomóc w modelowaniu tych technik mapowania to - Entity Framework i Hibernate for .Net itp.
- W warstwie prezentera klienta umieść jak najwięcej wspólnego kodu dla wszystkich klientów w oddzielnej bibliotece. Pozwoli to zmaksymalizować możliwość ponownego wykorzystania kodu dla wszystkich typów klientów.
- Warstwę pamięci podręcznej można dodać do istniejącej warstwy, aby przyspieszyć działanie.
Podsumowanie:
Architektura N-warstwowa pomaga zarządzać wszystkimi komponentami (warstwą biznesową, warstwą prezentacji i warstwą bazy danych) aplikacji pod jednym dachem.
Aplikacje korzystające z małej liczby użytkowników w sieci lokalnej mogą skorzystać na architekturze n-warstwowej.
Taki projekt architektoniczny zapewnia efektywne utrzymanie, skalowanie i wdrażanie aplikacji w Internecie.