Триярусна архітектура

У комп'ютерних технологіях трирівнева архітектура, синонім триланкова архітектура (англ. three-tier або Multitier architecture) передбачає наявність наступних компонент програми: клієнтський застосунок (зазвичай говорять «тонкий клієнт» або термінал), підключений до сервера застосунків, який в свою чергу підключений до серверу бази даних.

Огляд архітектури ред.

 
Visual overview of a Three-tiered application
  • Клієнт — це інтерфейсний (зазвичай графічний) компонент, який представляє перший рівень, власне застосунок для кінцевого користувача. Перший рівень не повинен мати прямих зв'язків з базою даних (за вимогами безпеки), не повинен бути навантаженим основною бізнес-логікою (за вимогами масштабованості) і зберігати стан програми (за вимогами надійності). На перший рівень може бути винесена і зазвичай виноситься найпростіша бізнес-логіка: інтерфейс авторизації, алгоритми шифрування, перевірка значень, що вводяться, на допустимість і відповідність формату, нескладні операції (сортування, групування, підрахунок значень) з даними, вже завантаженими на термінал.
  • Сервер застосунків розташовується на другому рівні. На другому рівні зосереджена більша частина бізнес-логіки. Поза ним залишаються фрагменти, що експортуються на термінали (див. вище), а також розміщені в третьому рівні збережені процедури і тригери.
  • Сервер бази даних забезпечує зберігання даних і виноситься на третій рівень. Зазвичай це стандартна реляційна або об'єктно-орієнтована СУБД. Якщо третій рівень являє собою базу даних разом з збереженими процедурами, тригерами і схемою, яка описує застосунок в термінах реляційної моделі, то другий рівень будується як програмний інтерфейс, що зв'язує клієнтські компоненти з прикладною логікою бази даних.

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

У «правильної» (з точки зору безпеки, надійності, масштабування) конфігурації сервер бази даних міститься на виділеному комп'ютері (або кластері), до якого по мережі підключені один або кілька серверів застосунків, до яких, в свою чергу, по мережі підключаються термінали.

Переваги ред.

У порівнянні з клієнт-серверною або файл-серверною архітектурою можна виділити такі переваги трирівневої архітектури:

  • масштабованість
  • конфігурованість — ізольованість рівнів один від одного дозволяє (при правильному розгортанні архітектури) швидко і простими засобами переконфігурувати систему при виникненні збоїв або при плановому обслуговуванні на одному з рівнів
  • високий рівень безпеки
  • висока надійність
  • низькі вимоги до швидкості каналу (мережі) між терміналами і сервером застосунків
  • низькі вимоги до продуктивності і технічних характеристик терміналів, як наслідок зниження їхньої вартості. Терміналом може виступати не тільки комп'ютер, але і, наприклад, мобільний телефон.

Недоліки ред.

Недоліки випливають з переваг. У порівнянні c клієнт-серверною або файл-серверною архітектурою можна виділити наступні недоліки трирівневої архітектури:

  • вища складність створення застосунків
  • складніша у розгортанні і адмініструванні
  • високі вимоги до продуктивності серверів застосунків і сервера бази даних, а, отже, і висока вартість серверного обладнання
  • високі вимоги до швидкості каналу (мережі) між сервером бази даних і серверами застосунків.

Приклад триланкової архітектури клієнт-сервер ред.

Компоненти триланкової архітектури, з точки зору програмного забезпечення реалізують певні сервери БД, вебсервери і браузери. Місце кожної з цих компонент може зайняти програмне забезпечення будь-якого виробника. Нижче представлено опис взаємодії компонентів трирівневої архітектури клієнт-серверного застосунку. Сервер БД представлений MySQL-сервером; сервер застосунків технологіями: ADO.NET, ASP.NET і вебсервером IIS; роль клієнта виконує будь-який веббраузер.

Браузер клієнта 1 -> Сервер IIS 2 -> Середовище виконання ASP.NET 2.0 3 -> Провайдер даних ADO.NET 2.0 4 -> Сервер MySQL 5 -> Провайдер даних ADO.NET 2.0 6 -> Середовище виконання ASP.NET 2.0 7 - > Сервер IIS 8 -> Браузер клієнта

  • 1 — браузер клієнта відправляє HTTP-запит;
  • 2 — на стороні сервера служба Web Internet Information Services (web-сервер IIS) визначає тип запитуваного ресурсу, і для випадку запиту *. aspx (розширення файлів сторінок ASP.NET) завантажує відповідну йому (вимогу) розширення Internet Server Aplication Programming Interface (ISAPI). Для сторінок aspx це розширення isapi_aspnet.dll. IIS також здійснює ідентифікацію та авторизацію користувача від якого надійшов запит. У свою чергу розширення isapi_aspnet.dll завантажує фабрику обробників ASP.NET. Далі, фабрика обробників створює об'єктну модель запитуваної сторінки і обробляє дії користувача;
  • 3 — в ході генерації відповіді застосунком ASP.NET може знадобитися звернення до БД, в цьому випадку використовуючи бібліотеки класів провайдера даних ADO.NET 2.0, середовище виконання звертається до сервера БД;
  • 4 — провайдер даних ADO.NET 2.0 передає запит на операцію з БД сервера MySQL;
  • 5 — сервер MySQL здійснює обробку запиту, виконуючи відповідні операції з БД;
  • 6 — провайдер даних ADO.NET 2.0 передає результати запиту об'єкту сторінки;
  • 7 — об'єкт сторінки з урахуванням отриманих даних здійснює рендеринг графічного інтерфейсу сторінки і направляє результати в вихідний потік;
  • 8 — сервер IIS відправляє вміст згенерованої сторінки клієнтському браузеру.

Використання ред.

Дивись також ред.