Architektura N (wielowarstwowa), 3-warstwowa, 2-warstwowa z PRZYKŁADEM

Spisie treści:

Anonim

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.

Diagram architektury warstwy N.

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

Diagram architektury trójwarstwowej

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

  • Skalowalność
  • Zwiększenie wysiłku
  • Integralność danych
  • Wzrost złożoności
  • Możliwość ponownego użycia
  • Ograniczona dystrybucja
  • Lepsze bezpieczeństwo
  • Lepsza dostępność

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

  1. Spróbuj oddzielić warstwy od innej warstwy tak bardzo, jak to możliwe, używając techniki takiej jak mydło XML.
  2. 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.
  3. 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.
  4. 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.