Poziom N (wielopoziomowy), 3-poziomowy, 2-poziomowy Architecture z PRZYKŁADEM
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 umożliwia programistom tworzenie aplikacji/systemów wielokrotnego użytku z maksymalną elastycznością.
In Poziom N, „N” odnosi się do wielu poziomów lub warstw, takich jak – 2-poziomowy, 3-poziomowy lub 4-poziomowy itp. Nazywa się to także „Wielopoziomowy Architektura”.
Architektura n-warstwowa jest sprawdzonym w branży modelem architektury oprogramowania. Nadaje się do obsługi aplikacji klient-serwer na poziomie przedsiębiorstwa, zapewniając rozwiązania w zakresie skalowalności, bezpieczeństwa, tolerancji błędów, 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ń.
Niektóre z popularnych witryn, które zastosowały tę architekturę to:
- MakeMyTrip.com
- Aplikacja korporacyjna Sales Force
- Koleje indyjskie – IRCTC
- Amazon.com itp.
Niektóre popularne terminy do zapamiętania, aby lepiej zrozumieć koncepcję.
- Sieć rozproszona: Jest to architektura sieciowa, w której komponenty zlokalizowane w komputerach sieciowych koordynują i komunikują swoje działania wyłącznie poprzez przekazywanie wiadomości. Jest to zbiór wielu systemów zlokalizowanych w różnych węzłach, ale użytkownikowi wydaje się pojedynczym systemem.
- 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 LAN z jednej strony, a z drugiej strony są podłączeni do szybkich przełączników wraz z szafą serwerów zawierającą 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 za pośrednictwem Internetu lub intranetu. 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 zapewnia użytkownikowi końcowemu interfejs umożliwiający zażądanie usługi lub zasobu od serwera, a z 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 prostym przetwarzaniem aplikacji.
- Platforma: W informatyce lub branży oprogramowania platforma to system, na którym można uruchomić program aplikacji. Składa się z kombinacji sprzętu i oprogramowania, które mają wbudowaną instrukcję dla procesorów/mikroprocesorów, aby wykonywać określone operacje.
- Mówiąc prościej, platforma to system lub baza, na której można uruchamiać i wykonywać dowolne aplikacje w celu uzyskania określonego zadania.
- 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 to kilka popularnych baz danych.
Rodzaje N-Tier Archistruktury
Istnieją różne typy N-Tier Architechnologie, jak 3 poziomy Architecture, 2-poziomowa Architecture i 1-Tier 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 studenta, aby zrozumieć wszystkie te trzy warstwy. Zawiera informacje o studencie, takie jak – imię, 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();
Objaśnienie kodu
- Powyższy kod określa podstawowe projektowanie widoku front-end aplikacji oraz wywoływanie funkcji innych warstw, tak aby można było je ze sobą zintegrować.
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 pomiędzy warstwą Klienta a Warstwą Dostępu do Danych
- Cała logika biznesowa – jak walidacja danych, obliczenia, wstawianie/modyfikacja danych – jest zapisana w warstwie logiki biznesowej.
- Dzięki temu komunikacja pomię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
W kodzie wykorzystano funkcję warstwy biznesowej, która przyjmie dane do warstwy aplikacji i przekaże je do warstwy danych. Kody warstwy biznesowej pełnią rolę mediatora pomiędzy funkcjami zdefiniowanymi w warstwie prezentacji i warstwie danych i wywoływaniem funkcji 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 w warstwie zbioru danych powyżej akceptuje całe żądanie: zażądane przez system i wykonujące 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.
Pomiędzy klientem a serwerem nie ma warstwy logiki biznesowej ani warstwy bezpośredniej.
Pojedynczy lub 1-poziomowy Architektura
Jest to najprostsza metoda, równoznaczna z uruchomieniem aplikacji na komputerze osobistym. Wszystkie komponenty 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 wielopoziomowości Archistruktury
Zalety | Niedogodności |
---|---|
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 w jak największym stopniu oddzielić warstwy od innej warstwy, używając techniki takiej jak mydło XML.
- Użyj zautomatyzowanych narzędzi, aby wygenerować mapowanie pomię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ść w miarę możliwości wspólny kod dla wszystkich klientów w osobnej bibliotece. Zmaksymalizuje to możliwość ponownego użycia kodu dla wszystkich typów klientów.
- Aby zwiększyć wydajność, do istniejącej warstwy można dodać warstwę pamięci podręcznej.
Podsumowanie
Architektura n-warstwowa pozwala zarządzać wszystkimi komponentami aplikacji (warstwą biznesową, warstwą prezentacji i warstwą bazy danych) w ramach jednego systemu.
Aplikacje wykorzystujące niewielką liczbę użytkowników w sieci lokalnej mogą czerpać korzyści z architektury n-warstwowej.
Taki projekt architektoniczny zapewnia wydajne utrzymanie, skalowanie i wdrażanie aplikacji w Internecie.