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