Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АИС-3 (типовые архитектуры ИС).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
986.62 Кб
Скачать

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

Архитектура клиент-сервер (CSA Client-Server Architec­ture, англ.) – концепция организации сети, в которой основная часть ее ресурсов сосредо­точена в серверах, обслуживающих своих клиентов.

Техническая революция, вызванная появлением ПК, сделала возмож­ным во многих случаях иметь вычислительные и инфор­мационные ресурсы на рабочем столе пользователя и управлять ими по собственному желанию с помощью оконного графиче­ского интерфейса. Увеличение производительно­сти ПК позво­лило перенести части системы (интерфейс с пользователем, при­кладную логику) для выполнения на ПК, непосредственно на ра­бочем месте, а функции обработки данных оставить на централь­ном компьютере. Система стала распределенной – одна часть функций выполняется на цен­тральном компьютере, другая – на персональном, который связан с цен­тральным посредством ком­муникационной сети. Таким образом, появилась клиент-сервер­ная модель взаимодействия компьютеров и программ в сети и на этой основе стали развиваться средства разработки приложений для реа­лизации информационных систем [8].

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

Термины «клиент» и «сервер» обозначают роли, которые играют раз­личные компоненты в распределенной среде вычислений. Компоненты «кли­ент» и «сервер» не обязательно должны работать на разных машинах, хотя чаще всего именно так и бывает – клиент-приложение находится на рабочей станции пользователя, а сервер – на специальной выделенной машине.

Клиент формирует запрос на сервер для выполнения соответствующих функций. Например, файл-сервер обеспечивает хранение данных общего пользования, организует доступ к ним и передает данные клиенту. Обработка данных распределяется в том или ином соотношении между сервером и кли­ентом. В последнее время долю обработки, приходящуюся на клиента, стали называть «толщиной» клиента.

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

В зависимости от сложности выполняемых прикладных процессов и числа работающих клиентов различают двух- и трехуровневые архитектуры.

Н

Рис.3.3. Двухуровневая архитектура «клиент – сервер»

аиболее простой является двухуровневая (Two-tier archi­tecture, англ.) архи­тектура (рис.3.3). Здесь, клиенты выполняют простые операции обработки данных, отрабатывают интерфейс взаимодействия с сервером, обращаются к нему с запросами. Большую же часть задач обработки выполняет сервер, ко­торый для этих целей зачастую имеет базу данных (БД) и в этом случае на­зывается сервером базы данных. Сервер БД отвечает за хране­ние, управление и целостность данных, а также обеспечивает возможность одновременного дос­тупа нескольких пользователей. Клиентская часть представлена «тол­стым клиентом», то есть приложением, на котором сконцентрированы ос­новные правила работы системы и расположен программный пользова­тель­ский интерфейс.

При всей простоте построения такой архитектуры, она обладает серь­ёзными не­достатками, наиболее су­щественные из которых – высокие требо­вания к сетевым ресурсам и пропускной спо­собности сети, а также слож­ность обновления про­граммного обеспечения из-за логики взаимодействия, распределённой ме­жду клиентом и сервером БД. Кроме того, при большом количе­стве клиентов возрастают требования к аппаратному обеспечению сервера БД – самого дорогостоящего узла в лю­бой информационной системе.

Следующим шагом развития клиент-сервер­ной архитектуры стало внедрение среднего уровня, реализующего за­дачи управления механиз­мами доступа к БД (рис.3.4). В трехуровневой архитектуре (three-tier ar­chitecture, англ.) вместо единого сервера приме­няются серверы приложе­ний и серверы БД. Их ис­пользование позволяет резко увеличивать произ­водительность локальной сети.

П

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

«клиент – сервер»

люсы данной ар­хитектуры очевидны. На сервере приложений, стало возможно подклю­чать различные БД. Те­перь, сервер базы данных освобожден от задач распараллеливания работы между различными пользо­вателями, что существенно снижает его аппаратные требования. В такой си­туации оказалось возможным снизить требования к клиентским машинам за счет выполнения ресурсоемких операций сервером приложений и решающих теперь только задачи визуализации данных. Поэтому такой вариант CSA часто называют архитектурой «тонкого клиента».

Но узким местом здесь, как и в двухуровневой CSA, остаются повы­шенные требования к пропускной способности сети, что накладывает жест­кие ограничения на использование таких систем в сетях с неустойчивой свя­зью и малой пропускной способностью (сети мобильной связи, GPRS, а в ряде случаев и Internet).

Дальнейшее развитие CSA связано с многоуровневой архитектурой (N-tier architecture, англ.), которая использует средства разделения программ или распределенные объекты для разделения вычислительной нагрузки среди такого количества серверов приложений, которое необходимо при имею­щемся уровне нагрузки. При многоуровневой модели системы количество возможных клиентских мест значительно больше, чем при использовании двух- и трехзвенной моделей.