Шаг 12.
Создание Internet-приложений в среде Delphi. Форматы Web-приложений

    На этом шаге мы рассмотрим какими могут быть форматы Web-приложений .

    Получив запрос, приведенный на предыдущем шаге, сервер должен отправить клиенту ответ. Но между этими событиями, конечно, должен пройти процесс разбора запроса и приготовления ответа клиенту, процесс, иногда, не очень простой.

    В простом варианте, клиент может запрашивать готовый документ HTML, указав его по имени. В рассматриваемом же нами примере, клиент посылает запрос приложению myscript.dll. Сервер Web должен "понять", что требуется выполнить это приложение и передать ему параметры запроса. Способ передачи данных приложению Web-сервера зависит от типа серверного приложения.

    Таким образом, Web-приложения - это программы, которые по запросам Web-сервера готовят страницы HTML для последующей передачи их клиентскому браузеру. Существуют пять форматов Web-приложений: CGI, WinCGI, ISAPI, NSAPI и Apache. При работе с Delphi для каждого формата создается объект TXXXApplication, который осуществляет общее управление приложением, и объекты TxxxRequest - TxxxResponse: в первом приложению передается запрос пользователя, во втором оно возвращает свою реакцию на этот запрос.

    1. CGI/WinCGI

    Формат CGI (Common Gateway Interface - общешлюзовой интерфейс) - это консольная программа, загружаемая Web-сервером при каждом запросе клиента и выгружаемая сразу после завершения работы. Такое приложение получает данные запроса и помещает результат его обработки в стандартный поток ввода/вывода. WinCGI - это Windows-реализация формата CGI. Вместо стандартного потока ввода/вывода она обменивается с Web-сервером информацией в файлах инициации INI. Кроме того, она может в полной мере использовать графический интерфейс пользователя GUI. Во всем остальном программа WinCGI подобна программе CGI. Программы CGI/WinCGI работают под управлением объекта TCGIApplication, который создает объекты TCGIRequest - TCGIResponse или TWinCGIRequest - TwinCGIResponse в зависимости от типа приложения.

    2. ISAPI/NSAPI

    Приложения ISAPI (Internet Sever API) и NSAPI (Netscape Server API) всегда реализуются в виде DLL, которые подключаются к основному процессу сервера и с помощью соответствующих функций API взаимодействуют с ним. Такие приложения становятся как бы частью соответствующего сервера, обеспечивая наиболее быструю обработку запроса. Однако ошибочное Web-приложение в виде DLL может разрушить сервер, что предъявляет повышенные требования к их тестированию.

    Наличие нескольких вариантов Web-серверов и соответствующих наборов API до недавнего времени сдерживало разработку таких приложений. Однако используемый в Delphi механизм Web Bridge позволяет создавать Web-приложения, одинаково хорошо работающие с двумя самыми популярными серверами (IIS и NS). Эти приложения работают под управлением объекта TISAPIApplication, который создает объекты TISAPIRequest и TISAPIResponse.

    3. Apache

    Свободно распространяемый для платформы Linux сервер Apache требует разработки обслуживаемых им приложений в формате DLL. Эти приложения работают в отдельных потоках команд под управлением объектов TApacheApplication, TApacheRequest и TApacheResponse.

    Как создается новое приложение сервера Web, вы уже знаете. Для этого нужно выполнить команды меню File | New | Other... и в окне диалога New Items выбрать вариант Web Server Application. Затем, в следующем окне нужно выбрать модель приложения: ISAPI или NSAPI, CGI или Win-CGI. После этого вы получите проект серверного приложения, который включает два объекта: модуль Web и приложение сервера Web.

    На следующем шаге мы рассмотрим, что такое Web-модуль.




Предыдущий шаг Содержание Следующий шаг