Разработка приложений
Управление проектом
Публикация
Верификация связей

Хотите, чтобы ваш Web-узел выдерживал натиск посетителей, которых вы надеетесь привлечь? Тогда используемые вами средства разработки узла должны быть высокопрофессиональными: соответствовать всем "веяниям моды", иметь богатый набор "мастеров" и встроенных компонентов, а также обеспечивать возможность доступа к исходному коду. Специалисты еженедельника Network World испытали четыре средства для создания Web-узлов промышленного уровня. Каждое их них имеет серверный механизм и изощренную интегрированную среду разработки (Integrated Development Environment - IDE), которая позволяет писать как сценарии для браузера, так и серверные коды.

Как показал проведенный анализ, средство Visual InterDev 1.0 корпорации Microsoft обладает явными преимуществами для тех компаний, которые в качестве стандартной платформы Web-сервера используют Windows NT Server в сочетании с сервером Internet Information Server (IIS). Это средство представляет собой мощный и уже известный инструмент для совместной разработки, обладающий богатым набором функций и гладко интегрирующийся с продуктом Visual Studio 97. Технологии Visual InterDev только начинают переносить на платформу Unix, поэтому сторонникам этой платформы будет небезынтересно познакомиться со средством HAHTsite 3.0 компании HAHT Software. Его законченность, масштабируемость и богатый инструментальный набор вполне компенсируют высокую цену.

Sapphire/Web 4.0 компании Bluestone Software вполне может конкурировать с продуктом HAHTsite. Средство Cold Fusion 3.0 корпорации Allaire довольно похоже на продукт InterDev, однако его не помешало бы несколько усовершенствовать.

Разработка приложений

Visual InterDev - наиболее простое в освоении средство. Вы довольно быстро ощутите его полезность, особенно если уже знакомы с языком Visual Basic или другими средствами разработки из Visual Studio. Visual InterDev - это инструмент для создания активных серверных страниц (Active Server Pages - ASP), представляющих собой HTML-файлы, которые содержат сценарии VBScript или JavaScript.

Продукт Visual InterDev включает в себя большое количество "мастеров" (wizards), облегчающих создание проектов различных типов, тем для разработки Web-узлов и небольших шаблонов для обычных файлов. Это дает возможность разрабатывать большинство приложений наиболее рациональным способом, полностью (или почти полностью) исключающим необходимость в программировании. Как только вы приступаете к реализации настраиваемой бизнес-логики, вы способны генерировать HTML-код и серверные сценарии с использованием средств управления проектированием. Такие средства создают фрагменты серверных сценариев, облегчающие создание интерактивных и полностью функциональных страниц Web.

Модуль Query Designer продукта Visual InterDev является одним из самых мощных изо всех известных нам средств разработки запросов к базам данных, имеющих графический пользовательский интерфейс. Вполне возможно, что вам захочется приобрести Visual InterDev только из-за его средств работы с базами данных. Обладая способностью "родного" соединения с сервером Microsoft SQL Server, средство Visual InterDev может создавать, стирать или изменять таблицы, поля, триггеры и хранимые процедуры.

В продукте Cold Fusion корпорации Allaire используется аналогичная модель. Сервер Cold Fusion Application Server создан для опознавания расширений языка HTML, называемых Сold Fusion Markup Language (CFML). Файлы CFML выглядят подобно обычным HTML-файлам, однако содержат дополнительные теги и вложенные функции, распознаваемые сервером Application Server. Если вы готовы рискнуть, попробуйте использовать для создания своих собственных настраиваемых тегов CFML включенную в Cold Fusion библиотеку API-интерфейсов на С++. Средство Cold Fusion выпускается также с небольшим, но мощным набором аплетов Java, доступ к которым может быть осуществлен через теги CFML.

Недавно корпорация Allaire выпустила продукт Cold Fusion Studio - визуальную среду разработки, снабженную мощной версией HТML-редактора Homesite этого же производителя. Данный редактор поддерживает выделение цветом различных синтаксических элементов, имеет встроенный режим предварительного просмотра и "мастера" JavaScript. Для облегчения редактирования тегов HTML и CFML текстовый редактор Cold Fusion Studio выводит на экран ярлыки контекстно-зависимого инструмента. Когда вы набираете текст тегов, появляются выпадающие списки, показывающие известные параметры тегов.

