Главная » Delphi » Программирование для Internet

0

Понятие активного объекта сервера

Подобно общему шлюзовому интерфейсу (CGI — Common Gateway Interface), интерфей су прикладных программ  служб Internet (ISAPI — Internet Services Application Programming Interface) и интерфейсу  прикладных  программ сервера Netscape  (NSAPI —  Netscape Server Application Programming  Interface),  поддерживаемых WebBroker, ASP представляет собой  серверное решение Web приложений. Это  означает, что  активные страницы сервера и активные объекты сервера можно  разместить на Web сервере и обеспечить клиентам возможность, соединившись с ним, загружать эти страницы и объекты. Данная глава  посвящена в  основном  активным  объектам  сервера,  создаваемым в Delphi  6, но используемым в активных страницах.

В Delphi 5 был внедрен новый мастер, который позволяет создавать активные объ екты сервера. Эти объекты могут быть использованы в страницах ASP для динамическо го формирования кода HTML при каждой  загрузке страниц с сервера. В настоящей гла ве изложено, что представляют собой  объекты активных страниц сервера, как они взаимодействуют с интерфейсами CGI, ISAPI и COM, а также то, как они могут быть ис пользованы в контексте активных страниц сервера. Затем  внимание будет уделено  изу чению  важнейших аспектов создания активных объектов сервера, представляющих со бой серверные компоненты, а также различиям между операционными системами (такими как Windows  NT версии 4 и Windows  2000) и различиям между информацион ными серверами Internet (Web) (такими как IIS версии 3, 4 и 5). Все указанные факторы влияют на способ взаимодействия с активными объектами сервера.

В качестве примера создадим  простой активный объект сервера и сценарий шаб лона,  добавим  несколько методов и приспособим объект и сценарий для выполнения необходимых задач.  Затем  установим  и зарегистрируем объект на Web сервере. И в заключении рассмотрим, как установить новые  версии активных объектов сервера, как их проверить и отладить.

Активные страницы сервера

Прежде  чем  приступить  к  созданию собственных  активных  объектов  сервера, имеет  смысл ознакомиться с основами технологии и синтаксисом активных страниц сервера, которые служат операционной средой для активных объектов сервера. Ак тивные страницы сервера позволяют использовать язык  сценариев, который интер претируется Web сервером, а не Web броузером. Указанное означает, что для провер ки работоспособность исходного кода, приведенного в листингах и примерах на стоящей главы,  необходимо установить Web сервер.  Авторы  использовали Internet Information Server (IIS),  версия 4, от Microsoft на платформе Windows NT 4, а также  IIS 5 на Windows  2000,  но  Personal  Web Server (PWS) на Windows  95 или  98 работает точно также.  В то время  как обычные страницы HTML имеют  расширение .htm или .html, файлы страниц ASP имеют  расширение .asp. Для  того,  чтобы  Web сервер  мог  вы полнять страницы ASP, их необходимо поместить в каталог, обладающий правами навыполнение сценариев. При  установке Web сервера Microsoft по умолчанию создается каталог  Scripts. Но  даже если  такого  каталога не существует,  то можно  создать  но вый  виртуальный каталог  и присвоить ему право  выполнять сценарии. Для  этого  в Windows NT запустите диспетчер служб Internet (или  консоль управления Microsoft), перейдите к Web службе и добавьте новый виртуальный каталог  (например по имени Scripts или  cgi-bin).  Удостоверьтесь, что  возможность исполнения  сценариев, параметр Scripting, разрешена.

Сценарий на сервере можно изменять безо всякой перекомпиляции кода или пе

резапуска  Web сервера. Операторы сценариев находятся между дескрипторами <% и

%>,  а  в  качестве языка  активных  сценариев  (active  scripting language)  используются

JavaScript и VBScript, которые нетрудно понять и изучить.

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

Чаще всего используются два объекта:

•  Request (запрос) —   предназначен для  ввода  данных   пользователем. Объект Request способен обращаться к введенным в форме переменным и проверять их значения.

•  Response (ответ) —   используется  для  формирования  ответа  пользователю.

Объект Response обладает методом write,  который применяются  для  созда

ния результирующего кода HTML.

В качестве небольшого примера рассмотрим сценарий ASP, который проверяет вводимое значение переменной Name, и если введено слово Bob, то объект Response выведет на экран  приветствие "Hello, Bob!" (Привет, Боб!),  в противном случае — сообщение "Hello, User!" (Привет, пользователь!):

<%

if Request("Name") = "Bob" then

Response.Write("Hello, Bob!")

elseResponse.Write("Hello, User!")

end if

%>

Если этот код ASP содержится на странице по имени test.asp, то для его вызова может быть использована следующая форма HTML:

<FORM ACTION="test.asp" METHOD=POST> Name: <INPUT TYPE=text NAME=Name>

<P>

<INPUT TYPE=submit>

</FORM>

НА ЗАМЕТКУ

Для доступа к исходной переменной по имени Name можно использовать переменные объекта ASP Request.

Помните, что  активные страницы могут  быть  выполнены только  Web сервером, причем только в том случае, если Web сервер поддерживает обработку ASP. Это озна чает,  что используемый для обращения к странице URL должен  быть адресом выпол няющегося (а не остановленного) Web сервера. Поэтому  если  файл  test.asp нахо дится в каталоге \cgi-bin, то не стоит  обращаться к нему как к файлу по адресу file:///d:/www/cgi-bin/test.asp, поскольку  это  не  будет  обращением к Web серверу  и на  экране будет отображено (в  лучшем  случае)  лишь  содержимое самого файла  ASP, его исходный код. Но  URL http://localhost/cgi-bin/test.asp об ращается уже к Web серверу  (хоть  и локальной машины), и на экран  будет выдан  ре зультат выполненная активной страницы сервера.

На первый взгляд,  все кажется просто. Кроме  того,  разработчику Delphi необяза тельно создавать все Web приложение для Internet, используя лишь  сервер ориенти рованные сценарии ASP. Учтите  вопросы эффективности, ведь сценарии ASP не под лежат  компиляции,  их  приходится интерпретировать.  Одним   из  главных   преиму ществ ASP считается возможность изменять их исходный код на лету, безо всякой  не обходимости повторной компиляции и переустановки. Однако  по мере  увеличения и усложнения Web сайтов  это преимущество обернулось недостатком производитель ности, связанной с необходимостью применения интерпретатора.  К счастью, язык сценариев ASP позволяет создавать и использовать специальные активные объекты сер вера COM (Active Server COM Objects), которые располагаются на сервере. Поскольку это откомпилированные бинарные объекты, они выполняются быстрее, а следова тельно,  обладают большей  эффективностью.  Вот  где  проявляется  преимущество Delphi  6 версии Enterprise, которая позволяет создавать активные объекты сервера.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии