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