Що таке N-Tier?
Програма N-Tier Application - це програма, яка розподіляється між трьома або більше окремими комп'ютерами в розподіленій мережі.
Найпоширенішою формою n-рівня є трирівнева заявка, і вона класифікується на три категорії.
- Програмування інтерфейсу користувача на комп'ютері користувача
- Бізнес-логіка в більш централізованому комп'ютері та
- Необхідні дані в комп’ютері, який управляє базою даних.
Ця модель архітектури забезпечує розробників програмного забезпечення для створення додатків / систем багаторазового використання з максимальною гнучкістю.
У N-рівні "N" стосується ряду рівнів або шарів, які використовуються, наприклад - 2-рівневі, 3-ярусні або 4-ярусні тощо . Її також називають « багаторівневою архітектурою» .
Архітектура n-рівня - це перевірена у галузі модель архітектури програмного забезпечення. Він підходить для підтримки клієнт-серверних програм на рівні підприємства, пропонуючи рішення щодо масштабованості, безпеки, відмовостійкості, повторного використання та ремонтопридатності. Це допомагає розробникам створювати гнучкі та багаторазові додатки.
У цьому підручнику ви дізнаєтесь-
- Що таке N-Tier?
- Архітектура N-Tier
- Типи архітектур N-рівня
- 3-рівнева архітектура
- 2-рівнева архітектура
- Однорівнева або однорівнева архітектура
- Переваги та недоліки багаторівневої архітектури
- Поради та розробка архітектури N-Tier
Архітектура N-Tier
Тут зображено схематичне зображення 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-рівнева архітектура
Подивившись на діаграму нижче, ви легко зможете визначити, що трирівнева архітектура має три різні рівні.
- Презентаційний шар
- Шар бізнес-логіки
- Шар бази даних
Тут ми взяли простий приклад форми студента, щоб зрозуміти всі ці три шари. У ньому є така інформація про студента, як - ім’я, адреса, електронна пошта та зображення.
Шар інтерфейсу користувача або рівень презентації
Презентаційний шар
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-рівня подаються нижче
- Спробуйте максимально відокремити шари від іншого шару, використовуючи таку техніку, як мильний XML.
- Використовуйте деякі автоматизовані інструменти для створення зіставлення між рівнем бізнес-логіки та реляційним рівнем бази даних (рівень даних). Інструментами, які можуть допомогти у моделюванні цих методів картографування, є - Entity Framework та Hibernate для .Net тощо.
- На рівні презентації клієнта покладіть загальний код для всіх клієнтів в окрему бібліотеку, наскільки це можливо. Це дозволить максимізувати повторне використання коду для всіх типів клієнтів.
- Шар кешу можна додати до існуючого шару для пришвидшення продуктивності.
Короткий зміст:
Архітектура N-рівня допомагає керувати всіма компонентами (бізнес-рівень, рівень презентації та рівень бази даних) програми під одним дахом.
Програми, що використовують невелику кількість користувачів у локальній мережі, можуть отримати вигоду від архітектури n-рівня.
Такий архітектурний дизайн встановлює ефективне обслуговування, масштабування та розгортання програми в Інтернеті.