N Tier (багаторівнева), 3-ярусна, 2-ярусна архітектура з ПРИКЛАДОМ

Зміст:

Anonim

Що таке N-Tier?

Програма N-Tier Application - це програма, яка розподіляється між трьома або більше окремими комп'ютерами в розподіленій мережі.

Найпоширенішою формою n-рівня є трирівнева заявка, і вона класифікується на три категорії.

  • Програмування інтерфейсу користувача на комп'ютері користувача
  • Бізнес-логіка в більш централізованому комп'ютері та
  • Необхідні дані в комп’ютері, який управляє базою даних.

Ця модель архітектури забезпечує розробників програмного забезпечення для створення додатків / систем багаторазового використання з максимальною гнучкістю.

У N-рівні "N" стосується ряду рівнів або шарів, які використовуються, наприклад - 2-рівневі, 3-ярусні або 4-ярусні тощо . Її також називають « багаторівневою архітектурою» .

Архітектура n-рівня - це перевірена у галузі модель архітектури програмного забезпечення. Він підходить для підтримки клієнт-серверних програм на рівні підприємства, пропонуючи рішення щодо масштабованості, безпеки, відмовостійкості, повторного використання та ремонтопридатності. Це допомагає розробникам створювати гнучкі та багаторазові додатки.

У цьому підручнику ви дізнаєтесь-

  • Що таке N-Tier?
  • Архітектура N-Tier
  • Типи архітектур N-рівня
    • 3-рівнева архітектура
    • 2-рівнева архітектура
    • Однорівнева або однорівнева архітектура
  • Переваги та недоліки багаторівневої архітектури
  • Поради та розробка архітектури N-Tier

Архітектура N-Tier

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

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

Ці три шари можна додатково розділити на різні підшари залежно від вимог.

Деякі з популярних сайтів, які застосували цю архітектуру, є

  • MakeMyTrip.com
  • Корпоративний додаток Sales Force
  • Індійські залізниці - IRCTC
  • Amazon.com тощо.

Деякі загальні терміни, які слід пам’ятати, щоб зрозуміти поняття чіткіше.

  • Розподілена мережа: це мережева архітектура, де компоненти, розташовані на мережевих комп'ютерах, координують та передають свої дії лише передаючи повідомлення. Це сукупність декількох систем, розташованих на різних вузлах, але представляється користувачеві як єдина система.
    • Він забезпечує єдину мережу передачі даних, якою можуть керувати окремо різні мережі.
    • Приклад розподіленої мережі - де різні клієнти підключені в архітектурі локальної мережі з одного боку, а з іншого боку вони підключені до високошвидкісних комутаторів разом із стійкою серверів, що містять сервісні вузли.
  • Клієнт-серверна архітектура: Це модель архітектури, коли клієнт (одна програма) запитує послугу від сервера (інша програма), тобто це послуга відповіді на запит, що надається через Інтернет або через інтрамережу.

    У цій моделі Клієнт буде виконувати функцію одного набору програми / коду, який виконує набір дій по мережі. Тоді як Server , навпаки, є набором іншої програми, яка надсилає набори результатів до клієнтської системи за запитом.

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

Типи архітектур N-рівня

Існують різні типи N-рівня архітектури, такі як 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;}}

Пояснення коду

Код використовує функцію бізнес-рівня, який прийматиме дані для рівня додатків і передаватиме їх на рівень даних. Коди бізнес-рівня виступають посередником між функціями, визначеними на рівні презентації, та рівнем даних і викликаючи функції віце-версі.

Шар доступу до даних

Це функція рівня даних, яка отримує дані з бізнес-рівня і виконує необхідну операцію в базі даних.

// 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-рівня подаються нижче

  1. Спробуйте максимально відокремити шари від іншого шару, використовуючи таку техніку, як мильний XML.
  2. Використовуйте деякі автоматизовані інструменти для створення зіставлення між рівнем бізнес-логіки та реляційним рівнем бази даних (рівень даних). Інструментами, які можуть допомогти у моделюванні цих методів картографування, є - Entity Framework та Hibernate для .Net тощо.
  3. На рівні презентації клієнта покладіть загальний код для всіх клієнтів в окрему бібліотеку, наскільки це можливо. Це дозволить максимізувати повторне використання коду для всіх типів клієнтів.
  4. Шар кешу можна додати до існуючого шару для пришвидшення продуктивності.

Короткий зміст:

Архітектура N-рівня допомагає керувати всіма компонентами (бізнес-рівень, рівень презентації та рівень бази даних) програми під одним дахом.

Програми, що використовують невелику кількість користувачів у локальній мережі, можуть отримати вигоду від архітектури n-рівня.

Такий архітектурний дизайн встановлює ефективне обслуговування, масштабування та розгортання програми в Інтернеті.