Среда Cold Fusion Studio имеет встроенные модули Query Builder и Database Browser, которые похожи на модули средства Visual InterDev и функционируют почти так же, как и они. Однако в этой среде отсутствуют собственные средства управления базами данных, имеющиеся в Visual InterDev.

Еще одно привлекательное свойство Cold Fusion Studio - наличие мощных "мастеров" создания таблиц и кадров (frame), позволяющих разрабатывать сложные конструкции без ознакомления с многими тегами HTML, а также средства Document Weight, в котором анализируется размер и оценивается время загрузки документа.

Программирование с помощью средства HAHTsite компании HAHT ведется на языке HAHTtalk Basic, совместимом по синтаксису с языком Visual Basic. Когда вы приступаете к разработке нового проекта, HAHTsite генерирует значительный объем кода HAHTtalk, обрабатывающего события и запросы клиента к базе данных. Уникальной функцией HAHTsite является встроенная возможность отладки на сервере. Вы способны вести отладку серверного кода HAHTtalk в среде IDE по мере работы приложения, в интерактивном режиме.

На стороне клиента HAHTsite имеет весьма неплохой встроенный HTML-редактор с интерфейсом WYSIWYG, позволяющий переключаться между режимами графического просмотра и исходного кода HTML. В его состав входит и хорошо проработанный редактор графических изображений. Для работы с HTML-страницам, включающими наборы кадров, в HAHTsite есть "мастер" Frames Wizard, который можно применять для создания страниц с кадрами любого уровня сложности, а кроме того, - "мастер" написания сценариев, облегчающий работу с JavaScript или VBScript (однако он не столь надежен, как "мастер" Script Wizard из Visual InterDev).

Sapphire/Web компании Blue-stone появился на рынке как средство Web-разработки, основанное на языке С и интерфейсе CGI (Common Gateway Inter-face). Версия 4.0 обеспечивает совместимость с предыдущими версиями и использует более современные технологии. Не пытаясь конкурировать с компаниями, имеющими средства разработки на Java, компания Bluestone мудро решила заняться объединением отдельных компонентов. Ее продукт интегрируется с любым компилятором Java и "умеет" работать на сервере с языками С++ и Java.

Разработка приложений с помощью Sapphire/Web включает в себя три основные стадии. Сначала вы создаете HTML-страницы, составляющие проект, и решаете, какие объекты станут активаторами (активатор - это гиперсвязь или поле формы, которые активируют код на сервере). Затем разрабатываются объекты данных (операторы SQL или хранимые процедуры), связанные с каждым активатором. Наконец, с помощью редактора Bind Editor вы связываете активаторы с соответствующими объектами данных.

Иногда IDE-среда средства Sapphire/Web казалась нам несколько громоздкой; она часто требует тонкого управления мышью и многократного щелканья ею. Однако в целом этот процесс позволял эффективно программировать простые задачи для сервера.

Управление проектом

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

Средство Visual InterDev имеет интуитивную и гибкую утилиту управления проектами. Его окно проекта напоминает подокно дерева Windows Explorer. На корневом уровне этого дерева находится рабочее пространство пользователя - контейнер проектов. В одно рабочее пространство можно включать несколько проектов. Каждый проект представляет собой одно Web-приложение, а каждое Web-приложение связано с каталогом на Web-узле. Хотя одновременно вы можете иметь лишь одно открытое рабочее пространство, вы способны совместно использовать проекты и перемещать их из одного рабочего пространства в другое.

В окне проектов продукта Cold Fusion отображает в упрощенном виде все известные проекты. Окно разделено на три подокна: список проектов, список папок для текущего проекта и список файлов для текущей папки. Правда, универсальное представление всех проектов - единственно допустимое: нельзя создать новое представление и перемещать проекты в данное представление или из него. Это быстро начинает надоедать при работе с большими Web-узлами. Кроме того, хотелось бы, чтобы среда Cold Fusion Studio имела функцию буксировки мышью, позволяющую перемещать файлы между папками и проектами.

Утилита управления проектом средства HAHTsite представляет собой сочетание тех функций, которые присущи Visual InterDev и Sapphire/Web. Продукт позволяет открывать только один проект. Окно проекта имеет древовидную структуру, которая может быть разделена на шесть общих папок, хранящих ваши файлы приложений, псевдонимы URL, многократно используемые объекты страницы и источники данных. Есть также папка Widgets, содержащая компоненты, которые можно совместно использовать во всех проектах. Вы способны расширить эту библиотеку, включив в нее свои собственные настраиваемые "приспособления" (widgets).

