Poziom N (wielopoziomowy), 3-poziomowy, 2-poziomowy Architecture z PRZYKŁADEM
⚡ Inteligentne podsumowanie
Architektura N-Tier, zwana również architekturą wielowarstwową, dystrybuuje aplikację na trzy lub więcej oddzielnych warstwach, takich jak prezentacja, logika biznesowa i dane. Model ten poprawia skalowalność, bezpieczeństwo i możliwość ponownego wykorzystania w aplikacjach typu klient-serwer klasy korporacyjnej.

Co to jest poziom N?
An Aplikacja N-warstwowa program to program rozproszony pomiędzy trzema lub większą liczbą oddzielnych komputerów w sieci rozproszonej.
Najpopularniejszą formą n-warstwy jest aplikacja trójwarstwowa, którą dzieli się na trzy kategorie.
- Programowanie interfejsu użytkownika na komputerze użytkownika
- Logika biznesowa w bardziej scentralizowanym komputerze i
- Wymagane dane w komputerze zarządzającym bazą danych.
Ten model architektury zapewnia twórcom oprogramowania możliwość tworzenia aplikacji/systemów wielokrotnego użytku z maksymalną elastycznością.
In Poziom N, „N” odnosi się do liczby poziomów lub warstw, które są używane, takich jak – 2-poziomowy, 3-poziomowy lub 4-poziomowy itp. Nazywa się to także „Wielopoziomowy Architektura".
Architektura n-warstwowa to sprawdzony w branży model architektury oprogramowania. Nadaje się do obsługi aplikacji klient-serwer na poziomie korporacyjnym, zapewniając rozwiązania w zakresie skalowalności, bezpieczeństwa, odporności na błędy, możliwości ponownego użycia i łatwości konserwacji. Pomaga programistom tworzyć elastyczne i wielokrotnego użytku aplikacje.
Poziom N Architektura
Przedstawiono tutaj schematyczne przedstawienie systemu n-warstwowego – warstwy prezentacji, aplikacji i bazy danych.

Te trzy warstwy można dalej podzielić na różne podwarstwy, w zależności od wymagań.
Oto niektóre z popularnych witryn, w których zastosowano tę architekturę:
- MakeMyTrip.com
- Aplikacja korporacyjna Sales Force
- Koleje indyjskie – IRCTC
- Amazon.com itp.
Oto kilka powszechnie używanych pojęć, które warto zapamiętać, aby lepiej zrozumieć tę koncepcję:
- Sieć rozproszona: Jest to architektura sieciowa, w której komponenty zlokalizowane w komputerach sieciowych koordynują i komunikują swoje działania wyłącznie poprzez przesyłanie komunikatów. Jest to zbiór wielu systemów zlokalizowanych w różnych węzłach, ale dla użytkownika jest to pojedynczy system.
- Zapewnia pojedynczą sieć transmisji danych, która może być zarządzana oddzielnie przez różne sieci.
- Przykład sieci rozproszonej – w której różni klienci są połączeni w architekturze sieci LAN z jednej strony, a z drugiej strony są podłączeni do szybkich przełączników i stojaka serwerów zawierającego węzły usługowe.
- Serwer-klient Archistruktura: 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 klientem będzie służyć jako jeden zestaw programu/kodu, który wykonuje zestaw działań w sieci. Chwila z drugiej strony jest zestawem innego programu, który zgodnie z żądaniem wysyła zestawy wyników do systemu klienta.
- W tym przypadku komputer kliencki udostępnia interfejs użytkownikowi końcowemu, aby mógł on zażądać usługi lub zasobu od serwera, a serwer z drugiej strony przetwarza żądanie i wyświetla wynik użytkownikowi końcowemu.
- Przykład modelu klient-serwer – bankomat. Bank jest serwerem przetwarzającym aplikację w ramach dużych baz danych klientów, a bankomat jest klientem posiadającym interfejs użytkownika z prostym przetwarzaniem aplikacji.
- Platforma: W informatyce lub branży oprogramowania platforma to system, na którym można uruchomić program aplikacyjny. Składa się ona z kombinacji sprzętu i oprogramowania, które posiadają wbudowane instrukcje dla procesora/mikroprocesora, umożliwiające wykonywanie określonych operacji.
- Mówiąc prościej, platforma to system lub baza, na której można uruchomić dowolną aplikację i wykonać określone zadanie.
- Przykład platformy – maszyna osobista załadowana Windows 2000 lub Mac OS X jako przykłady 2 różnych platform.
- Baza danych: Jest to zbiór informacji zorganizowany w sposób umożliwiający łatwy dostęp do nich, zarządzanie nimi i ich aktualizację.
- Przykłady baz danych – MySQL, SQL Serwer i Oracle Database Oto kilka typowych baz danych.
Rodzaje N-Tier Archistruktury
Istnieją różne typy N-Tier Architechnologie, jak 3 poziomy Architecture, 2-poziomowa Archistruktura i 1-poziom Architektura.
Najpierw zobaczymy 3-poziomowe Architeksturę, która jest bardzo ważna.
3-Tier Architektura
Patrząc na poniższy diagram, możesz to łatwo zidentyfikować Architektura dwuwarstwowa ma trzy różne warstwy.
- Warstwa prezentacji
- Warstwa logiki biznesowej
- Warstwa bazy danych

