Понятие и модели архитектуры «клиент-сервер»
Архитектура «клиент-сервер» появилась в конце 80-х годах ХХ века в период децентрализации структур автономных вычислительных систем и разработки распределенных систем обработки данных в виде различных видов вычислительных сетей. Децентрализация архитектуры первых вычислительных систем стала возможной в связи с появлением ПК и мини-ЭВМ, к которым перешла часть функций центральных ЭВМ. При этом компьютеры, предоставляющие те или иные ресурсы в общее пользование всем остальным компьютерам сети, были названы серверами, а компьютеры, запрашивающие для использования общие ресурсы, — клиентами. Соответственно архитектуру таких распределенных вычислительных систем стали называть архитектурой «клиент-сервер». В зависимости от вида предоставляемого ресурса различают файловый сервер, сервер баз данных (БД), сервер приложений, сервер печати, коммуникационный сервер, Интернет-сервер (WEB-сервер), почтовый сервер и другие виды серверов. Файловый сервер выполняет функции управления ЛВС, осуществляет коммуникационные связи, хранит файлы, разделяемые в сети, предоставляет доступ к совместно используемому дисковому пространству. Сервер БД содержит всю или большую часть данных, используемых компьютерами сети, и является одним из основных компонентов сети, так как все запросы к данным выполняются при его непосредственном участии. Помимо управления доступом к базам данных сервер обеспечивает безопасность и синхронизацию обращений к БД. Обеспечение безопасности БД заключается в предоставлении права доступа к БД только авторизованным пользователям. Сервер приложений выполняет одну или несколько прикладных задач, которые запускаются по командам с рабочих станций сети. Принцип работы сервера приложений заключается в выполнении на сервере всех вычислительных операций с использованием процессов получения данных с сервера БД и организации интерфейса с рабочими станциями, на мониторах которых высвечиваются результаты решений, и инициируются очередные шаги для решения задач. Сервер печати обеспечивает доступ станций сети к общим ресурсам печати. Запросы на печать, поступающие от рабочих станций, разделяются сервером на отдельные задания, ставятся в очередь и выполняются на сетевом принтере. Коммуникационный сервер организует доступ любых удаленных компьютеров к информационным ресурсам сети, используя модем и телефонные линии связи. Некоторые коммуникационные серверы обеспечивают средства эмуляции терминала для связи с мэйнфреймом или мини-ЭВМ. Интернет-сервер(WEB-сервер) служит для организации и размещения WEB-страниц и обеспечения WWW-сервиса Интернет. Почтовый сервер управляет получением и отправкой электронной почты, регистрирует почтовые сообщения, создает и поддерживает работу электронных почтовых ящиков, обеспечивает защиту сети от поступления непрофильных сообщений. Появлению клиент-серверной архитектуры предшествовали разработка и широкое использование архитектуры «файл-сервер». При архитектуре «файл-сервер», приведенной на рис.5.6, на сервере располагаются только данные. Вся обработка данных ведется на компьютере клиента, на котором находятся все программные средства для решения задачи, ведения интерфейса с пользователем и отображения результатов. Архитектура «файл-сервер» предполагает передачу всей исходной информации, необходимой для решения задачи, по каналам связи на компьютер пользователя. Применение такой архитектуры ведет к чрезмерной загрузке каналов передачи данных сети, увеличения времени решения задачи за счет времени передачи данных, невозможности одновременного использования одних данных разными пользователями и разными задачами, необходимости установки программного обеспечения на все рабочие станции сети. Рабочая станция Сервер
Глава 4. Модель «клиент-сервер» и её реализация в компьютерных сетях
Для понимания материала этой главы необходимы знания по компьютерным сетям, изложенные в предыдущей главе, а также общие понятия о вычислительной технике, изложенные в главе 1.
4.1. Определение модели «клиент-сервер»
Клиент-сервер — это модель взаимодействия процессов в вычислительной системе, при которой один процесс (клиент) делает запрос, другой процесс (сервер) его обрабатывает и возвращает первому ответ или предоставляет определенную услугу в виде вычислений, каких-либо данных и т.п.
Чаще всего процесс-клиент запускается на одном компьютере, процесс-сервер — на другом.
В общем виде модель представлена на рис. 13.
Рис. 13 Модель «клиент-сервер»
Также клиентом (рабочей станцией) в двухранговой компьютерной сети называется компьютер, на котором преобладают процессы-клиенты, а сервером — компьютер, на котором преобладают процессы-серверы. В процессе работы сети компьютер-сервер и компьютер-клиент могут меняться ролями. Любой компьютер может одновременно быть клиентом и сервером для различных видов услуг.
Требования надежности, скорости и отказоустойчивости у серверов выше, чем у рабочих станций. Среднее время простоя современных серверов может достигать всего несколько минут в год.
4.2. Виды сетевых служб
Несмотря на то, что технологии «клиент-сервер» применима как в централизованных, так и в распределенных вычислительных системах, она достигла популярности именно в компьютерных сетях.
Сетевая служба (сервис) — это определенный вид обслуживания, предоставляемый сервером.
Сетевые службы занимаются предоставлением:
- совместно используемых аппаратных ресурсов — процессорного времени, памяти, диска, принтеров;
- различных сетевых услуг — обрабатывают и предоставляют различную информацию.