Web-сервери: NCSA HTTPD, WinHTTPD, Rally, Apachie
Взаємодія «клієнт - сервер» в мережі здійснюється відповідно до визначеного стандартом, або протоколом, - сукупністю угод про встановлення / припинення зв'язку та обміні інформацією.
Зазвичай клієнт і сервер працюють в рамках єдиного прото-кола (рис. А) - Telnet, FTP, Gopher, HTTP та ін. Проте в зв'язку з недостатністю такого підходу з'являються мульти-протокольні клієнти і сервери (рис. Б), наприклад - Брау -зер Netscape Navigator. Нарешті, з'являються серверні прило-вання (брокери, роботи), які встановлюються між різнопротокольних компонентами (рис. В) і здійснюють трансформацію протоколів.
2. Різновиди функціональних структур клієнт - сервер.
Комп'ютер (процес), керуючий тим чи іншим ресур-сом, є сервером цього ресурсу, а комп'ютер, пользующий-ся їм,-клієнтів.
Кожен конкретний сервер визначається видом того ресур-са, яким він володіє. Наприклад, призначенням сервера баз даних є обслуговування запитів клієнтів, пов'язаних з обробкою даних; файловий сервер, або файл-сервер, распоря-жается файлової системою і т. д.
Цей принцип поширюється і на взаємодію про- грам. Програма, що виконує надання відповідних-ного набору послуг, розглядається в якості сервера, а про-грами, що користуються цими послугами, прийнято називати клі-ентамі. Програми мають розподілений характер, т. Е. Одна частина функцій прикладної програми реалізується в програмі-клієнті, а інша - в програмі-сервері, а для їх взаємо-дії визначається деякий протокол.
Розглянемо ці функції. Один з основних принципів тих-нології «клієнт - сервер» полягає в поділі функцій стандартного інтерактивного (діалогового) додатки на че-тире групи, що мають різну природу.
Перша група. Це функції введення і відображення даних.
Друга група об'єднує чисто прикладні функції, характерні для даної предметної області (наприклад, для банківської системи - відкриття рахунку, переказ грошей з одного рахунку на інший і т. Д.).
Третя група фундаментальні функції зберігання та управління інформаційно-обчислювальними ресурсами (базами даних, файловими системами і т. Д.).
Четверта група - службові функції, які здійснюють зв'язок між функціями перших трьох груп.
Відповідно до цього в будь-якому додатку виділяються наступні логічні компоненти:
• компонент подання (presentation), який реалізує функ-ції першої групи;
• прикладної компонент (business application), підтримую-щий функції другої групи;
• компонент доступу до інформаційних ресурсів (resource manager), що підтримує функції третьої групи, а так-же вводяться і уточнюються угоди про способи їх взаємодії (протокол взаємодії).
Відмінності в реалізації технології «клієнт - сервер» визначаються наступними факторами:
• види програмного забезпечення, в які інтегрований кожний з цих компонентів;
• механізми програмного забезпечення, що використовуються для реалізації функцій всіх трьох груп;
• способи розподілу логічних компонентів між комп'ютерами в мережі;
• механізми, використовувані для зв'язку компонентів між собою.
Виділяються чотири підходи, реалізовані в наступних технологіях:
• файловий сервер (File Server - FS);
• доступ до віддалених даних (Remote Data Access - RDA);
• сервер баз даних (Data Base Server - DBS);
• сервер додатків (Application Server - AS).
Цей підхід є базовим для локальних мереж ПК. Один з комп'ютерів в мережі призначається файловим сервером і надає іншим комп'ютерам послуги з обробки файлів.
Файловий сервер працює під управлінням мережевої операцион-ної системи і грає роль компонента доступу до інформацій-ним ресурсів (т. Е. До файлів). На інших ПК в мережі функціонує рует додаток, в кодах якого суміщені компонент перед-уявлення та прикладної компонент (рис).
Протокол обміну при такій схемі являє собою набір викликів, що забезпечують додатком доступ до файлової сис-темі на файл-сервері.
До недоліків даної технології належить низький мережевий трафік (передача безлічі файлів, необхідних додатку-нию), невелика кількість операцій маніпуляції з даними (файлами), відсутність адекватних засобів безпеки доступу до даних (захист тільки на рівні файлової системи) і т. Д.
Доступ до віддалених даних (RDA) істотно відрізняється від FS методом доступу до інформаційних ресурсів. У даній технології програми компонента уявлення і прикладного компонента суміщені і виконуються на комп'ютері клієнта. Доступ до інформаційних ресурсів забезпечується оператора-ми спеціальної мови (наприклад, мови запросовSQL, якщо мова йде про бази даних) або викликами функцій спеціальної бібліотеки (якщо є спеціальний інтерфейс прикладного програмування -API).
Запити до інформаційних ресурсів направляються по мережі віддаленого комп'ютера, який обробляє і виконує їх, повертаючи клієнту блоки даних.
ДостоінствоRDA полягає в уніфікації інтерфейсу "клієнт - сервер» у вигляді мови запитів і широкому виборі засобів розробки додатків. До недоліків можна віднести істотну завантаження мережі при взаємодії клієнта і сер-віра за допомогою запитів; неможливість адміністрування додатків в RDA, так як в одній програмі поєднуються різні за своєю природою функції (подання і при-прикладні).
Технології RDA і DBS спираються на двухзвенную схему поділу функцій:
• в RDA прикладні функції віддані програмі-клієнту (прикладної компонент комбінується з компонентом уявлення);
• в DBS відповідальність за їх виконання бере на себе ядро СУБД (прикладної компонент інтегрується в компонент, доступу до інформаційних ресурсів).
У AS реалізована трехзвенная схема поділу функцій. Тут прикладної компонент виділено як найважливіший изолиро-ний елемент програми. Порівнюючи моделі, можна заклю-чить, що AS володіє найбільшою гнучкістю і має універ-сальний характер.