Обзор

IBM Visual Age for Java и Progress Apptivity стали лучше

Питер Коффи (PC Week Labs)

Использование компонентов и поддержка многоуровневых приложений являются общими чертами новейших средств разработки ПО на Java, выпущенных корпорациями IBM и Progress Software. Однако эти фирмы предлагают программистам два различных подхода к созданию корпоративных информационных систем.

Продукты обеих фирм имеют свои сильные стороны, которые станут еще более заметными с выходом новейших версий - Visual Age for Java 2.0 (VAJ) корпорации IBM и Progress Apptivity 3.0 фирмы Progress Software. Специалисты Тестового центра PC Week Labs провели испытания последней бета-версии Progress Apptivity Developer 3.0 (продукт должен появиться на рынке в текущем месяце; цена пока не объявлена) и окончательной версии VAJ Enterprise Edition 2.0 ($2999), выпущенной в сентябре.

В обоих продуктах использованы похожие решения многих ключевых проблем, волнующих разработчиков на Java, но приоритетные направления развития выбраны разные.

И VAJ 2.0, и Visual Apptivity 3.0 опираются на архитектуру распределенных компонентов, следуя по пути, предложенному Inprise в пакете Borland JBuilder 2. Таким образом, оба продукта усиливают лагерь соперников корпорации Microsoft, которая продвигает собственную модель распределенных компонентов DCOM.

Вездесущие JavaBeans

В обоих пакетах для упаковки компонентов используется технология JavaBeans, предоставляющая разработчикам столь необходимую свободу в построении наборов компонентов, гибко реагирующих на изменения объема доступных ресурсов. Кроме того, оба продукта упрощают доступ к унаследованным источникам данных, предлагая расширенный набор средств для создания платформно-независимой оболочки вокруг реляционных данных.

Однако, несмотря на единый подход к решению этих важных задач, способы организации цикла разработки в VAJ и Progress Apptivity не имеют ничего общего. VAJ ориентирован на групповую работу: с самого начала перед пользователем открывается окно, обеспечивающее доступ к репозиторию кода, и предлагается выбрать тип создаваемого проекта (набор этих типов в значительной степени специфичен для Java, например, имеются опции задания класса или интерфейса, а также визуального конструирования аплета).

“Визуальное конструирование” можно было бы счесть напыщенным наименованием того, что обычно принято называть “построением форм методом буксировки”, однако за громким названием нового средства IBM скрывается и кое-что конкретное. Модуль Visual Composition остается незаменимым подспорьем при обдумывании и документировании схемы проекта, как, впрочем, и его внешнего вида.

Визуальное отображение взаимосвязи компонентов ускоряет освоение новых объектных моделей в IBM Visual Age for Java 2.0

Окно, отображающее архитектуру проекта в VAJ, особенно полезно, когда разработчик сталкивается со сложностями, вызванными использованием дополнительных библиотек классов: ведь в каждой из них понятия данных и представления интерпретируются по-своему. Например, разработчику, пользующемуся новой библиотекой классов Swing, предстоит свыкнуться с мыслью, что прокручивающийся список - это не просто нарисованный на экране элемент управления и связанная с ним структура данных. Это - сложная модель, содержимое которой показывается с помощью компонента “список”, размещающегося на элементе “подложка” с полосой прокрутки, управляющей перемещениями по списку. Однако VAJ Visual Composition Editor делает структуру этой конструкции вполне прозрачной - не только для создателя, но и для любого разработчика, пожелавшего ознакомиться с проектом на последующих стадиях его жизненного цикла.

По нашему мнению, VAJ не столь “дуракоустойчив”, как, например, Symantec Visual Cafe, где выбор триггерного события, объекта назначения и параметров результирующей операции автоматизированы. С другой стороны, более свободный подход Visual Age for Java обеспечивает более широкие возможности контроля над построением приложений, превосходящих по сложности типовые демонстрационные примеры.

Подобно Parts for Java фирмы Object Share, VAJ позволяет переходить от одной задачи к другой, не прерывая выполняемой операции; при возврате к первоначальному проекту пользователь получает напоминание о том, какая часть работы не была завершена.

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

