Архитектура построения системы
Схема работы WWW сервера
WWW сервер - это такая часть глобальной или внутрикорпоративной сети, которая дает возможность пользователям сети получать доступ к гипертекстовым документам, расположенным на данном сервере. Для взаимодействия с WWW сервером пользователь сети должен использовать специализированное программное обеспечение - броузер (от англ. browser) -программа просмотра.
Рассмотрим более схему работы WWW-сервера:
1. Пользователь сети запускает броузер, в функции которого входит:
- установление связи с сервером;
- получение требуемого документа;
- отображение полученного документа;
- реагирование на действия пользователя - доступ к новому документу.
- После запуска броузер по команде пользователя или автоматически устанавливает связь с заданным WWW - сервером и передает ему запросполучение заданного документа.
2. WWW сервер ищет запрашиваемый документ и возвращает результаты броузеру.
3. Броузер, получив документ, отображает его пользователю и ожидает его реакции. Возможные варианты:
- ввод адреса нового документа;
- печать, поиск, другие операции над текущим документом;
- активизация (нажатие) специальных зон полученного документа, называемых связями (link) и ассоциироваными с адресом нового документа. В первом и третьем случае происходит обращение за новым документом.
От описания основных компонентов перейдем к архитектуре взаимодействия программного обеспечения в системе World Wide Web. WWW построена по хорошо известной схеме "клиент-сервер". На рисунке 82 показано, как разделены функции в этой схеме.
Рисунок 82 - Архитектура WWW-технологии
Программа-клиент выполняет функции интерфейса пользователя и обеспечивает доступ практически ко всем информационным ресурсам Internet. Фактически, клиент - это интерпретатор HTML. При анализе URL-спецификации или по командам сервера клиент запускает дополнительные внешние программы для работы с документами в форматах, отличных от HTML, например GIF, JPEG и т.п.
Другую часть программного комплекса WWW составляет сервер протокола HTTP, базы данных документов в формате HTML, управляемые сервером, и программное обеспечение, разработанное в стандарте спецификации CGI. Появился очень неплохой сервер для MS-Windows и Apachie-сервер для Unix- платформ. Существуют и другие, но два последних можно выделить из соображений доступности использования.
База данных HTML-документов - это часть файловой системы, которая содержит текстовые файлы в формате HTML и связанные с ними графику и другие ресурсы.
Прикладное программное обеспечение, работающее с сервером, можно разделить на программы-шлюзы и прочие. Шлюзы - это программы, обеспечивающие взаимодействие сервера с серверами других протоколов. Прочие программы - это программы, принимающие данные от сервера и выполняющие какие-либо действия: получение текущей даты, реализацию графических ссылок, доступ к локальным базам данных или просто расчеты.
Все, что было сказано до этого момента, можно отнести к классической схеме World Wide Web. В настоящее время следует говорить об изменении общей архитектуры.
Как видно из рисунка 83, к середине 1996 года произошли некоторые изменения в архитектуре сервиса World Wide Web. Произошел возврат к модульной структуре сервера World Wide Web. Этот возврат был реализован в виде спецификации API. API - это спецификация разработки прикладных модулей, которые встраиваются в сервер.
Рисунок 83 - Архитектура World Wide Web к середине 1996 года
Применение во всех серверах многопотоковой технологии выполнения подзадач делает такой способ расширения возможностей сервера более экономичным с точки зрения ресурсов вычислительной установки, чем разработка CGI-скриптов.
В дополнение к HTML активно стал применяться еще один язык разметки - VRML (Virtual Reality Modeling Language). В данном случае речь идет об описании трехмерных сцен и возможности "бродить" по этим мирам.
Java-applet'ы - это мобильные коды Java, ссылки на которые вмонтированы в тело документа. При доступе к такому документу программа просмотра пользователя предварительно анализирует документ на предмет наличия в нем такого типа ссылок, и, если они существуют, то подкачивает мобильные коды в свою память.
Как видно из рисунка, изменения коснулись и клиентской части технологии. В настоящее время происходит постепенный переход от простой классической архитектуры клиент-сервер к архитектуре с сервером приложений, в роли которого выступает программа-клиент - CCI (Common Client Interface).