见证纪念汾酒荣获巴拿马万国博览会甲等大奖章100周年
У комп'ютерних технолог?ях трир?внева арх?тектура, синон?м триланкова арх?тектура (англ. three-tier або Multitier architecture) передбача? наявн?сть наступних компонент програми: кл??нтський застосунок (зазвичай говорять ?тонкий кл??нт? або терм?нал), п?дключений до сервера застосунк?в, який в свою чергу п?дключений до серверу бази даних.

- Кл??нт — це ?нтерфейсний (зазвичай граф?чний) компонент, який представля? перший р?вень, власне застосунок для к?нцевого користувача. Перший р?вень не повинен мати прямих зв'язк?в з базою даних (за вимогами безпеки), не повинен бути навантаженим основною б?знес-лог?кою (за вимогами масштабованост?) ? збер?гати стан програми (за вимогами над?йност?). На перший р?вень може бути винесена ? зазвичай виноситься найпрост?ша б?знес-лог?ка: ?нтерфейс авторизац??, алгоритми шифрування, перев?рка значень, що вводяться, на допустим?сть ? в?дпов?дн?сть формату, нескладн? операц?? (сортування, групування, п?драхунок значень) з даними, вже завантаженими на терм?нал.
- Сервер застосунк?в розташову?ться на другому р?вн?. На другому р?вн? зосереджена б?льша частина б?знес-лог?ки. Поза ним залишаються фрагменти, що експортуються на терм?нали (див. вище), а також розм?щен? в третьому р?вн? збережен? процедури ? тригери.
- Сервер бази даних забезпечу? збер?гання даних ? виноситься на трет?й р?вень. Зазвичай це стандартна реляц?йна або об'?ктно-ор??нтована СУБД. Якщо трет?й р?вень явля? собою базу даних разом з збереженими процедурами, тригерами ? схемою, яка опису? застосунок в терм?нах реляц?йно? модел?, то другий р?вень буду?ться як програмний ?нтерфейс, що зв'язу? кл??нтськ? компоненти з прикладною лог?кою бази даних.
У прост?й конф?гурац?? ф?зично сервер застосунк?в може бути по?днаний з сервером бази даних на одному комп'ютер?, до якого по мереж? п?дключа?ться один або дек?лька терм?нал?в.
У ?правильно?? (з точки зору безпеки, над?йност?, масштабування) конф?гурац?? сервер бази даних м?ститься на вид?леному комп'ютер? (або кластер?), до якого по мереж? п?дключен? один або к?лька сервер?в застосунк?в, до яких, в свою чергу, по мереж? п?дключаються терм?нали.
У пор?внянн? з кл??нт-серверною або файл-серверною арх?тектурою можна вид?лити так? переваги трир?внево? арх?тектури:
- масштабован?сть
- конф?гурован?сть — ?зольован?сть р?вн?в один в?д одного дозволя? (при правильному розгортанн? арх?тектури) швидко ? простими засобами переконф?гурувати систему при виникненн? збо?в або при плановому обслуговуванн? на одному з р?вн?в
- високий р?вень безпеки
- висока над?йн?сть
- низьк? вимоги до швидкост? каналу (мереж?) м?ж терм?налами ? сервером застосунк?в
- низьк? вимоги до продуктивност? ? техн?чних характеристик терм?нал?в, як насл?док зниження ?хньо? вартост?. Терм?налом може виступати не т?льки комп'ютер, але ?, наприклад, моб?льний телефон.
Недол?ки випливають з переваг. У пор?внянн? 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 в?дправля? вм?ст згенеровано? стор?нки кл??нтському браузеру.