- сервер терміналів - розподілене представлення даних ;
- файл-сервер - доступ до віддаленої бази даних і файлових ресурсів;
- сервер БД - віддалене уявлення даних;
- сервер додатків - віддалений додаток.
Перераховані моделі з варіаціями представлені на малюнку 2.6. Історично першою з'явилася модель розподіленого представлення даних (модель сервер терміналів). Вона реалізовувалася на універсальній ЕОМ (мейнфрейми), що виступала в ролі сервера, з підключеними до неї алфавітно-цифровими терміналами. Користувачі виконували введення даних з клавіатури терміналу, які потім передавалися на мейнфрейм і там виконувалася їх обробка, включаючи формування «картинки» з результатами. Ця «картинка» і поверталася користувачеві на екран терміналу.
Малюнок 2.6 - Моделі клієнт-серверної взаємодії
З появою персональних комп'ютерів і локальних мереж, була реалізована модель файлового сервера, який представляв доступ файлових ресурсів, в т.ч і до віддаленої бази даних. У цьому випадку виділений вузол мережі є файловим сервером, на якому розміщені файли бази даних. На клієнтах виконуються додатки, в яких сполучені компонент подання й прикладний компонент (СУБД і прикладна программма), що використовують підключену віддалену базу як локальний файл. Протоколи обміну при цьому представляють набір низькорівневих викликів операцій файлової системи.
Така модель показала свою неефективність через те, що при активній роботі з таблицями БД виникає велике навантаження на мережу. Частковим рішенням є підтримка тиражування (реплікації) таблиць і запитів. У цьому випадку, наприклад при зміні даних, оновлюється не вся таблиця, а тільки модифікована її частину.
З появою спеціалізованих СУБД з'явилася можливість реалізації іншої моделі доступу до віддаленої бази даних - моделі сервера баз даних. У цьому випадку ядро ??СУБД функціонує на сервері, прикладна програма на клієнті, а протокол обміну забезпечується за допомогою мови SQL. Такий підхід у порівнянні з файловим сервером веде до зменшення завантаження мережі й уніфікації інтерфейсу «клієнт-сервер». Однак, мережевий трафік залишається досить високим, крім того, по колишньому неможливо задовільне адміністрування додатків, оскільки в одній програмі сполучаються різні функції.
З розробкою і впровадженням на рівні серверів баз даних механізму збережених процедур з'явилася концепція активного серверу БД . У цьому випадку частина функцій прикладного компонента реалізовані у вигляді збережених процедур, виконуваних на стороні сервера. Решта прикладна логіка виконується на клієнтській стороні. Протокол взаємодії - відповідний діалект мови SQL.
Переваги такого підходу очевидні:
- можливо централізоване адміністрування прикладних функцій;
- зниження вартості володіння системою (TOC, total cost of ownership) за рахунок оренди сервера, а не його покупки;
- значне зниження мережевого трафіку (тому передаються не SQL-запити, а виклики збережених процедур).
Основний недолік - обмеженість засобів розробки збережених процедур у порівнянні з мовами високого рівня.
Реалізація прикладного компонента на стороні сервера являє наступну модель - сервер додатків. Перенесення функцій прикладного компонента на сервер знижує вимоги до конфігурації клієнтів і спрощує адміністрування, але представляє підвищені вимоги до продуктивності, безпеки і надійності сервера.
В даний час намічається тенденція повернення до того, з чого починалася клієнт-серверна архітектура - до централізації обчислень на основі моделі термінал-сервера. У сучасній реінкарнації термінали відрізняються від своїх алфавітно-цифрових предків тим, що маючи мінімум програмних і апаратних засобів, представляють мультимедійні можливості (в т.ч. графічний користувальницький інтерфейс ). Роботу терміналів забезпечує високопродуктивний сервер, куди в?? несіно все, аж до віртуальних драйверів пристроїв, включаючи драйвери відеопідсистеми.
Триланкового архітектура
Ще одна тенденція в клієнт-серверних технологіях пов'язана з усе більшим використанням розподілених обчислень. Вони реалізуються на основі моделі сервера додатків, де мережевий додаток розділене на дві і більше частин, кожна з яких може виконуватися на окремому комп'ютері. Виділені частини додатка взаємодіють один з одним, обмінюючись повідомленнями в заздалегідь погодженому форматі. У цьому випадку двухзвенная клієнт-сер...