Организация Web-доступа к базам данных с использованием SQL-запросов
твета
программы на запрос клиента. На сегодняшний день (по данным обзора Netcraft
Web Server Survey) бесспорным лидером среди Web-серверов является бесплатно
распространяемый сервер Apache. В пятерку лидеров входят также серверы
Microsoft Internet Information Server, Netscape, NCSA и WebSite.
2.4.2. Трехзвенная архитектура клиент-сервер.
Обыкновенно для небольших организаций разработчики применяют
двухзвенную архитектуру клиент-сервер, когда с рабочих станций
осуществляется удаленный доступ к базе данных, и не более того. В самых
простых, примитивных системах даже не используются возможности,
предоставляемые пользователям РСУБД (Распределения Управления Базами
данных), какие, как триггеры и сохраненные процедуры; и хотя разработчики
именуют подобные системы клиент-серверами, они имеют весьма мало общего с
истинными распределенными приложениями. Более того, идеология «толстого
клиента» принуждает к установке на рабочих местах весьма дорогостоящих
Wintel-компьютеров, способных произвести все основные вычисления обмен
данными с удаленным сервером. Операция производится сквозь толстый
многоуровневые слой провайверов, которые должны быть установлены на
персональной рабочей станции и лицензированы их разработчиками для каждого
рабочего места. Иногда получается совершенно нелепая вещь: если пропускная
способность сети не достаточно велика или или недостаточно эффективно
организован поток прохождения транзакций, то быстродействующие процессоры
клиентских машин совершенно бездействуют; в противном же случае, наоборот,
сервер базы данных «задыхается» и не успевает ответить каждому из
многочисленных и буквально долбящих его, как дятлы, клиентов. При числе
одновременно работающих клиентов более 30 необходимо переходит на
трехзвенную архитектуру. В трехзвенной архитектуре всю логику работы с
сервером можно возложить на специальный сервер приложения, а разделенные на
отдельные фрагменты приложения уменьшают нагрузку на и на машину-клиента, и
на сервер, перенося соответствующие операции на специальный сервер.
Серверная часть приложения лучше защищена, а сами приложения могут либо
непосредственно адресоваться к другим серверным приложениям, либо
маршрутизировать запросы к ним (рис. 2.8).
2.4.3. Архитектура Internet/Intranet.
Достоинства этой архитектуры (рис 2.9) сводятся к достоинствам
соответствующей части системы клиент-сервер.
Рисунок 2.8. Трехзвенная схема работы клиент-сервер.
Клиентская часть
Прикладная программа доступна с любого компьютера, на котором
инсталлирован браузер. Пользователю нет необходимости изучать интерфейс
прикладной программы, потому что он всегда преобразуется к стандарту HTML-
странички. Это помогает снизить затраты на обучение. Кроме того,
пользователя совершенно не заботят особенности хардверной платформы и
операционной системы, поскольку он имеет дело только с браузером, который
умеет делать все.
Серверная часть
Приложения доступны любому пользователю сети Internet/Intranet,
имеющему право образаться к ним. Поскольку все операции по сопровождению и
усовершенствованию системы производятся на сервере, то пропадает
необходимость сопровождать и модернизировать части приложения, находящиеся
на машинах-клиентах. Такая конфигурация способна обеспечить работу десятка
тысяч или даже миллиона пользователей, являясь идеальной архитектурой для
унаследования программ.
Рисунок 2.9. Универсальная схема клиент-сервер для сетей
Internet/Intranet.
2.2.4. Обзор серверных программ для различных ОС.
Сегодня выпускаются Web-серверы для всех основных платформ, в том
числе различных версий UNIX, Windows NT, IntranetWare фирмы Novell
(дополнительный компонент NetWare 4.x), OS/2 Warp, Mac OS и даже Windows
95. Web-серверы стали доступными для массового пользователя.
Функции Web-серверов не ограничиваются пересылкой статических HTML-
страниц. Java и сопутствующие языки составления сценариев представляют
собой идеальную платформу разработки для Web. Во все рассмотренные
продукты, за исключением Apache и ICSS, входят средства для работы с
прикладными программами Java, размещенными на сервере. Ряд Web-серверов
предусматривают собственные API (Application Programming Interface), а
некоторые из них снабжены широко известным интерфейсом Netscape Server API
(NSAPI).
Наибольшее распространение среди этих серверов получил метод
программирования для Web с применением языков сценариев. Фирмы Microsoft и
Netscape включили в свои пакеты даже объектно-ориентированные инструменты
для быстрой разработки программ (rapid applications development – RAD),
рассчитанные на серьезных разработчиков.
Web-серверы все чаще выпускаются в виде комплексов функциональных
средств, встраиваемых в ОС. Универсальность сетей на базе TCP/IP означает,
что в интрасети допустимо применение различных типов серверов – например,
подключение сервера UNIX к сети Windows NT, - но данный подход может
оказаться не самым эффективным с точки зрения использования ресурсов.
Благодаря Web-браузерам для администрирования сервера вовсе не
обязательно всегда находиться в непосредственной близости от него. В
большинстве продуктов имеются функции дистанционного администрирования
через Web-браузер.
Чем больше число Web-узлов, участвующих в обмене конфиденциальной
информацией, тем острее необходимость в надежной защите и шифровании
данных. Самая распространенная форма обеспечения безопасности, применяемая
на Web-серверах, - простая аутентификация, во время которой каждый
пользователь должен сообщить свой идентификатор и пароль. Средствами для
базовой аутентификации снабжены все рассмотренные серверы. Разработчики
некоторых серверов пошли дальше, позволив ограничивать доступ по IP-адресу
и имени узла.
Для защиты от непрошеных посетителей можно подвергнуть информацию
процедуре шифрования. На Web-серверах для шифрования данных служит протокол
защиты на уровне гнезд – Secure Sockets Layer (SSL). Для организации
защищенного, шифрованного канала связи между сервером и браузером по
протоколу SSL выполняется проверка подлинности сертификата. Учреждения
уполномоченные выдавать сертификаты, скажем VeriSign, за плату
сертифицируют серверы при помощи протокола SSL.
2.4.5. Стандарты, облегчающие создание Web-узлов.
Трудности Web-дизайнеров ныне не ограничиваются написанием программ на
JavaScript, подключающих пользователей к версиям одного и того же узла для
браузера Netscape или Microsoft. Пользователи мобильных вычислительных
устройств (например, персональных цифровых помощников), также получившие
доступ к Web, нуждаются в наличии быстро работающих текстовых версий узлов,
в то время как разработчики стараются создавать богатые графикой Web-
страницы, быстро отображаемые лишь при наличии скоростных каналов.
Web-дизайнерам остается лишь надеяться, что одна из организаций,
занимающихся установлением стандартов, например Консорциум World Wide Web
(W3C), предложит способ, благодаря которому не придется создавать отдельных
версий Web-узлов для каждого типа клиентов.
Между тем стандарт прозрачного выбора типа информационного наполнения
существует, причем еще с 1989 года. Проблема в том, что полностью его не
поддерживает почти ни один Web-сервер.
Функция выбора типа информационного наполнения является частью
протокола HTTP. Она же используется для отправки пользователям загружаемых
шрифтов, предусмотренных спецификацией Cascading Style Sheets 2.0.
Известны лишь два Web-сервера, полностью поддерживающих эту функцию, -
Apache и Jigsaw. В частности, функция выбора типа информационного
наполнения используется на Web-узле для локализации: сервер автоматически
устанавливает язык текста согласно данным, полученным от браузера
пользователя. Узел поддерживает несколько языков, но не содержит ссылок для
выбора одного из них, поскольку этого не требуется.
2.4.6. Web-технологии.
HTML-страницы системы World Wide Web бывают динамические и
статические. Средства, наращивающие функциональные возможности Web и
позволяющие создавать динамические HTML-страницы, подразделяются на
расширения серверной части и расширения клиентской части. Расширения
серверной части – это программы, позволяющие повысить функциональность Web-
серверов. Расширения клиентской части – это программы, позволяющие
наращивать функциональные возможности браузеров. Расширения серверной части
можно подразделить на следующие три категории:
. Расширения, использующие обычный CGI. Common Gateway Interface (общий
шлюзовой интерфейс), или CGI, был первым интерфейсом, позволившим
создавать приложения, наращивающие функциональность Web-серверов. CGI-
программы обладают наибольшей переносимостью между Web-серверами. Сервер
общается с CGI-приложением через стандартные ввод и вывод операционной
системы, а также переменные окружения. CGI-программы могут быть написаны
на любом языке программирования, вплоть до языка командного
интерпретатора операционной системы. Недостатком CGI является
необходимость загружать при каждом запросе большую про
| | скачать работу |
Организация Web-доступа к базам данных с использованием SQL-запросов |