Аналогично, продукт Sapp-hire/Web позволяет открывать одновременно только один проект и не дает возможности создавать вложенные папки в пределах проекта. Однако благодаря ему вы можете получить немного более глубокое представление каждого файла проекта, в том числе вложенные ссылки и связи с базами данных. Продукт Sapphire/Web также организует в отдельном окне глобальные объекты - источники данных, функции и исполняемые файлы, которые можно совместно использовать во всех проектах.

Публикация

Хорошие средства управления узлом должны иметь по меньшей мере две функции: публикации и верификации связей. Публикация - это возможность копировать файлы приложений из вашего рабочего каталога на удаленный рабочий Web-сервер. Средства верификации связей проверяют правильность гиперссылок на вашем узле, чтобы гарантировать для каждой гиперссылки наличие соответствующего ресурса.

Средство Visual InterDev способно осуществлять публикацию на Web-сервере по протоколу HTTP. Можно производить копирование всех файлов проекта или только тех, в которые были внесены изменения со времени последнего обновления. Нам бы хотелось, чтобы имелась и возможность публикации только избранных файлов - особенно если на вашем тестовом сервере используются ODBC-соединения, отличные от применяемых на рабочем сервере. Приложения копируются на любой Web-сервер, доступный с помощью HTTP, даже через брандмауэр. Если вы хотите передавать файлы по незащищенной сети, то сможете воспользоваться протоколом Secure Sockets Layer (SSL) для их шифрования.

Продукт Cold Fusion Studio взаимодействует с удаленной информацией двумя способами - по протоколу HTTP или FTP. Вы можете подключаться непосредственно к удаленному серверу Cold Fusion Application Server по протоколу HTTP, (факультативно - с помощью SSL), и управлять удаленным каталогом так, как если бы он был локальным в среде IDE. Публикации проектов, созданных локально и управляемых из окна Studio Project, можно осуществлять на удаленном FTP-сервере. Этот метод позволяет копировать все файлы или только те, которые были изменены со времени последней публикации. Поскольку нельзя публиковать проект по протоколу HTTP, конфигурация удаленного FTP-сервера должна "перекрывать" структуру каталога Web-сервера.

HAHTsite имеет такие же возможности публикации, как и Visual InterDev. Это средство перестраивает устаревшие части вашего проекта с помощью внутренней процедуры, подобной команде make ОС Unix. Затем HAHTsite проверяет каждую часть вашего проекта, создавая отчет о пропущенных ссылках и нарушенных связях. Наконец, продукт публикует ваш проект на выбранном сервере, осуществляя прямое копирование файла или передачу по протоколу FTP. Вы можете выбрать: опубликовать ли проект целиком, только его измененные или только избранные файлы. К сожалению, HAHTsite не позволяет осуществлять публикацию по протоколу HTTP, что делает невозможной публикацию через брандмауэр (за исключением случая, когда этот брандмауэр допускает передачу на сервер по протоколу FTP).

Продукт Sapphire/Web позволяет конфигурировать каждый проект, применяя тестовый или рабочий каталог. При разработке проекта файлы хранятся в тестовом каталоге. Для последующей передачи файлов в рабочий каталог используется функция публикации, запускаемая нажатием одной кнопки. К сожалению, эти каталоги могут быть расположены только в той же локальной сети, что и машина, на которой ведется разработка. Для передачи на удаленные рабочие Web-серверы придется вручную передавать файлы по протоколу FTP или разрабатывать сценарии автоматического копирования файлов вашего проекта.

Верификация связей

Продукт Visual InterDev имеет простое графическое средство верификации связей, называемое Link View. Средство Link View можно использовать для интерактивной верификации всех связей в любом открытом проекте, а также для просмотра структуры любого узла в сети Web (с применением полного адреса URL). Неподсоединенные красные линии обозначают нарушенные связи. Опции фильтрации позволяют показывать или скрывать различные компоненты Web-узла, такие как графические и исполняемые файлы, что упрощает представление крупных узлов.

Продукт Cold Fusion Studio может проверить связи на отдельной странице или все связи проекта. Его модуль Link Checker составляет список связей для каждой страницы и отмечает каждую из них как хорошую или плохую - соответствующей пиктограммой. Этот модуль не выводит графическую карту Web-проекта, но предоставляет простой способ подтверждения правильности соединений между страницами.