Progress Apptivity Developer больше напоминает Microsoft Developer Studio - в них основное внимание уделяется пользовательскому интерфейсу и источникам данных, кроме того, предлагается большой набор средств развертывания клиентских приложений.

Разработчикам, уже знакомым с Visual C++ или Visual Basic, будет легче освоиться со средствами Progress, чем VAJ, так как последняя сильно отличается от них по логике построения и работы. Более того, в ходе тестирования выяснилось, что среда Progress быстрее реагирует на действия пользователя, чем продукт IBM, в котором скорость перерисовки экрана и другие основные операции выполняются значительно медленнее, чем в конкурирующих пакетах.

Написано, чтобы быть понятым

С точки зрения разработчиков, придерживающихся мнения, что на чтение написанного кем-то кода затрачивается больше времени, чем на написание собственного, подход IBM представляется более оправданным.

При создании нового проекта Progress Apptivity 3.0 предлагает выбрать его тип. Он, например, позволяет создать серверное ПО, имеющее клиентский HTML-интерфейс или интерфейс, оформленный в виде Java-аплета (последний способ обеспечивает более широкие возможности, но связан с дополнительной нагрузкой на канал связи). В этом отношении продукт Progress близок к недавно выпущенным версиям Microsoft Visual J++ и Visual InterDev, также уделяющим особое внимание разнообразию клиентских средств и обработке данных на сервере.

Подобно Microsoft, Progress рискует подвергнуться нападкам ревнителей чистоты стандартов - фирма дополняет язык новыми элементами, правда, это относится не к Java, а к HTML: введенные в Apptivity 3.0 теги облегчают взаимодействие с логическими компонентами на стороне сервера (в продукте Progress последние носят название BusinessBeans).

Впрочем, описанные новшества лишь готовят почву для языка XML (eXtensible Markup Language - расширяемый язык разметки), играющего все более важную роль в корпоративных информационных системах.

Знакомый интерфейс помогает разработчикам быстро освоить основанное на компонентах средство построения многоуровневых приложений Progress Apptivity 3.0

Apptivity 3.0 великолепно интегрируется с технологиями связующего ПО и серверной обработки данных, приобретающими все большее значение. VAJ отлично справляется с задачей построения интерфейсов баз данных, однако пакет компании Progress обеспечивает лучший подход к построению связующих приложений, работающих в многоплатформной среде.

Резюме для руководителей

Новая версия инструмента корпорации IBM станет отличным подспорьем для групп разработчиков, желающих использовать возможности языка Java на все сто процентов: в их руках окажутся первоклассные средства управления кодом и работы с компонентными технологиями.

Методика оценки: www.pcweek.com/reviews/meth.html.

Visual Age for Java Enterprise Edition 2.0.

(+) Превосходная интеграция средств управления; отличные вспомогательные средства визуального проектирования.

(-) Непривычная организация среды требует дополнительного обучения разработчиков; скорость реакции на действия пользователя ниже, чем у большинства конкурирующих продуктов.

IBM, Армонк, шт. Нью-Йорк, тел. в Москве: (095) 940-2000. www.software.ibm.com.

Бета-версия Progress Apptivity Developer 3.0.

Программисты, желающие совместить логику многоуровневых приложений с разнообразием клиентского ПО в интрасетях, не встретят трудностей при переходе от Microsoft Visual Studio к усовершенствованной среде разработки Progress Software. По своим возможностям бета-версия пакета Apptivity Design 3.0 не уступает комплектам Microsoft Visual J++ и InterDev 6.0, но более строго придерживается языковых стандартов.

(+) Быстродействующая, хорошо отлаженная среда; платформно-независимое представление данных; продуманная интеграция с логикой связующего ПО.

(-) Недостает визуального отображения связи компонентов.

Progress Software Corp., Бедфорд, шт. Массачусетс, тел. (800) 477-6473, доп. 4700, www.apptivity.progress.com.