Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_ЧАСТЬ III (Восстановлен).docx
Скачиваний:
9
Добавлен:
01.04.2025
Размер:
1.16 Mб
Скачать
  1. Многоуровневая архитектура. Модель сервера баз данных. Модель сервера приложений

Модель сервера баз данных

Рисунок 7. Модель сервера баз данных

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

Централизованный контроль выполняется с использованием механизма триггеров. Триггер - хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного событии я INSERT, DELETE, UPDATE. Триггер, как и хранимая процедура, хранится в словаре БД в откомпилированном виде, триггеры могут вызывать хранимые функции. Они могут быть использованы несколькими клиентами, а это приводит к существенному уменьшению дублирования алгоритмов обработки данных в разных клиентских приложениях.

Клиент обеспечивает логику представлений.

Сервер обслуживает множество клиентов и выполняет следующие функции:

  1. осуществляет мониторинг всех событий, которые вызывают триггеры и при возникновении события запускают соответствующий триггер.

  2. Обеспечивает автоматическое срабатывание триггеров при возникновении связанных с ним событий;

  3. Обеспечивает исполнение внутренней программы каждого триггера;

  4. Запускает хранимые процедуры по запросам пользователей из триггеров;

  5. Возвращает требуемые данные клиенту;

  6. Обеспечивает все функции СУБД: доступ к данным, контроль и поддержку целостности данных в БД, контроль доступа и др.

Используется язык PL/SQL (procedure language).

Недостатком является очень большая загрузка сервера.

Так как на сервер переложили большую часть бизнес логики приложений, то требования к клиентам резко уменьшаются. Это модель с тонким клиентом. А предыдущие модели были с толстым клиентом.

Модель сервера приложений (трехуровневая модель)

Эта модель является расширением двухуровневой модели, в ней вводится промежуточный уровень между клиентом и сервером. Он содержит один или несколько серверов приложений.

Рисунок 8. Модель сервера приложений (трехуровневая модель)

В этой модели компоненты приложений делятся между 3 исполнителями:

  1. Клиент. Обеспечивает логику представления (графический пользовательский интерфейс, локальный редактор).

  2. Серверы приложений хранят и исполняют наиболее общие правила бизнес логики, поддерживают каталоги с данными, обеспечивают обмен сообщениями и поддержку запросов (особенно в распределенных транзакциях).

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

Модель более гибкая, чем двухуровневая. Выполнение OLAP-приложений (On-line analytical processing), большая часть бизнес логики изолирована от возможностей встроенного SQL, выполняются на стандартных языках высокого уровня. Это повышает переносимость системы и ее масштабируемость.