Источник:
www.codenet.ru
Active Server Pages — это среда программирования, которая обеспечивает
возможность комбинирования HTML, скриптов и компонент для создания динамических
Web-приложений. Возможность встраивания в Web-страницы скриптов (кода,
написанного на языке программирования, например, VBScript или JScript) позволяет
логичным образом объединить оформление с данными, полученными из различных
источников, например, из БД.
Идеология создания современных Web-приложений заключается в инкапсуляции
бизнес-логики в отдельные компоненты, написанные по технологии COM. Технология
ASP в данном случае является связующим звеном между этими компонентами и
интерфейсом Web-приложения.
Принципы функционирования
Использование Active Server Pages не требует специфичных браузеров. Все
ASP-скрипты запускаются и выполняются на Web-сервере, причем брaузер получает
только результирующие HTML-файлы. Microsoft Internet Information Server, начиная
с версии 3.0, поддерживает Active Server Pages.
Рассмотрим последовательность функционирования ASP. Клиент запрашивает
ASP-страницу на Web-сервере. Сервер принимает запрос и начинает его
обрабатывать. По расширению файла (.asp) определяет, что данный файл содержит
ASP-скрипт, и начинает анализировать его содержимое, последовательно
интерпретируя и выполняя вставки ASP-кода. ASP-код, в свою очередь, может
содержать обращения к различным источникам данных, осуществлять обработку
полученных данных и добавлять содержимое генерируемой страницы. В результате
формируется «обычная» HTML-страница (уже не содержащая ASP-кода), которая и
отправляется обратно клиенту.
Внешне ASP функционирует также, как CGI. Аналогичным образом передаются
параметры (формат-строки запроса) и осуществляется вывод результатов. Однако
производительность ASP оказывается гораздо выше, т. к. при каждом запросе не
происходит отдельной загрузки ASP-интерпретатора. Использование компонент
ActiveX также значительно повышает производительность Web-сервера.
Описание синтаксиса
ASP-код, который нужно выполнить на сервере, размещается внутри специальных
тегов <% %>. Так как данный код обрабатывается на сервере, он не доступен
пользователю. Сам код может быть написан с использованием Visual Basic Scripting
Edition (VBScript) или JScript (JavaScript). Технология ASP позволяет
использовать и другие языки программирования. По сути, нужно говорить не о
синтаксисе ASP, а о том языке, который используется для написания ASP-кода.
Синтаксис VBScript намного проще других языков, поэтому новичку будет легко в
нем разобраться.
Объекты и компоненты
VBScript не является полнофункциональным языком программирования и
использования встроенных в него средств явно недостаточно. Поэтому в
ASP-страницах используются специальные объекты и компоненты ActiveX.
Существует набор «встроенных» объектов, которые инициализируются и
предоставляются ASP-скрипту автоматически при начале обработки. Эти объекты
обеспечивают доступ к основным «жизненно важным» функциям:
-
Объект Application позволяет создавать переменные, доступные всем
пользователям Web-приложения.
-
Объект Session позволяет сохранять данные, связанные с отдельным
пользователем.
-
Объект Request предоставляет параметры CGI-запроса, отправленные методом
POST 99или GET.
-
Объект Response предоставляет методы для добавления информации, а также
для формирования заголовков страницы ответа Web-сервера.
-
Объект Server содержит множество различных методов, одним из которых
является метод CreateObject, позволяющий создавать экземпляры компонент
ActiveX.
В отличие от встроенных ASP-объектов, ASP-компоненты явно необходимо
создавать в коде скрипта. Существует огромное количество ActiveX-компонент,
которые можно использовать в ASP-страницах, причем большинство из них
распространяются бесплатно. Более того, разработчик может сам создавать
ActiveX-компоненты в любой среде программирования, поддерживающей
COM-технологию, например, Visual C++ или Visual Basic.
Следует уделить особое внимание объектам ADO (ActiveX Data Objects), которые
представляют собой мощные интегрированные средства для создания приложений для
работы с БД. Компоненты ADO обеспечивают быстрый и удобный интерфейс к БД на
самом высоком уровне, при этом сохраняется переносимость разрабатываемых
приложений для работы с другими БД. Использование компонент ADO значительно
упрощает работу программиста, ему остается лишь правильно составить SQL-запросы
к БД и позаботиться о выводе результатов.
В рамках функционирования Web-приложения существует возможность создания
обработчиков основных событий, таких как запуск и остановка Web-приложения, а
также открытие и закрытие пользовательской сессии. Эти события описываются в
специальном ASP-файле global.asa. Обработчики данных событий можно использовать
для инициализации объектов или установки значений глобальных переменных.
Средства разработки
Создавать ASP-страницы можно в любом текстовом редакторе, но это далеко не
всегда удобно. Помимо написания кода на VBScript, необходимо осуществлять его
отладку, что возможно только на функционирующем Web-сервере (IIS) и при наличии
специальных средств.
Microsoft Visual InterDev 6.0 (входящий в состав Microsoft Visual Studio)
является одним из лучших средств, которое позволяет не только быстро и
эффективно создавать ASP-код, но и осуществлять расширенную отладку кода.
Основные особенности этого продукта:
-
Просмотр списка используемых объектов, и возможность быстрого написания
кода.
-
Подсветка синтаксиса кода (VBScript и JScript).
-
Автоматическое формирование содержимого global.asa.
-
При запуске в режиме отладки InterDev автоматически настраивает
Web-сервер (IIS) в нужный режим, а по окончании отладки восстанавливает
настройки.
-
Возможность установки точек прерывания (breakpoints).
-
Просмотр значений переменных (watches) и списка вызванных процедур (call
stack).
Существуют также и другие специализированные редакторы, позволяющие
разрабатывать ASP-приложения, например, Home Site 4.5, Macromedia UltraDev 4.0
или ASP Express. Однако эти средства не полностью охватывают возможности Visual
InterDev.
Новые возможности в IIS 5.0
Последняя версия Web-сервера Internet Information Server (IIS) 5.0
значительно усовершенствована, благодаря чему повышена надежность и
производительность ASP-приложений. Встроенные объекты ASP в Windows 2000
обладают новыми методами, которые расширяют возможности разработчика.
Появились новые средства обработки ошибок. С помощью нового объекта AppError
теперь можно получать сведения об ошибках, происходящих как на стадии
выполнения, так и на стадии разбора страницы.
В новой версии ядра управления сценариями Script Engine из состава Windows
2000 появились новые мощные средства поддержки языков VBScript и JScript. В
сценариях на VBScript теперь можно пользоваться средствами проверки и разбора
сложных выражений, а также создавать классы.
Средства доступа к данным также претерпели значительные изменения — теперь в
составе ОС поставляется ядро MDAC 2.5, которое, в частности, обеспечивает
интеграцию со средствами XML.
Поддержка других языков программирования
Наравне с Visual Basic Scripting Edition (VBScript), IIS поддерживает
обработку JScript (JavaScript). Вы можете использовать все те же объекты, при
этом меняется только синтаксис связующих конструкций.
Преимущество технологии ASP в том, что она позволяет использовать и другие
языки программирования. Для их поддержки необходимо установить соответствующие
модули Script Engine. Например, поддержку языка Perl (а точнее ActivePerl) можно
осуществить с помощью модуля от компании ActiveState
(http://www.activestate.com/). Также существуют модули для поддержки REXX и
Python.
Существуют продукты сторонних компаний, поддерживающие технологию ASP на
других платформах. Например, Chili!Soft ASP, компании Chili!Soft, Inc., (http://www.chilisoft.com/)
обеспечивает поддержку ASP на множестве Web-серверов, таких как: Apache, Lotus,
Netscape, O’Reilly, которые могут функционировать под управлением различных ОС.