Смекни!
smekni.com

Организация Web-доступа к базам данных с использованием SQL-запросов (стр. 17 из 22)

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

Кроме того, определенные усилия в направлении использования технологии Java на серверной стороне предпринимает группа разработчиков Apache Group.

Будущий дополнительный модуль сервера Apache, о котором идет речь, свяжет между собой HTTP-сервер Apache и виртуальную Java-машину, так что пользователи смогут запускать любые серверные приложения, основанные на интерфейсе прикладного программирования Servlet API. Таким образом, Java сможет превратиться в серверный язык программирования, что позволит свести к минимуму проблемы с производительностью клиентских Java-приложений. Кроме того, этот модуль сможет выполнять функции связующего ПО, объединяющего продукты различных разработчиков, считают создатели Apache.

2.2.9. Web-сервер Netscape Enterprise.

Enterprise Server является типичным Web-сервером и, как все подобные серверы, управляет размещением Web-страниц, но помимо этого он может использоваться как сервер приложения, обеспечить мощную платформу для запуска прикладных программ, к которым можно обращаться пользователям навигатора, и связываться с реляционными базами данных или наследуемыми системами. Enterprise Server 2.0 обеспечивает следующие возможности.

Публикация содержимого и управление. Совместно с Netscape Navigator Gold Enterprise Server 2.0 облегчает доступ пользователей сетей Intranet к содержимому Web-сервера, которое может состоять из различного набора мультимедийных средств. Enterprise Server 2.0 является наиболее быстрым Web-сервером, доступным на обеих платформах: UNIX и Windows NT. В нем содержитcя автоматическая технология кэширования, поддержка симметричных мультипроцессорных систем, популярных HTTP-расширений, эффективное управление памятью и процессами, позволяющее реентерабельно выполнять программный код, запущенный на выполнение многими браузерами в контексте одного процесса в отличие от многих копий процессов программ CGI.

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

Встроенное управление версиями. Enterprise Server 2.0 способен управлять версиями сохраняемых документов. Каждый раз, когда документ модифицируется, создается новая версия, но все старые версии также доступны. Enterprise Server 2.0 сравнивает любые две версии и может возвратиться обратно к предыдущей версии в любое время. Группы людей могут работать с одним и тем же документом, используя особенности блокировок, которые позволяют одному человеку проверять документ и не дават ь возможности другим изменять его, пока проверка не закончена.

Автокаталогизация на отдельных серверах. Enterprise Server 2.0 может автоматически сформировать содержательный каталог и потом управлять им. Этот каталог облегчает просмотр содержимого Web по автору, дате создания и т. д. Эта возможность реализована для одиночных серверов по сравнению с полнофункциональным каталогом-сервером, описанным ниже.