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

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

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

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

К преимуществам данной модели можно отнести следующие ее свойства:

  • безопасность
  • надежность
  • расширяемость
  • конфигурируемость
  • уменьшение сетевого трафика
  • низкие требования к скорости сетевого соединения (между сервером приложений и терминалами) и к техническим характеристикам терминалов.

К недостаткам трехуровневой архитектуры относятся строгие требования к возможностям серверов, к скорости сетевого соединения между сервером баз данных и серверами приложений, а также высокая сложность создания приложений и администрирования в сравнении с клиент-серверными и файл-серверными моделями.

Александр Пермяков
Александр Пермяков
Родился в Екатеринбурге. Окончил 11 классов школы № 43. После чего поступил учиться в «Уральский государственный юридический университет». Потом проходил срочную службу в
Отдельной дивизии оперативного назначения имени Ф. Э. Дзержинского.