.
Бывший когда-то инструментом общего назначения, пакет VB теперь оснащен более совершенными функциями управления базами данных и работы в Интернете, ориентированными непосредственно на рынок корпоративных систем.
Похоже, корпорация Microsoft в последние несколько лет сосредоточила свои усилия исключительно на Интернете - это проявляется даже в системе программирования Visual Basic. Версию 6.0 своего самого популярного языка программирования Microsoft оснастила множеством функций, с помощью которых можно строить прикладные программы для Web. Хотя эти функциональные возможности уже были введены в систему VB5 в виде дополнительных модулей, они гораздо лучше интегрированы в VB6 и более разнообразны.
Стремясь укрепить свои позиции в секторе Web-приложений, Microsoft на этот раз сосредоточила усилия почти исключительно на разработке функций VB6, предназначенных для работы в Интернете, а также на расширении возможностей управления базами данных, т. е. в конечном итоге на корпоративной редакции (Enterprise Edition) данного продукта.
Разумеется, в VB6 не обошлось без заметных усовершенствований ядра пакета. Тем не менее кое-что в этой версии ухудшилось. В целом, VB6 примерно на 10% дороже VB5. Например, цена нового экземпляра пакета VB6/Pro на 50 долл. выше, чем у VB5, - 549 долл. против 499 долл. (рекомендуемая изготовителем цена). Однако переход на VB6/Pro для владельцев предыдущей версии, объем продаж которой будет наибольшим, обойдется на 15% дороже - 229 долл., тогда как цена обновления VB5/Pro составляла 199 долл. И, что еще хуже, фактически рекомендуемая изготовителем цена обновления составляет 279 долл. Вам придется позаботиться о возвращении одного из купонов на скидку, чтобы получить назад свои 50 долл.
Стоит уделить особое внимание практическим вопросам применения Visual Basic. Обновление версий традиционно ставит перед разработчиками специфические проблемы. Всегда приходится что-то изменять в тексте программ или настраивать параметры рабочей среды, чтобы VB-проект правильно работал с новой версией. Пропуск версии VB обостряет эту проблему, удваивая число трудностей, связанных с обновлением. Поэтому для профессионалов, регулярно работающих с VB, постоянное обновление версий должно быть само собой разумеющимся. Каждый из гигантской массы программистов, применяющих VB, просто вынужден оплачивать все модификации успешно развивающейся системы Microsoft VB.
Давайте сначала рассмотрим функции VB6 для работы в Интернете, а затем перейдем к функциям ядра новой версии этого пакета.
Работа в Интернете
В характерной для себя манере Microsoft эффектно демонстрирует функции VB6 для работы в Интернете. Нам удалось воспроизвести примеры, прилагаемые как часть рабочего руководства пакета VB6 менее чем за 15 минут, и результаты были впечатляющими.
Примеры, предлагаемые Microsoft, выполняются легко и быстро, потому что наиболее трудная работа по формированию реальных страниц Web, применяемых в этих проектах (а также некоторых компонентов самих проектов), уже проведена ранее. Процесс предусматривает подготовку Web-страниц с помощью Microsoft Visual InterDev или какого-либо другого инструмента с последующим применением VB для связывания программ обработки событий на VB или элементов управления ActiveX с этими страницами. Другими словами, нельзя выполнить всю работу только средствами VB. В этом состоит главное отличие VB от таких систем разработки, как Clarion фирмы Topspeed, в которой готовую прикладную программу можно одним щелчком мыши преобразовать в интерактивные Web-страницы. В VB применяется подход, основанный на использовании компонентов: взяв HTML-текст Web-страниц, вы формируете компоненты VB для связывания с ними.
Есть два метода построения ориентированных на Web прикладных программ VB, причем оба они представлены новыми типами приложений VB. В одном для составления программ на базе информационного сервера Интернета IIS (Internet Information Server) применяется новая объектная модель WebClass. При другом подходе программа на VB привязывается к объектам - элементам управления ActiveX в рамках объектной модели динамического HTML (Dynamic HTML, DHTML). Оба метода имеют ряд специфических для Microsoft особенностей. IIS - продукт Microsoft, составная часть Windows NT Server. Следовательно, основанные на применении IIS прикладные программы VB будут функционировать только на Web-серверах, работающих под управлением NT. Язык DHTML еще не превратился в стандарт для Интернета, по крайней мере пока, поэтому для применения данного подхода требуется, чтобы пользователь просматривал такие Web-страницы с помощью браузера Microsoft Internet Explorer (IE) Version 4.01.
Чтобы начать разработку программы на базе IIS, надо выбрать в диалоговом окне New Project (Новый проект) пункт IIS Application. В качестве простого примера в рабочем руководстве показано, как строить программы с помощью «конструктора» (окна проектирования). Поля Approved (Доступ разрешен), Denied (Доступ запрещен) и Login (Регистрация) представляют собой HTML-страницы, сформированные вне среды VB. На странице Login определено событие Submit (Выполнить), при наступлении которого выполняется сбор регистрационной информации, вводимой просматривающим Web-страницу пользователем, и затем в зависимости от полученных данных происходит переход к странице Approved или Denied. На правой панели «конструктора» выводятся все теги (дескрипторы) HTML со связанной Web-страницы, в том числе описывающие кнопку Submit. VB преобразует Web-страницу для связывания кнопки Submit с фрагментом программы, отвечающим за обработку этого события. В VB6 имеются встроенные средства проверки разрабатываемой программы: нажатие клавиши F5 для выполнения приложения приводит к запуску IE4 и выводу на экран связанной Web-страницы.
Для начала разработки DHTML-программы надо выбрать в диалоговом окне New Project пункт DHTML Application. В качестве примера в руководстве приводится «конструктор», применяемый для построения такой программы. В этом примере в форму ввода заказа вслед за меткой «Ship Date» (Дата отгрузки) был помещен новый фирменный элемент управления ActiveX - DateTimePicker. Для этого мы «отбуксировали» элемент управления с панели инструментов ToolBox на Web-страницу, отображаемую в правой половине окна «конструктора». Вывод на экран сообщения о корректности выбранной даты осуществляется фрагментом программы, связываемым с событием Click элемента DateTimePicker. На левой панели окна «конструктора» отображаются компоненты DHTML-страницы, в том числе добавленный нами элемент DateTimePicker. Тестирование DHTML-приложения, как и IIS-программы, - встроенный процесс.
Заметьте, что большая часть элементов управления в панели инструментов ToolBox отключена. Дело в том, что основные элементы управления, имеющиеся в пакете VB, не относятся к ActiveX-компонентам, а представляют собой жестко запрограммированные элементы управления VB. Поскольку с DHTML-программой будут работать лишь элементы управления ActiveX, то в данном случае можно пользоваться только ими.
Несмотря на легкость, с которой мы справились с примерами, разработка программ такого типа не так проста, как пытается уверить нас Microsoft. Необходимо понимать концепции, лежащие в основе Web-страниц, и быть знакомым с языком HTML. Нужно уметь визуально отображать взаимосвязь между информацией, получаемой от «конструктора», и ранее сформированными Web-страницами. Для разработки IIS- и DHTML-программ вы должны понимать объектную модель VB. И, конечно же, надо уметь строить Web-страницы, с которыми будет связываться программа, составленная с помощью VB. Фирма Microsoft славно потрудилась, интегрировав средства проектирования в ИСР VB, поэтому по крайней мере часть работы выполняется графически, а не путем ввода строк программы. Однако придется разбираться, что обозначают древовидные конструкции на левой панели окон проектирования. Таким образом, краткость нашего описания дает не совсем верное представление о внутренних сложностях разработки прикладных программ для Интернета с помощью VB.
В ходе обсуждения функций VB6 для работы с Интернетом мы упомянули концепцию «конструкторов» (окон проектирования). «Конструкторы» - это новые компоненты Visual Basic, которые могут входить в состав проекта наряду с формами, MDI-формами, модулями, модулями классов и т. д. «Конструкторы» не относятся к универсальным элементам. В проекте можно использовать только «конструкторы», разработанные Microsoft, а их всего четыре: DHTML, WebClass (для IIS-приложений), DataReport и DataEnvironent. Чуть позже мы обсудим два «конструктора», связанные с обработкой данных.
Компоненты ядра системы
VB6/Pro поставляется на трех компакт-дисках. На одном содержится сам VB, а на двух других редакция сетевых средств разработчика Microsoft (MSDN, Microsoft Developer Network) для Visual Studio. Компакт-диски с MSDN очень важны, поскольку на них размещаются все файлы справочной системы.
Процедура инсталляции стала сложнее: увеличилось число необходимых шагов, причем требуется несколько раз перезапустить систему. Сначала устанавливается VB6, затем MSDN. Наконец, предлагается установить различные служебные программы, такие, как серверные расширения пакета Microsoft FrontPage 98. Довольно трудно определить необходимый объем используемого дискового пространства, поскольку компоненты размещаются в различных папках, но предполагается, что для типовой установки потребуется от 100 до 150 Мбайт. Установка длится примерно 20 минут. Для новейших версий продуктов серии Visual Studio становится обычным предложение удалить предшествующие версии. Если согласиться с ним, время инсталляции возрастет. Хотя Microsoft не рекомендует устанавливать VB6 и предшествующие версии в одной системе, у нас на одном компьютере установлены профессиональные редакции VB4, VB5 и VB6, но никаких проблем пока не возникало.
ИСР осталась такой же, как в VB5. Появились два новых пункта меню - Query и Diagram, с помощью которых осуществляется непосредственное управление процессом формирования запросов к базам данных и работой с ними, а также проектированием самих баз данных и выводом диаграмм по информации из них. Этих дополнений ИСР давно ожидали пользователи. Однако пункты Query и Diagram активны только при наличии подключенной к серверу БД, например SQL Server, DB2, Sybase или Oracle. Для прикладных программ, в которых применяется технология Jet (обычная практика среди разработчиков VB), пункты меню Query и Diagram остаются заблокированными.