скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Организация Web-доступа к базам данных с использованием SQL-запросов

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 является необходимость загружать при каждом запросе большую программу, что может привести к истощению ресурсов сервера и происходит достаточно медленно.

·     Расширения, использующие гибридный CGI. Использование гибридного CGI позволяет сохранить свойственную CGI переносимость, избавившись от присущих ему недостатков. Идея заключается в использование маленькой CGI-программы и некоторого процесса-партнера. CGI-программа получает данные от Web-сервера и передает их процессу-партнеру, который выполняет всю обработку. Процесс-партнер (например, демон в UNIX) загружается один раз при загрузке операционной системы и общается с CGI-программой при помощи межпроцессных коммуникаций.

·     Расширения, использующие API. В настоящее время широкое распространение получили Web-сервера, предоставляющие программам-расширениям сервера специальные API-интерфейсы. Программы-расширения, использующие API, должны быть созданы в виде разделяемых библиотек (например, DLL, Dynamic Link Library в среде Windows). Они исполняются в адресном пространстве Web-сервера. Очевидно, что расширения такого типа значительно экономнее по отношению к системным ресурсам, чем CGI-программы. Недостатками этого способа являются его небезопасность (ошибка в такой программе может привести к выходу из строя всего сервера) и низкая переносимость API-приложений между разными Web-серверами (т.к. разные сервера могут использовать разные API). Наиболее распространенными API-интерфейсами Web-серверов являются NSAPI фирмы Netscape и ISAPI компании Microsoft.

Ниже представлен список Web-серверов разных фирм-производителей.


ServerWatch и WebCompare

Netcraft Web Server Survey

Russian Web Survey

Apache http://www.apache.org

Russian Apache

AOL Server

Alibaba

Amiga Web Server

Boa

CERN httpd

Common Lisp Hypermedia Server

EMWAC HTTP server

GoServe

Internet Connection Secure Servers http://www.icss.raleigh.ibm./icsserver/.

Java Web Server

JAWS Adaptive Web Server

Jigsaw http://www.w3.org

Lotus Domino Web Server http://www.lotus.com.

MacHTTP

Internet Information Server http://www.microsoft.com/iis.

NCSA HTTPD

Netscape FastTrack http://www.netscape.com.

Netscape Enterprise http://www.netscape.com.

Novell Web Server http://www.novell.com.

Open Market Web Server

Oracle Web Application Server

Phttpd

Plexus

Purveyor WebServers

Roxen Challenger

RushHour

Sky Light

Stronghold

thttpd

The NetPublisher Server

Web-серверы для Macintosh

Web Commander http://www.luckman.com.

Web Server4D

WebSite Professoinal http://software.ora.com.

WebStar http://www.starnine.com.

WebQuest Web Server

ZBServer

Zeus Server


Рассмотрим более подробно наиболее популярные из них.

2.4.7. Web-сервер Apache.

Этот Web-сервер является самым распространенным в мире среди серверов для операционной системы Unix. Причин такой популярности много. Прежде всего, это возможность свободно получить его как с основного сервера проекта Apache, так и с «зеркал», расположенных во многих странах мира, в том числе и России. Имеется подробная документация по настройке и администрированию, включая FAQ. В рамках данного проекта ведется подробный учет и исправление найденных ошибок, чему посвящено несколько страниц сервера. Многие разработчики модифицируют код Apache, внося дополнительные функции, и предлагают для свободного распространения свои разработки. В частности, имеются версии Apache, в которые добавлены функции по работе с русскоязычными документами с учетом различных кодировок кириллицы.


           Russian Apache это программный продукт, за основу которого был взят популярный HTTP-сервер Apache. К нему была добавлена функциональность, необходимая для корректной поддержки нескольких кодировок кириллицы одновременно, что потребовало внесени добавлений в основной код Apache.

2.2.8. Web-сервер Jigsaw.

Увеличение значимости технологии Java в области серверного ПО подготовил почву для появления Web-сервера на этом языке. Продукт, созданный совместными усилиями ряда разработчиков, носит название Jigsaw. В создании сервера приняли участие десятки ученых – специалистов повычислительной технике, связанных с консорциумом World Wide Web Consortium и с Массачусетским технологическим институтом Он относится к категории свободно распространяемого программного обеспечения. Хотя Jigsaw 2.0 и представляет собой полнофункциональный Web-сервер, его основная цель – показать в действии такие высокоэффективные серверные технологии, как HTTP 1.1, сервлеты и распределенные публикации, которые столь активно пытается пропагандировать W3C.

Jigsaw – сервер, полностью написанный на Java. Это поможет ускорить его установку на таких операционных системах, как Windows 95, NT, OS/2 и Solaris. По этой же причине он обладает следующими характеристиками:

·     Расширяемость

·     Мобильность

·     Объектно-ориентированная разработка

Jigsaw будет работать на любой платформе, поддерживающей Java, без изменений; он состоит из ядра и модулей расширения, можно добавлять и свои собственные модули. При написании кода применен объектно-ориентированный подход – все ресурсы являются объектами. В противовес большинству существующих серверов, которые рассматривают ресурсы либо как CGI-скрипты, либо как файлы, Jigsaw допускает доступ к любому объекту через HTTP или другой допустимый протокол.

Цель Jigsaw – продемонстрировать новые возможности протоколов (таких, как HTTP/1.1.или PISC) и обеспечить платформу для экспериментирования в области серверного программного обеспечения. Java обладает возможностями, облегчающими решение этой задачи. Переносимость Java-кода может быть использована в будущих экспериментах с концепцией мобильного кода.

Среди самых интересных возможностей сервера можно назвать сервлеты Java – приложения, которые исполняются на сервере, а результат их работы отображается на настольном компьютере. Поскольку сервлеты сохраняют пользовательское соединение с сервером, администраторы узлов могут опросить посетителей, предоставить им динамический доступ к базе данных и позволить совместно работать с документами.

Кроме того, Jigsaw 2.0 активно использует HTTP 1.1 – стандарт, который теперь поддерживает проблемная группа Internet Engineering Task Force. Сейчас браузеры отключаются, ожидая ответа на серверные запросы. HTTP 1.1 позволяет одновременно обрабатывать несколько серверных запросов. HTTP 1.1 может поддерживать подготовку Web-публикаций, предоставляя пользователям возможность редактировать файлы через свои браузеры так, что их исправления не перекрываются друг с другом.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.