Полная версия

Главная arrow Информатика arrow Базы данных

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Глава 13. Web-публикации баз данных

В последнее время все шире используют публикации БД в Web-страницы.

В данной главе рассмотрена технология публикации в рамках программной среды Delphi.

Показано, что для публикации используется многоуровневая структура режима клиент-сервер. Приведены основы языка HTML, используемого для публикаций. Приводится пример публикации базы данных (СУБД Paradox) с помощью среды Delphi. Результаты иллюстрируются экранными формами.

13.1. Общие положения

Web-публикацией [2, 31, 32, 35] называется возможность поместить на Web-страницу динамические данные, которые имеются на сервере базы данных.

Цели публикаций могут быть различны: электронная торговля, связь с общественностью, реклама, образование. В данном случае в качестве цели выбрано обучение.

Схема реализации процедуры Web-публикации показана на рис. 13.1. Как нетрудно видеть, публикации реализуются с помощью варианта режима клиент-сервер с многоуровневой структурой (см. глава 11), в котором используется несколько отличная терминология.

Клиент (рис. 13.1) называется Web-браузером (иногда – просто браузером), сервер приложений – Web-сервером (www-сервером).

Запрос от браузера принимает и обрабатывает Web-сервер, реализующий поддержку протокола HTTP. Недостатком такой схемы является "статичность" (неизменность HTML-документа) передачи данных на Web-браузер.

Чтобы добиться динамичности публикации, на Web-сервере создают модули расширения (сценарии, скрипты – scripts). Задача скриптов (рис. 13.1) – принять и обработать запрос, извлечь из сервера БД нужные данные, которые представляются на языке программирования HyperText Markup Language (HTML), и передать обратно Web-серверу. Последний отправляет HTML-документ браузеру (клиенту).

Схема реализации процедуры Web-публикации

Рис. 13.1. Схема реализации процедуры Web-публикации

Модули расширения могут быть написаны на языках программирования Java (JDBC, JSQL), JavaScript, VBAScript. Однако для этого надо знать хотя бы один из перечисленных языков.

Поэтому часто предпочтение отдается стандартным интерфейсам построения модулей расширения [2, 46-49]:

  • 1) Common Gateway Interface (CGI);
  • 2) ISAPI, NSAPI (Internet Services- и Netscape Server API).

Хронологически первым появился интерфейс CGI, однако он

имеет существенные недостатки.

Первоначально скрипт представлял собой ехе-файл, что для среды Windows было неудобно. Впоследствии перешли на вариант WinCGI, где параметры от сервера к скрипту передавались через INI-файл.

В то же время запускать каждый раз ехе-файл означало потерю быстродействия. Для повышения быстродействия фирма Microsoft снабдила Internet-сервер протоколом ISAPI взаимодействия сервера с модулем расширения. В этом случае скрипт представляет собой динамическую библиотеку, загружаемую сервером.

Например, запрос find=petr браузера к библиотечному модулю test.dll сервера mysite.com может иметь вид

mysite.com.script/test.dlI/find=petr

Работа с Web-страницами имеет свою специфику для различных приложений [46] и в общем случае ее описать трудно. В связи с этим сориентируемся на возможности приложения Delphi.

В рамках приложения Delphi [12, 25] lSAPI-модуль, охватывающий фактически Web-сервер и модуль расширения (рис. 13.1), может реализоваться в виде модуля TWebModule, состоящего из модуля TDataModule и компоненты TWebDispatcher.

В публикации можно выделить две составляющие:

  • 1) формирование Web-сервера;
  • 2) собственно публикация.

Их удобно иллюстрировать на примере Delphi [32].

Пример 13.1

1. Создание Web-сервера с помощью ISAPI.

В этой составляющей выделяют в свою очередь создание источника (А), в качестве которого может выступать база данных, и формирование HTML-страницы (Б) на основе источника.

А. Создание источника данных. В меню File/New приложения Delphi выбрать шаблон WEB Server Application, в котором установить тип сервера ISAPI/NSAPI Dynamic Link Library. В инспекторе объектов вызвать редактор свойства Actions. Добавить с помощью свойства еще одну операцию Action, установить значения свойств Pathlnfo как /test, a Default как true. На закладке "События" инспектора объектов дважды нажать на мышь на событии OnAction.

В заголовке метода дописать

Response. Content:='Здравствуйте';

Это фактически содержание некоторой БД. Сохраним проект в виде

d:...InetPubScriptsIDAPITEST.DPR.

В дальнейшем источником будет служить база данных.

Б. Создание HTML-страницы.

Из этой страницы будет вызываться Web-модуль:

<HTML>

<HEAD>

<TITLE> Пример 13.1. </TITLE>

</HEAD>

<BODY>

<CENTER>

<BR> <A HREF=".../scripts/ISAPITEST.DLL/TEST”> Текст </>

</CENTER>

</BODY>

</HTML>

Сохраним эту страницу в d:...InetPubWWWRoot est.htm.

Запустить Web-браузер (например, через Internet Explorer). Набрать адрес http;//localhost/test.htm. На экране монитора появится www-страница с подчеркнутым словом Текст. Если на него щелкнуть мышью, то на экране будет виден результат работы dll-библиотеки: слово Здравствуйте.

Возможен и прямой вызов dll-библиотеки по адресу

Из примера 13.1 возможно сделать такие выводы.

  • 1. Все процессы в публикации поддерживаются языком программирования HTML.
  • 2. Приведен примитивный, иллюстративный пример.

Чтобы пример 13.1 стал достаточно реальным и удовлетворял пользователя, следует шире использовать возможности языка программирования HTML.

 
<<   СОДЕРЖАНИЕ   >>