Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД ЭКЗАМЕН.docx
Скачиваний:
8
Добавлен:
24.09.2019
Размер:
94.22 Кб
Скачать
  1. Сервер приложений. Трехуровневая модель.

Сервер приложений  — это программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), который определен самой платформой.

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

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

Преимущества серверов приложений

Целостность данных и кода

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

Централизованная настройка и управление

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

Безопасность

Сервер приложений действует как центральная точка, используя которую, поставщики сервисов могут управлять доступом к данным и частям самих приложений, что считается преимуществом защиты. Её наличие позволяет переместить ответственность за аутентификацию с потенциально небезопасного уровня клиента на уровень сервера приложений, при этом дополнительно скрывая уровень базы данных.

Поддержка транзакций

Транзакция представляет собой единицу активности, во время которой большое число изменений ресурсов (в одном или различных источниках) может быть выполнено атомарно (как неделимая единица работы). Конечные пользователи при этом могут выиграть от стандартизованного поведения системы, от уменьшения времени на разработку и от снижения стоимости. В то время как сервер приложений выполняет массу нужного генерирования кода, разработчики могут сфокусироваться на бизнес-логике. В рамках трехуровневой модели (рис. 15.1) приложения разделяются на три основных слоя (уровня) — уровень представления, уровень бизнес-логики и уровень данных.

Уровень представления реализует пользовательский интерфейс (элементы управления, осуществляющие ввод, вывод и проверку вводимых данных). На уровне бизнес-логики реализована логика работы (правила обработки данных) конкретного приложения. На уровне данных действуют механизмы обращения к хранилищам данных (файлам или базам данных) приложения. Классическое многоуровневое программирование предполагает следование двум важным правилам: обмен данными только между смежными уровнями (например, уровень представления не должен обращаться напрямую к уровню данных) и изоляцию (инкапсуляцию) уровней. Это значит, что взаимодействие между уровнями осуществляется с помощью четко определенных интерфейсов, предоставляющих смежному уровню только те методы, которые ему необходимы. Однако на практике эти правила соблюдаются не всегда. Например, часто бывает удобно объединить уровень бизнес-логики и уровень данных. Важной особенностью многоуровневого программирования является возможность повторного использования классов, реализующих различные уровни. В литературе, посвященной многоуровневому программированию в среде .NET, встречается понятие бизнес-объекта. Бизнес-объекты представляют собой объекты, реализованные на уровне бизнес-логики, в которых определены правила поведения (бизнес-правила) приложения.