N Tier (Multi-Tier), 3-Tier, 2-Tier Architecture с ПРИМЕР

Съдържание:

Anonim

Какво е N-Tier?

Един N-Tier Application програма е тази, която е разпределена между три или повече отделни компютри в мрежата на разпределена.

Най-често срещаната форма на n-ниво е 3-степенното приложение и е класифицирано в три категории.

  • Програмиране на потребителски интерфейс в компютъра на потребителя
  • Бизнес логика в по-централизиран компютър и
  • Необходими данни в компютър, който управлява база данни.

Този архитектурен модел предоставя на разработчиците на софтуер да създават приложения / системи за многократна употреба с максимална гъвкавост.

В N-подреждане, "N" се отнася до брой редове или слоеве се използват като - две нива, 3 едностепенна или 4 нива и др . Нарича се още „ Многостепенна архитектура“ .

Архитектурата n-tier е доказан в индустрията модел на софтуерна архитектура. Подходящ е за поддръжка на клиент-сървърни приложения на ниво предприятие, като предоставя решения за мащабируемост, сигурност, устойчивост на грешки, повторна употреба и поддръжка. Помага на разработчиците да създават гъвкави и многократно използвани приложения.

В този урок ще научите -

  • Какво е N-Tier?
  • N-Tier архитектура
  • Видове N-Tier архитектури
    • 3-степенна архитектура
    • Двустепенна архитектура
    • Едностепенна или 1-степенна архитектура
  • Предимства и недостатъци на многостепенните архитектури
  • N-Tier архитектурни съвети и разработка

N-Tier архитектура

Тук е изобразено схематично представяне на n-тиерна система - слоеве за представяне, приложение и база данни.

Диаграма на архитектурата от N ниво

Тези три слоя могат да бъдат допълнително подразделени на различни подслоеве в зависимост от изискванията.

Някои от популярните сайтове, които са приложили тази архитектура, са

  • MakeMyTrip.com
  • Корпоративно приложение на Sales Force
  • Индийски железници - IRCTC
  • Amazon.com и др.

Някои често срещани термини, които трябва да запомните, за да разберете понятието по-ясно.

  • Разпределена мрежа: Това е мрежова архитектура, при която компонентите, разположени на мрежовите компютри, координират и комуникират своите действия само чрез предаване на съобщения. Това е колекция от множество системи, разположени на различни възли, но изглежда на потребителя като една система.
    • Той осигурява единна мрежа за комуникация на данни, която може да се управлява отделно от различни мрежи.
    • Пример за разпределена мрежа - където различни клиенти са свързани в архитектурата на LAN от едната страна, а от другата страна са свързани към високоскоростни комутатори, заедно с редица сървъри, съдържащи сервизни възли.
  • Клиент-сървърна архитектура: Това е архитектурен модел, при който клиентът (една програма) иска услуга от сървър (друга програма), т.е. това е услуга за отговор на заявка, предоставяна през интернет или чрез интранет.

    В този модел клиентът ще служи като един набор от програма / код, който изпълнява набор от действия по мрежата. Докато Server , от друга страна, е набор от друга програма, която изпраща наборите от резултати към клиентската система, както е поискано.

    • При това клиентският компютър предоставя интерфейс на краен потребител, за да поиска услуга или ресурс от сървър, а от друга страна сървърът обработва заявката и показва резултата на крайния потребител.
    • Пример за клиент-сървър модел - банкомат. Банката е сървърът за обработка на заявлението в рамките на големи клиентски бази данни, а банкоматът е клиентът, който има потребителски интерфейс с някаква проста обработка на приложения.
  • Платформа: В компютърната наука или софтуерната индустрия платформата е система, на която може да работи програма за приложения. Състои се от комбинация от хардуер и софтуер, които имат вградена инструкция за процесори / микропроцесори за извършване на специфични операции.
    • С по-прости думи, платформата е система или база, където всякакви приложения могат да се изпълняват и изпълняват, за да получат конкретна задача.
    • Пример за платформа - Лична машина, заредена с Windows 2000 или Mac OS X като примери за 2 различни платформи.
  • База данни: Това е събиране на информация по организиран начин, така че да може лесно да бъде достъпна, управлявана и актуализирана.
    • Примери за база данни - MySQL, SQL Server и Oracle Database са някои често срещани бази данни.

Видове N-Tier архитектури

