Двухуровневая архитектура "клиент/сервер" предусматривает распределение задач по работе с данными между двумя уровнями (см. таблицу).

Клиент Сервер
  • управляет пользовательским интерфейсом;
  • принимает и проверяет синтаксис введенного пользователем запроса;
  • выполняет приложение;
  • генерирует запрос к базе данных и передает его серверу;/p>
  • отображает полученные данные;

  • гарантирует соблюдение ограничений целостности;

  • выполняет запросы/обновления и возвращает результаты клиенту;

  • поддерживает системный каталог;

  • обеспечивает параллельный доступ к базе данных;

  • обеспечивает управление восстановлением.

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

    1. Максимальная загрузка сервера;
    2. Полная децентрализация управления.

    Двухуровневая архитектура обладает как достоинствами, так и недостатками.