Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 АрхитектурЫ РИС.docx
Скачиваний:
30
Добавлен:
22.08.2019
Размер:
37.16 Кб
Скачать

2.3.2 Двухуровневые модели

К двухуровневым моделям архитектуры «клиент-сервер» относятся:

1) модель файлового сервера (FS-модель);

2) модель удаленного доступа RDA;

3) модель сервера баз данных [13, 14, 15].

FS-модель составляет основу архитектуры «файл-сервер», но ее можно отнести и к классу двухуровневых моделей «клиент-сервер». Уточним FS-модель с точки зрения распределения функций приложения. В этой модели презентационная логика, бизнес-логика и функции обработки и управления данными располагаются на клиенте. На сервере находятся файлы с данными и поддерживается доступ к данным (рис. 2.5).

Безусловно, FS-модель не отвечает современным представлениям о технологии «клиент-сервер» в общепринятом смысле, поэтому этот способ организации распределенных вычислений рассматривается как отдельная архитектура файлового сервера.

В

Рис. 1.12. Уточненная ES-модель

модели удаленного доступа RDA (Remote Data Access) база данных хранится на сервере (отдельно выделенном компьютере), здесь же размещается ядро СУБД. На клиенте функционирует PL- и BL-логика (рис. 2.6).

Как видите, клиент заметно «похудел» по сравнению с FS-мо-делью, зато значительно расширились функции сервера, сократился сетевой трафик, а самое главное достоинство модели RDA: появился язык SQL с расширенным множеством команд определения дан-ных и манипулирования данными, который унифицировал интерфейс клиент-сервер.

Достоинства RDA-модели:

  • перенос Business Logic на клиента существенно разгружает сервер БД, сводя к минимуму общее число процессов в операционной системе;

  • сервер БД освобождается от несвойственных ему функций, а значит процессор можно целиком загрузить операциями обработки запросов, данных и транзакций;

  • резко уменьшается загрузка сети.

Недостатки RDA-модели:

  • по-прежнему высокий сетевой трафик, особенно при большом количестве клиентов;

  • излишнее дублирование кода приложения, например повторение бизнес-логики для каждого клиента;

  • усложнение клиентских приложений в части контроля за ин-формационными ресурсами (например проверка наличия товара на складе при приеме заказа в системе ATOS). Сервер играет пассивную роль.

Модель активного сервера DBS (Data Base Server) решает проблемы RDA-модели за счет переноса бизнес-логики на сервер. Основу модели сервера составляет механизм хранимых программных единиц (ПрЕ): процедур, функций и триггеров как объектов БД. Механизм триггеров отслеживает текущее состояние БД, механизм ограничений целостности осуществляет синтаксический и семантический контроль (рис. 2.7). DBS-модель поддерживает большинство современных СУБД: Oracle, Sybase, Ingres, Informix, MS SQL Server, хотя функциональные возможности у них разные. Бизнес-логика в данной модели распределена между клиентом и сервером. На сервере бизнес-логика реализована в виде хранимых ПрЕ, которые хранятся в БД, а управляются сервером. В базе данных также накапливаются данные и формируется база метаданных (БМД). Клиентское приложение обращается к серверу с командой запуска ПрЕ, а сервер при необходимости выполняет ее и фиксирует изменения в БД. Сервер возвращает результат запроса клиенту либо для вы-вода на периферийное устройство, либо для выполнения части бизнес-логики, которая расположена на клиенте. При таком способе распределения обработки данных сетевой трафик резко уменьшается.

Триггер, подобно электронному триггеру, срабатывает на оп-ределенные события, состояния БД. Триггеры запускаются на выполнение ядром СУБД при попытке пользователя вставить, удалить или изменить строку таблицы БД. Причем триггер может быть выполнен до или после выполнения соответствующего SQL-оператора. Для написания триггеров и ПрЕ используется процедурное расширение подъязыка SQL, например, язык PL/SQL для сервера Oracle (см. подраздел 11.4).

Достоинства DBS-модели по отношению к RDA:

  • возможность централизованного администрирования прикладных функций;

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

  • возможность разделения процедур несколькими приложениями и экономия ресурсов компьютера за счет использования единожды созданного плана выполнения SQL-запроса.

Одним из недостатков рассмотренной модели является большая загрузка сервера. Действительно, сервер выполняет впечатляющий набор функций (подробно рассмотрим на примере сервера Oracle в разделе 11) и обслуживает множество клиентов. Для разгрузки сервера были разработаны многоуровневые модели и, в частности трехуровневая модель.