Первым признаком является то, что приложение и СУБД (с базой данных) располагаются и работают на разных компьютерах. Этим признаком клиент-серверная архитектура отличается от централизованной архитектуры.
Вторым признаком является то, что клиент и сервер находятся в одной локальной сети. Это достаточно важный признак, о котором часто забывают.
По этому признаку клиент-серверная архитектура отличается от трехуровневой архитектуры Интернета, в которой клиенты и серверы объединены не в локальной, а в глобальной сети.
Технология клиент/сервер удовлетворительно обслуживает системы уровня отдельного подразделения предприятия. Но при создании боле крупных систем уровня предприятия организация клиент/сервер сталкивается с рядом сложностей:
1. размещение бизнес-логики на компьютеpax клиентов мешает созданию единой системы с едиными правилами обработки и представления данных.
2. много сил уходит на согласование работы раз личных клиентских приложений, на построение мостов между ними, на устранение дублирования одних и тех же функций различными приложениями.
Поэтому после долгого господства архитектуры клиент/сервер на первый план все решительнее выдвигаются многоуровневые распределенные систем обработки данных,
В) Многоуровневые распределенные базы данных (и, соответственно, многоуровневые распределенные приложения)
Это относительно новый, но уже прочно завоевавший позиции путь обработки данных в сети с помощью распределенных приложений.
Наиболее распространен трехуровневый вариант архитектуры ИС:
• На нижнем уровне на компьютерах пользователя расположены приложения клиентов, обеспечивающие пользовательский интерфейс (например, Web-обозреватель);
Этот уровень состоит из «тонких клиентов» - несложных терминалов, предназначенных в основном для ввода и вывода.
• На втором уровне (middleware) расположены серверы приложений (Web-сервер), обеспечивающие обмен данными между пользователями и распределенными базами данных Сервер приложений размещается в узле сети, доступном всем клиентам. Эти программы чувствительны к загрузке процессора.
• На третьем уровне расположен удаленный сервер баз данных (БД + СУБД), принимающий информацию от серверов приложений и управляющий ими.
Последовательность обращений (команд) в трехъярусной архитектуре приведена на рисунках 2 - 4.
Рис. 2.
Рис. 3.
Рис. 4.
В этом случае фактически серверная часть задачи разбивается на два уровня - сервер приложений и сервер БД.
В такой архитектуре уровень приложения называется логическим уровнем.
Трехъярусную архитектуру приложения можно изобразить и так, как на рис.3.
Подобную концепцию обработки данных пропагандируют, в частности, фирмы Oracle и Sun.