Современные приложения типа "клиент-сервер" настолько не похожи на своих предшественников, что им было дано новое имя — многоуровневые приложения. Такая архитектура называется также n-уровневой или многоуровневой. В этой модели обработка данных распределена между клиентом и сервером, и бизнес-логика располагается на среднем уровне. С функциональной точки зрения большинство систем реализует три следующих основных задачи:
Уровень представления данных включает всю работу с пользователем. На этом уровне пользователи могут не только взаимодействовать с приложением, вводить данные и просматривать результаты запросов, но и управлять манипулированием данными и их форматированием после того, как они попадают на клиентскую сторону. В веб-технологии задачи уровня представления данных выполняет браузер.
Службы хранения данных обеспечиваются различными структурированными хранилищами информации (серверами БД, например, Microsoft SQL Server, Oracle) или неструктурированными хранилищами (Microsoft Exchange, Microsoft Queue Messaging), которые управляют и обеспечивают доступ к данным из приложения. Отдельный запрос может потребовать использования одного или более хранилищ данных.
Между этими двумя уровнями находится область для разработки распределенных приложений. Уровень бизнес-логики задает правила управления обработкой приложений, соединяет пользователя на одном конце с данными на другом.
Трехуровневая архитектура изолирует каждый сегмент функциональных возможностей. Представление не зависит от правил обработки и бизнес-логики, которая, в свою очередь, является отдельной от данных. Эта модель требует намного больше затрат на анализ и проектирование, но значительно уменьшает расходы на техническую поддержку и сопровождение и, в конечном счете, увеличивает функциональную гибкость. На рис. 16.1 представлена схема, которая описывает технологии Microsoft, обслуживающие различные уровни в системах с новой архитектурой.
Рис. 16.1. Архитектура трехуровневых систем на базе служб Microsoft