Такая архитектура вычислительных систем была распространена в 70-х и 80-х годах и реализовывалась на базе мейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или их отечественного аналога СМ-4). Характерная особенность такой архитектуры – полная «неинтеллектуальность» терминалов. Их работой управляет хост-ЭВМ. Достоинства такой архитектуры состоят в том, что пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства. Кроме того, централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы. Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – всё используемое программное обеспечение является коллективным. Использование такой архитектуры является оправданным, если хост-ЭВМ очень дорогая, например, супер-ЭВМ.
Основой распределённой архитектуры является файл-сервер. Он предоставляет клиентам (т.е. программам на ПЭВМ) свою дисковую память, то есть обеспечивает доступ к данным. Каждый клиент пользуется для работы своими ресурсами, поэтому требования к производительности файл-сервера невысоки. Основными требования будут предъявляться к файловой системе файл-сервера.
Рис. 9. Распределённая архитектура
Как видно из рис. 4.10, основная обработка данных происходит на клиентных ЭВМ, то есть клиенты в отличие от терминалов должны обладать некоторыми ресурсами, поэтому их называют «толстыми» клиентами.
Распределённая архитектура лишена недостатков централизованной архитектуры, к тому же дорогие периферийные устройства (принтеры, RAID-массивы) в такой архитектуре также могут использоваться совместно.
Основным недостатком распределённой архитектуры является то, что вся обработка данных сосредоточена внутри нескольких независимых пользовательских приложений.
Пример
Одной из важных задач по обработке данных является поиск информации. Пусть необходимо найти 5 записей некоторой таблицы, содержащей миллион таких записей. Поскольку вся обработка данных сосредоточена на некоторой клиентной ЭВМ, то для поиска файл-сервер должен передать клиенту всю таблицу целиком. То есть резко возрастает нагрузка на сеть.
Рис. 10. Архитектура распределённого приложения
Если число пользователей не слишком велико и объём общих данных также невелик, то распределённая архитектура является наилучшим выбором.
Вычислительная система, соответствующая архитектуре клиент-сервер состоит из трёх компонентов:
сервера баз данных, управляющего хранением данных, доступом и защитой, резервным копированием, отслеживающего целостность данных в соответствии с бизнес-правилами и, самое главное, выполняющего запросы клиента;
клиента, предоставляющего интерфейс пользователя, проверяющего допустимость данных, посылающего запросы к серверу;
сети и коммуникационного оборудования.
Ядром архитектуры клиент-сервер является сервер баз данных. Поскольку многие задачи, связанные с обработкой данных возложены на сервер, то нагрузка на сеть –трафик – резко снижается по сравнению с распределённой архитектурой.
Пример
Пусть необходимо найти 5 записей некоторой таблицы, содержащей миллион таких записей. Клиент посылает серверу запрос, в котором указано, какие данные должны быть найдены. Этот запрос обрабатывается сервером, сервер производит поиск и пересылает клиенту необходимые пять записей.
Другое преимущество архитектуры клиент-сервер перед распределённой состоит в том, что на сервере можно сосредоточить программы, обеспечивающие целостность данных, соответствие данных бизнес-правилам, что позволяет избежать дублирования программного кода в различных приложениях, использующих общую базу данных.
В случае архитектуры клиент-сервер сервер баз данных должен обладать высокой производительностью.
В настоящее время все современные прикладные программы ориентированы на работу с такой архитектурой вычислительного процесса.
Рис. 12. Многозвенная архитектура
Использование многозвенной архитектуры может быть рекомендовано также в случае, если некоторая программа требует для своей работы много ресурсов, то может оказаться дешевле построить тонкую сеть с одним очень мощным сервером, чем использовать несколько мощных клиентных рабочих станций. Особенно это имеет значение, если данной программой пользуются не постоянно, а время от времени.
Рис. 13. Архитектура многозвенного приложения
Разумное сочетание производительности сервера приложений и производительности рабочих станций позволят построить сеть, более дешёвую при установке и эксплуатации.
Богумирский Б.С. Руководство пользователя ПЭВМ: В 2-х ч. – СПб.: Ассоциация OILCO, 1992. – 357 с.
Головкин Б.А. Параллельные вычислительные системы. М.: Наука, 1980. – 520 с.
Елманова Н.З. Borland C++ Builder 3.0. Архитектура «клиент/сервер», многозвенные системы и Internet-приложения. – М.: Диалог-МИФИ, 1999. – 240 с.
Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си: От TurboC к Borland С++: Мн.: Выш.шк., 1992. –240 с.
Косарев В.П. Ерёмин Л.В. Компьютерные системы и сети. - М.: Финансы и статистика, 1999. – 464 с.
Кручинин С. Архитектура компьютера. Hard и Soft №4 1995.
Мельников Д.А. Информационные процессы в современных сетях. Протоколы, стандарты, интерфейсы, модели. – М.: КУДИЦ-ОБРАЗ, 1999. –256 с.