Средство HAHTsite позволяет, щелкнув на любом документе в окне проекта, открыть окно, показывающее все ссылки на данный документ или из него. Вы можете также получить общий вид всего проекта. Однако при таком представлении связей не показываются недействительные или неразрешенные связи. Как мы полагаем, это происходит потому, что все связи проверяются во время публикации. Было бы полезно иметь представление о нарушенных связях и на этапе разработки.

Продукт Sapphire/Web благодаря окну Project Manager - графической утилите типа Link View продукта Visual InterDev - расширяет диапазон возможностей своего средства просмотра проекта. Утилита показывает действующие и нарушенные связи и дает изображения связок между активаторами и источниками данных. Это оказывается весьма полезным для понимания структуры незнакомых проектов. Щелкнув на объекте в утилите Project Manager, вы сразу же получаете доступ к соответствующим редакторам объектов, таким как Object Bind Editor.

Microsoft стимулирует разработчиков программ для Windows применять объектно-ориентированные компонентные технологии этой компании, используя Visual Studio в качестве исчерпывающего набора инструментальных средств. Компания явно позиционирует продукт Visual InterDev как еще одно средство, способное ответить на лавину запросов разработчиков Web-приложений. Инструментальные средства, рассмотренные в данном обзоре, имеют много общего, однако по совокупности всех качеств продукт Visual InterDev представляется нам лучшим.

Результаты испытаний
Критерий Весовой коэфф., % Visual InterDev Cold Fusion HAHTsite Sapphire/Web
Управление проектом 20 9 5 7 6
Связь с базами данных/средства работы с ними 20 10 8 5 6
Управление узлом/публикация 20 8 7 6 4
Шаблоны и "мастера" 10 7 8 5 6
Производительность/масштабируемость 10 7 6 8 7
Гибкость и простота использования 10 8 7 6 6
Инсталляция 5 6 7 5 7
Документация/поддержка через Internet 5 8 7 6 7
Итоговая оценка 8,3 6,8 6,05 5,8
Примечания. Оценки выставлялись по 10-балльной шкале. Весовой коэффициент обозначает относительную важность данного критерия и учитывается при выведении итоговой оценки.
Средства Web-разработки: достоинства и недостатки
Visual InterDev 1.0 фирмы Microsoft Cold Fusion 3.1 фирмы Allaire HAHTsite 3.0 фирмы HAHT Software Sapphire/Web 4.0 фирмы Bluestone Software
Достоинства Превосходные средства работы с базами данных
Короткий период обучения
Гладкая интеграция с Visual Studio и SQL Server
С помощью HТTP можно осуществлять публикации на разнообразных серверах Unix и NT
Самая низкая стоимость
Быстрое создание прототипов
Динамические формы Java
Поддержка LDAP
Интеграция с Verity
Удаленное редактирование по HTTP
Встроенный модуль HTML Validator
Полная поддержка Java
Масштабируемый сервер Distributed Application Server с возможностью кросс-платформенной кластеризации серверов
Поддержка большинства платформ
Соответствие критерию 100% Pure Java
Создание постоянных соединений с базами данных
Широчайшая "родная" поддержка баз данных
Недостатки ASP работает только с IIS 3.0+, WebSite 2.0 компании O'Reilly или встраиваемым модулем ChiliSoft Отсутствует "родная" поддержка баз данных
Возможности управления проектом ограничены
Небольшие ошибки в новой среде IDE
Слабые средства для связи с базами данных
Самая высокая стоимость
Неразвитые средства управления проектом
Отсутствуют возможности удаленной публикации
Достаточно высокая стоимость
Цена От 199 дол. для владельцев других средств разработки компании Microsoft до 499 дол. за полный продукт 295 дол. за Studio, 995 дол. за Server (дополнительная годовая подписка стоит 395 дол.) 1995 дол. за среду IDE; от 4995 дол. за NT App Server до 9995 дол. за Unix Distributed App Server 4995 дол. за место разработчика; версия run-time бесплатная


Стивен М. Куон (Steven M. Cohn) - менеджер по Internet-разработкам компании The Boston Globe (Бостон, шт. Массачусетс) и инструктор по программе State of the Art Северо-восточного университета. Его адрес электронной почты: cohn@globe.com.