Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD-2007-0.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
2.68 Mб
Скачать

13.15. Двухуровневые Web-приложения

Рис. 2.22. Архитектура Web-приложения, использующего БД

При двухуровневой архитектуре Web-приложений источник БД хранится на том же компьютере, где находится Web-сервер. Для доступа к источнику БД используются модули расширения. В простейшем случае в архитектуру Web-приложений добавляется источник БД.

Схема функционирования Web-приложения при такой архитектуре заключается в следующем.

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

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

Например, если на Web-узле установлен Microsoft Internet Information Server, то могут применяться ASP-страницы, IDC/HTX-страницы, технологии CGI или ISAPI, а в случае установки сервера Apache – CGI-технология.

При необходимости формирования паараметрированного URL на уровне обозревателя проверка правильности ввода параметров запроса может выполняться с помощью сценариев JavaScript.

После того, как пользователь выбрал требуемую ссылку, обозреватель отсылает URL Web-серверу. Для обработки такого запроса сервер вызывает требуемый модуль расширения и передает ему параметры URL. Модуль расширения сервера формирует SQL-запрос к БД.

Из модуля расширения сервера доступ к БД может осуществляться различными способами и на основе различных интерфейсов. Например, в случае ASP-страниц применяется несколько уровней интерфейсов: объектный модуль ADO, объектный интерфейс OLE DB, интерфейс ODBC. Также возможен вариант непосредственного доступа к БД.

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

  • Повышенная нагрузка на Web-сервер, заключающаяся в том, что обработка URL-запросов, извлечение информации из БД и формирование HTML-страниц выполняется Web-сервера и модулями расширения Web-сервера;

  • Низкая безопасность, связанная с невозможностью, например, обеспечить требуемый уровень защиты информации в БД от сбоев во время обращения к БД из модуля расширения сервера и конфиденциальности информации БД от администратора Web-узла.

Для преодоления этих недостатков применяются Web-приложения с большим числом уровней.

13.16. Трехуровневые Web-приложения

Рис.2.23. Архитектура трехуровневого Web-приложения, использующего БД

При внесении в Web-приложение промежуточного уровня, основанного на архитектуре клиент-сервер, его архитектура расширяется до трехуровневой. При такой архитектуре клиентский уровень занимает обозреватель, на уровне сервера находится сервер БД, на промежуточном уровне находится Web-сервер и модули расширения сервера. Модуль расширения сервера выступает преобразователем протоколов между клиент-серверным приложением БД и Web-сервером.

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

Для получения данных модуль расширения Web-сервера формирует и отсылает SQL-запрос удаленному серверу БД. На компьютере, где установлен удаленный сервер БД, содержится и БД. После получения SQL-запроса удаленный сервер направляет его SQL-серверу (серверу БД). SQL-сервер обеспечивает выполнение запроса и выдачу модулю расширения Web-сервера результатов запроса. Таким образом в трехуровневой архитектуре вся обработка SQL-запроса выполняется на удаленном сервере. Достоинства такой архитектуры по сравнению с предыдущей состоят в следующем:

  • Уменьшается сетевой график – в сети циркулирует минимальный объем информации;

  • Повышается уровень безопасности информации, так как обработка запросов к БД выполняется сервером БД, который управляет доступом к БД, запрещая одновременное изменение одной записи различными пользователями и реализуя механизм транзакций;

  • Повышается устойчивость Web-приложения к сбоям;

  • Обеспечивается взаимозаменяемость компонентов архитектуры трехуровневого Web-приложения;

  • Снижается сложность модулей расширения Web-сервера, в которых отсутствует программный код, связанный с контролем БД и разграничение доступа к ней.

Недостатком данной архитектуры является увеличение времени обработки запросов, связанное с дополнительным обращением по сети к серверу БД. Для устранения этого недостатка между сервером БД и Web-сервером должны использоваться высокоскоростные надежные линии связи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]