logo
5 модуль

16.1. Многоуровневые приложения

Говорят, что приложение имеет многоуровневую архитектуру, если оно состоит из физически разделенного программного обеспечения.

Например, если приложение использует СУБД для хранения данных, оно имеет, как минимум, два уровня. Типичный пример двухуровневой архитектуры — бухгалтерская программная система, в которой имеется одна общая база данных, располагающаяся на выделенном сервере и, собственно, программная среда, копия которой устанавливается на каждый компьютер. Программная среда в этом случае выступает клиентом по отношению к СУБД, а так как она реализует не только логику отображения данных, но и обработку данных бухгалтерского учета, то клиент называется «толстым».

В отличие от «толстого», «тонким» клиентом называют клиентское приложение, содержащее, по возможности, только логику отображения данных, не налагающее на аппаратное обеспечение компьютера пользователя больших требований. В случае работы с веб-приложением в роли тонкого клиента выступает браузер.

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

  1. Браузер + клиентская часть веб-приложения (веб-страницы, апплеты, JavaScript и др.).

  2. Сервер веб-приложений + серверная логика веб-приложения.

  3. СУБД и база данных (включая бизнес-логику, реализованную в самой базе, например, триггеры).

На рисунках ниже приведены схемы двух- и трехуровневых приложений.

Двухуровневая архитектура:

Трехуровневая архитектура:

Достоинства приведенной на схеме трехуровневой архитектуры:

К недостаткам можно отнести высокие требования к производительности серверов.