Съществуват различни видове N-Tier архитектури, като 3-степенна архитектура, 2-степенна архитектура и 1-степенна архитектура.

Първо, ще видим тристепенна архитектура, което е много важно.

3-степенна архитектура

Разглеждайки диаграмата по-долу, можете лесно да установите, че 3-степенната архитектура има три различни слоя.

  • Представителен слой
  • Слой бизнес логика
  • База данни слой

Диаграма на архитектурата от 3 нива

Тук взехме прост пример за студентска форма, за да разберем всички тези три слоя. Той съдържа информация за студент като - име, адрес, имейл и снимка.

Слой на потребителския интерфейс или презентационен слой

Представителен слой

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();

Обяснение на кода

  • Горният код определя основното проектиране на изглед отпред на приложения, както и извикване на функциите на други слоеве, така че те да могат да бъдат интегрирани помежду си.

Слой за бизнес достъп -

Това е функцията на бизнес слоя, който приема данните от приложния слой и ги предава на слоя данни.

  • Бизнес логиката действа като интерфейс между клиентския слой и слоя за достъп до данни
  • Цялата бизнес логика - като валидиране на данни, изчисления, вмъкване / модифициране на данни се записват под слоя бизнес логика.
  • Това прави комуникацията по-бърза и лесна между клиента и слоя данни
  • Определя правилна дейност, която е необходима за изпълнение на задача.
// 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;}}

Обяснение на кода

Кодът използва функцията на бизнес слой, който ще приеме данните за приложния слой и ще ги предаде на слоя данни. Кодовете на бизнес слоя действат като посредник между функциите, дефинирани в презентационния слой и слоя данни и извикващи функциите vice -versa.

Слой за достъп до данни

Това е функцията на слоя данни, която получава данните от бизнес слоя и извършва необходимата операция в базата данни.

// 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;}}

Обяснение на кода

Кодът, дефиниран в слоя от данни по-горе, приема цялата заявка: поискана от системата и изпълняваща необходимите операции в базата данни.

Двустепенна архитектура:

Това е като архитектура клиент-сървър, където комуникацията се осъществява между клиент и сървър.

При този тип софтуерна архитектура презентационният слой или слоят на потребителския интерфейс се изпълнява от страна на клиента, докато слоят от набора от данни се изпълнява и съхранява от страна на сървъра.

Няма бизнес логически слой или непосредствен слой между клиент и сървър.

Едностепенна или едностепенна архитектура:

Той е най-простият, тъй като е еквивалентен на стартиране на приложението на персонален компютър. Всички необходими компоненти за изпълнение на приложението са на едно приложение или сървър.

Представителен слой, бизнес логически слой и слой данни се намират на една машина.

Предимства и недостатъци на многостепенните архитектури

Предимства

Недостатъци

  • Мащабируемост
  • Увеличение на усилията
  • Целостта на данните
  • Повишаване на сложността
  • Многократна употреба
  • Намалено разпределение
  • Подобрена сигурност
  • Подобрена наличност

Следователно, това е част от програма, която криптира реални бизнес проблеми и определя как данните могат да бъдат актуализирани, създавани, съхранявани или променяни, за да бъде изпълнена цялата задача.

N-Tier архитектурни съвети и разработка

Като се има предвид, че софтуерните професионалисти трябва да имат пълен контрол върху всички слоеве на архитектурата, съветите за n-tier архитектура са дадени както по-долу

  1. Опитайте се да отделите възможно най-много слоеве от друг слой, като използвате техника като сапунен XML.
  2. Използвайте някои автоматизирани инструменти, за да генерирате картографиране между бизнес логически слой и релационен слой от база данни (слой данни). Инструментите, които могат да помогнат при моделирането на тези техники за картографиране, са - Entity Framework и Hibernate за .Net и др.
  3. В слоя за представяне на клиенти поставете общ код за всички клиенти в отделна библиотека, доколкото е възможно. Това ще максимизира повторната употреба на кода за всички видове клиенти.
  4. Кеш слой може да се добави към съществуващ слой, за да се ускори производителността.

Резюме:

Архитектурата от N-ниво помага да се управляват всички компоненти (бизнес слой, презентационен слой и слой от база данни) на приложение под един покрив.

Приложенията, които използват малък брой потребители в локална мрежа, могат да се възползват от n-tier архитектура.

Такъв архитектурен дизайн установява ефективно поддържане, мащабиране и внедряване на приложение в Интернет.