logo search
Елесеева (Лекции)

3. Архитектура клиент-сервер

Client-Server Architecture (CSA) — концепция сети, в которой основная часть ее ресурсов сосредоточена в серверах, обслуживающих своих клиентов. Серверы предоставляют клиентам различные сервисы.

Как следует из названия, архитектура CSA определяет (рис. 7) два типа взаимодействующих в сети компонентов: серверы и клиенты. Каждый из них является комплексом взаимосвязанных прикладных программ. Серверы предоставляют ресурсы, необходимые многим пользователям. К ним, в первую очередь, относятся: базы данных, файлы, память. Клиенты используют эти ресурсы и предоставляют удобные интерфейсы пользователя.

В современной архитектуре выделяется четыре группы объектов: клиенты, серверы, данные и сетевые службы. Клиенты располагаются в системах, находящихся на рабочих местах пользователей. Данные в основном хранятся в серверах. Сетевые службы являются совместно используемыми прикладными программами, которые взаимодействуют с клиентами, серверами и данными. Кроме этого, службы управляют процедурами распределенной обработки данных, информируют пользователей о происходящих в сети изменениях.

В зависимости от сложности выполняемых прикладных процессов и числа работающих клиентов различают двухуровневые и трехуровневые архитектуры. Наиболее простой является двухуровневая архитектура (рис. 7). Здесь, клиенты выполняют простые операции обработки данных, отрабатывают интерфейс взаимодействия с сервером, обращаются к нему с запросами. Большую же часть задач обработки выполняет сервер. Для этих целей он имеет базу данных.

Рис. 7. Архитектура клиент-сервер

В трехуровневой архитектуре (рис. 8) вместо единого сервера применяются серверы приложений и серверы баз данных.

Их использование позволяет резко увеличивать производительность локальной сети. В абонентскую систему в зависимости от ее производительности загружается: клиент, сервер либо сервер с группой клиентов.

Рис. 8. Трехуровневая архитектура клиент-сервер