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, которые могут функционировать под управлением различных
ОС.
|