Visual2000 · Архив статей Колесова & Павловой

Visual Basic 6.0 упрощает разработку для Web
Часть 1. Общий обзор методов создания Web-приложений

Андрей Колесов, Ольга Павлова

Дополнительно смотрите:

© 1999, Андрей Колесов, Ольга Павлова
Авторский вариант. Статья была опубликована c незначительной литературной правкой в журнале "КомпьютерПресс" № 05/99, c. 107-108.


С появлением предыдущей версии Visual Basic 5.0...

С появлением предыдущей версии Visual Basic 5.0 разработчики впервые получили возможность использования VB для Internet-программирования. О некоторых из этих функций мы уже писали ранее в КомпьютерПресс. В первую очередь нужно отметить средства создания элементов управления ActiveX (см. "Как создавать элементы управления ActiveX в среде VB 5.0"), а также появление компонентов WinSock и Internet Transfer, что обеспечивало передачу и управление данными в Сети. Пользователь получил также возможность создавать документы ActiveX (см. "Создание документа ActiveX"). Отдельно следует упомянуть о входящем в состав MS IE 4.x элементе управления WebBrowser, который позволяет работать с Web-страницами непосредственно на VBформе (см. статью "Элемент управления WebBrowser для работы с Web-документами").

VB5 также включал API-интерфейс для Active Server Pages (ASP), однако его применение для создания расширений для сервера Microsoft Internet Information Server (IIS) 3.0 было под силу далеко не каждому программисту. И поскольку большинство разработчиков использовали ASP-технологию лишь для написания сценариев для сервера, значительная часть ее потенциала была невостребована.

В VB6 был сделан серьезный шаг по расширению возможностей программирования для Internet (табл. 1), среди которых следует особо отметить появление двух новых типов проектов: IIS Application (в документации и литературе в качестве синонима часто используется название WebClass Application) и DHTML Application. Первый из них обеспечивает обработку данных на сервере, второй - на клиенте, в среде браузера (табл. 2). В распоряжении программистов появился необходимый набор средств разработки Web-приложений в среде VB.

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

В начало статьи

Приложения IIS (WebClass) и DHTML

IIS-приложение — это VB-программа, использующая комбинацию HTML- и VB-кода для генерации активных динамических Web-страниц (ASP), работающих в среде браузера. Само IIS-приложение функционирует в среде Web-сервера, где оно получает запросы от браузера, запускает соответствующий программный код для их обработки (в том числе с обращением к базам данных) и возвращает ответную информацию в браузер (например, меняя не только содержимое, но и структуру HTML-страницы). Таким образом, программный код VB может быть альтернативным вариантом использования скриптов, CGI-обработки и других методов Internet-программирования.

IIS-приложение представляет собой объект, называемый WebClass и содержащий, в свою очередь, несколько элементов WebItem, которые могут быть двух типов: HTMLшаблоны и Custom WebItem. Первые фактически являются HTML-страницами с обозначением специальных полей, содержимое которых может динамически меняться. Вторые включают программируемые блоки обработки внешних запросов.

Принципиальное отличие IIS- и ASP-приложений (кроме того, что первое пишется на VB, а второе - на скриптовых языках типа VBScript или JScript) заключается в том, что в ASP-приложениях комбинация кода и HTML находится на одной странице, а в IISприложении пользовательский интерфейс (HTML- или ASP-страницы) физически отделен от программного кода. Такое разделение упрощает отладку приложения и обеспечивает возможность создания повторно используемых программных компонентов.

В отличие от традиционных VB-приложений IIS-приложения в качестве диалогового интерфейса применяют не формы, а HTML-страницы (табл. 3). Как и VB-приложения, IIS-приложения содержат модули кода и визуальные компоненты, которые хранятся в виде текстовых файлов с расширением DSR. Для файлов двоичного варианта приложения используется расширение DSX.

В целом законченное IIS-приложение (его структура приведена на рис. 1) состоит из следующих элементов:

Рис. 1.

DHTML-приложения представляют собой комбинацию динамических HTML-страниц и откомпилированного VB-кода. Они служат примером использования расширенной DHTML-технологии, реализованной в IE начиная с версии 4.0 и предназначенной для создания интерактивных Web-страниц. DHTML-приложения выполняются непосредственно на компьютере клиента. При создании DHTML-приложений можно писать VB-код обычным образом, а также использовать специальный конструктор в среде VB для создания Web-страниц.

В составе VB6 имеется несколько примеров с демонстрацией работы IIS- и DHTMLприложений (DhShowMe, PropBag и WCdemo), которые находятся на компакт-диске MSDN Library или на жестком диске в подкаталоге \MSDN98\98VS\1033\SAMPLE\V98.

В начало статьи

Таблица 1. Новые функции Visual Basic 6.0 для Internet

Функциональная возможность VB Ее содержание и назначение Редакции
IIS-приложения Создают серверные Internet-приложения в среде Microsoft Internet Information Server, которые используют код VB, предназначенный для ответа на запросы пользователя из браузера. Professional и Enterprise
DHTML-приложения Технология динамических (Dynamic) HTML-страниц в Microsoft Internet Explorer обеспечивает каждый элемент Web-страницы своими свойствами, методами и событиями. Приложения DHTML позволяют писать код VB, предназначенный для ответа на действия на HTML-странице, не передавая обработку на сервер Professional и Enterprise
Мастер Web Publishing Wizard Мастер Package and Deployment (прежнее название — мастер Setup) упрощает установку упакованных приложений на Web-узел Все редакции
Расширения AsyncRead Расширены возможности асинхронных операций, чтобы обеспечить предоставление более полной информации о выполнении и состоянии какой-либо операции, например, о том, сколько байтов было уже прочитано и сколько еще осталось. Новые языковые конструкции включают событие AsyncReadProgress, свойство BytesMax, свойство BytesRead, свойство Status (объект AsyncProperty), свойство StatusCode и свойство Target. Кроме того, были усовершенствованы метод AsyncRead и событие AsyncReadComplete. Все редакции
Поддержка загрузки документов ActiveX через Internet Explorer 4.x Загрузка документов ActiveX в Internet Explorer 4.x теперь работает так же, как и загрузка элементов управления ActiveX. Например, существует поддержка относительных адресов URL. Professional и Enterprise

В начало статьи

Таблица 2. Основные различия IIS- и DHTML-приложений

  DHTML-приложения IIS-приложения
Платформенная независимость Требуют IE версии 4.0 или старше Не зависят от операционной системы и браузера клиента
Объектная модель DHTML-модель ASP-модель
Местонахождение Работают в среде браузера Работают на сервере

В начало статьи

Таблица 3. Отличия приложений разных типов

  Forms-based приложения Web-based приложения
Тип пользовательского интерфейса VB-формы HTML-страницы
Элементы интерфейса Элементы управления Элементы страницы
Формат файлов frm-файлы htm-файлы
Кто разрабатывает VB-программист VB-программист один или совместно с Web-дизайнером
Среда исполнения VB run time Web-браузер

В начало статьи