Oto prosty przykład formularza studenckiego, aby zrozumieć wszystkie te trzy warstwy. Zawiera on informacje o uczniu, takie jak imię i nazwisko, adres, 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 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();
Code Wyjaśnienie
- Powyższy kod definiuje podstawowe projektowanie widoku front-end aplikacji oraz wywoływanie funkcji innych warstw, tak aby mogły być one 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 stanowi interfejs pomiędzy warstwą klienta a warstwą dostępu do danych.
- Cała logika biznesowa – taka jak walidacja danych, obliczenia, wprowadzanie/modyfikacja danych – jest napisana w warstwie logiki biznesowej.
- Dzięki temu komunikacja między klientem a warstwą danych staje się szybsza i łatwiejsza.
- Definiuje odpowiednią czynność przepływu pracy niezbędną 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 function return ds; } }
Wyjaśnienie kodu
Kod wykorzystuje funkcję warstwy biznesowej, która przyjmuje dane dla warstwy aplikacji i przekazuje je do warstwy danych. Kody warstwy biznesowej działają jako mediator między funkcjami zdefiniowanymi w warstwie prezentacji a warstwą danych i wywołują te 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 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; } }
Wyjaśnienie kodu
Kod zdefiniowany powyżej w warstwie zbioru danych akceptuje całe żądanie zażądane przez system i wykonuje wymagane operacje w bazie danych.
2-Tier Architektura
Jest to architektura typu klient-serwer, w której komunikacja odbywa się pomiędzy klientem i serwerem.
W tym typie architektury oprogramowania warstwa prezentacji, czyli warstwa interfejsu użytkownika, działa po stronie klienta, natomiast warstwa zbioru danych jest wykonywana i przechowywana po stronie serwera.
Nie ma warstwy logiki biznesowej ani warstwy pośredniej pomiędzy klientem i serwerem.
Pojedynczy lub 1-poziomowy Architektura
Jest to najprostsze rozwiązanie, ponieważ odpowiada uruchomieniu aplikacji na komputerze osobistym. Wszystkie wymagane komponenty do uruchomienia aplikacji znajdują się w jednej aplikacji lub na jednym serwerze.
Warstwa prezentacji, warstwa logiki biznesowej i warstwa danych znajdują się na jednym komputerze.
Zalety i wady wielopoziomowości Archistruktury
Jak każdy wybór projektowy, podejście wielowarstwowe niesie ze sobą wyraźne korzyści, ale też pewne kompromisy, podsumowane poniżej.
| Zalety | Wady |
|---|---|
| Skalowalność | Wzrost wysiłku |
| Dane Integrity | Wzrost złożoności |
| Wielokrotny użytek | |
| Zmniejszona dystrybucja | |
| Lepsze bezpieczeństwo | |
| Poprawiona dostępność |
Dlatego 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ć całe zadanie.
Poziom N ArchiWskazówki i rozwój technologii
Biorąc pod uwagę, że profesjonaliści zajmujący się oprogramowaniem muszą mieć pełną kontrolę nad wszystkimi warstwami architektury, poniżej podano wskazówki dotyczące architektury n-warstwowej:
- Spróbuj oddzielić warstwy od siebie tak bardzo, jak to możliwe, stosując technikę taką jak SOAP XML.
- Użyj kilku zautomatyzowanych narzędzi do wygenerowania mapyping między warstwą logiki biznesowej a warstwą relacyjnej bazy danych (warstwą danych). Narzędzia, które mogą pomóc w modelowaniu tych mapping technikami takimi jak Entity Framework i Hibernate dla .Net itp.
- W warstwie prezentera klienta, w miarę możliwości, umieść wspólny kod dla wszystkich klientów w oddzielnej bibliotece. Zmaksymalizuje to możliwość ponownego wykorzystania kodu dla wszystkich typów klientów.
- Aby zwiększyć wydajność, do istniejącej warstwy można dodać warstwę pamięci podręcznej.

