Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л09_Технологія клієнт_сервер.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
141 Кб
Скачать
☆

6. Роль сервера. Класифікація серверів

Поняття сервер і клієнт і закріплені за ними ролі утворять програмну концепцию «клиент-сервер».

Для взаємодії із клієнтом (або клієнтами, якщо підтримується одночасна робота з декількома клієнтами) сервер виділяє необхідні ресурси міжпроцесної взаємодії (поділювана пам'ять, пайп, сокет, і т.п.) і очікує запитів на відкриття з’єднання (або запитів на надаваний сервіс). Залежно від типу такого ресурсу, сервер може обслуговувати процеси в межах однієї комп'ютерної системи або процеси на інших машинах через канали передачі даних (наприклад COMM-порт) або мережні з'єднання.

Формат запитів клієнта й відповідей сервера визначається протоколом. Специфікації відкритих протоколів описуються відкритими стандартами, наприклад протоколи Інтернету визначаються в документах RFC.

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

Класифікація стандартних серверів

Як правило, кожен сервер обслуговує один (або трохи схожих) протоколів і сервери можна класифікувати по типі послуг які вони надають.

1. Універсальні сервери

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

  • inetd від англ. internet super-server daemon демон сервісів IP - стандартний засіб UNIX-систем, програма що дозволяє писати сервери TCP/IP (і мережних протоколів інших сімейств) працюючі із клієнтом через переспрямовані inetd потоки стандартного введення й виводу (stdin й stdout).

  • RPC від англ. Remote Procedure Call віддалений виклик процедур — система інтеграції серверів у вигляді процедур доступних для виклику вилученим користувачем через уніфікований інтерфейс. Інтерфейс винайдений Sun Microsystems для своєї операційної системи (SunOS, Solaris; Unix-система), у цей час використовується як у більшості Unix-систем, так й в Windows.

  • Прикладні клієнт-серверні технології Windows:

    • (D-)COM (англ. (Distributed) ComponentObjectModel—модель складених об'єктів) і ін. — Дозволяє одним програмам виконувати операції над об'єктами даних використовуючи процедури інших програм. Спочатку дана технологія призначена для «впровадження й зв'язування об'єктів» (OLE англ. Object Linking and Embedding), але в загальному дозволяє писати широкий спектр різних прикладних серверів. COM працює тільки в межах одного комп'ютера, DCOM доступна віддалено через RPC.

    • Active-X — Розширення COM й DCOM для створення мультимедіа-додатків для Інтернету.

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

Більшість внутрішніх і мережних cпецифічних серверів Windows працюють через універсальні сервери (RPC, (D-)COM).