Третья версия популярного пакета Borland JBuilder демонстрирует все новые и новые возможности, оставаясь при этом верной ранее принятой идеологии.

Class-овая борьба нарастает. Еще недавно полупустой рынок RAD-средств для Java за последние год-полтора оказался наводненным десятками больших и маленьких систем. Однако, как и раньше, в авангарде идет компания Borland, в очередной раз поменявшая название на Borland.com, со своим высокотехнологичным пакетом JBuilder. Средний промежуток между выходом новых версий этой RAD-системы — немногим менее одного года. Так было и с JBuilder, и с JBuilder 2. Очередная, третья версия этого продукта не исключение. На момент рассмотрения нашим журналом бета-версия JBuilder 3 Enterprise хотя и не была доведена до конца, но показала функциональное богатство и стабильную работу.

Визуальная часть JBuilder изменилась в лучшую сторону, однако не настолько сильно, чтобы говорить об этом как о событии. Главное — это переориентация пакета на технологию Java 2 (новое название JDK 1.2). Соответственно, получаемые в результате компиляции приложения поддерживают все новые возможности Java 2 (см. «JDK 1.2: радикальные изменения», «Мир ПК» № 3/99, с. 54-58). Стандартные компоненты из пакета JavaBeans Component Library (JBCL) также используют технологические преимущества Java 2.

Заметим, что и компилятор Just-in-Time настроен на Java 2. Тем не менее оптимизация пакета для работы на этой платформе вовсе не означает, что разработчик жестко к ней привязан. Возможно переключение на более старые версии JDK с помощью настроек проекта.

Больше Swing, меньше AWT

Палитра компонентов JBuilder 3 демонстрирует тенденцию смещения от визуальных компонентов Abstract Window Toolkit (AWT) к новым компонентам Swing — части библиотеки JFC, продвигаемой Sun в качестве мощного дополнения к Java 2. Отдельные элементы Swing присутствовали и в JBuilder 2, но это была, так сказать, проба пера. JBuilder 3 пополнился новыми закладками, отведенными под Swing. Теперь их стало шесть (ранее было две). Появились интересные компоненты, связывающие элементы Swing с источниками данных.

Работа с данными — приоритетное направление

Большинство приложений так или иначе связаны с обработкой данных. Следовательно, наличие соответствующих инструментов во многом определяет успех того или иного RAD-средства. В JBuilder 3 не только добавляются новые, ориентированные на работу с данными компоненты, но и делается упор на развитие уже хорошо известного разработчикам JavaBean под названием DataStore.

Это структурированное хранилище различного рода данных, «расфасованных» по отдельным потокам. Кроме того, DataStore обеспечивает целостность данных, изоляцию транзакций и отказоустойчивость. При этом используются собственные драйверы JDBC для локального и удаленного доступа к данным с помощью запросов на языке SQL-92.

Поскольку хранилище информации DataStore может иметь сложную структуру, JBuilder 3 комплектуется удобной утилитой DataStore Explorer, отслеживающей важную информацию о его параметрах и позволяющей производить внутренние структурные изменения (рис. 1). Структуру же данных, помещенных в таблицах на сервере, очень удобно рассматривать и изменять, используя другую графическую утилиту JDBC Explorer.

В JBuilder 3 создание модулей данных становится еще более простым благодаря применению специального инструмента под названием Data Modeler. Во многом его функции заимствуются из хорошо известной программы SQL Builder, которая вызывалась при интерактивном создании запросов.

Автоматизированная генерация многозвенных программ

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

Средства JBuilder 3 не просто упрощают создание распределенных многозвенных приложений — они берут на себя наибольшую работу, генерируя полный комплект файлов с исходными текстами, которые сортируются по отдельным пакетам для сервера и для клиента.

Рис. 3.

Пакет содержит три генератора приложений: первый создает приложение на основе описания, взятого из файла IDL, второй использует IDL из репозитария интерфейсов, а третий строит свою деятельность по имеющимся модулям данных (рис. 3).

«Побочные» результаты работы генераторов — приложения на основе сервлетов с интерфейсом, выполненным в виде HTML-страниц. Имея службу транзакций Integrated Transaction Service (ITS), можно получать приложения, поддерживающие объектные транзакции.

Кстати, уже упоминавшийся инструмент Data Modeler создает в визуальном режиме IDL-интерфейсы для распределенных приложений работы с данными.

Рис. 4.


Для дальнейшей поддержки компонентов Enterprise JavaBeans в JBuilder 3 был доработан комплекс мастеров BeansExpress. С их помощью разработчик может теперь создавать и настраивать не только обычные компоненты JavaBeans, но и устанавливать дескрипторы развертывания (deployment descriptors) свойств среды (environment properties) и управляющие дескрипторы (control descriptors) компонентов EJB (рис. 4).

Отладка упрощается

Помимо создания распределенных приложений JBuilder 3 обладает средствами их отладки, которую можно вести и в удаленном режиме. При этом приложение выполняется на различных платформах, включая Windows NT и Solaris. Версия JDK не имеет значения — JBuilder 3 корректно работает и с JDK 1.1.x, и с Java 2. Хотя разработчики и привыкли к тому, что отладку приложения можно вести с другого компьютера, настоящее достижение Borland заключается во встраивании в JBuilder 3 системы, которая позволяет отлаживать сразу несколько программ.

CORBA, CORBA и еще раз CORBA

Рис. 5.

В Borland JBuilder 3 включена последняя версия брокера объектных запросов Inprise VisiBroker 3.4, поддерживающего платформу Java 2, вместе со службами имен (naming) и событий (event). Интеграция VisiBroker в среду разработчика JBuilder была выполнена изначально. В основном это касается компилятора Caffeine и генерации компонентов RMI (рис. 5).

Рис. 6.


В JBuilder 3 появилась возможность подключать компилятор IDL, входящий в состав продукта OrbixWeb for Java компании IONA (рис. 6), и передавать параметры для компилятора IDL2JAVA. Для администрирования создаваемых CORBA-приложений можно применять ORB Explorer. Эта утилита с графическим интерфейсом предназначена для удобного управления такими функциями, как служба имен, репозитарии интерфейсов и др.

Новые мастера

Список мастеров пополнился генератором документации JavaDoc Wizard и конвертером имен пакетов Package Migration Wizard. Первый из них предоставляет удобный графический интерфейс для работы утилиты командной строки JavaDoc, создающей HTML-документацию к классам Java (рис. 7).

Рис. 7.

Второй мастер — настоящее спасение для разработчиков, уже имеющих опыт работы с ранними версиями JBuilder и накопивших достаточно готовых программ. Конвертированием в них старых имен компонентов Swing и JBCL в новые и занимается Package Migration Wizard. В свое время Sun совершила серьезный просчет в принципах именования пакетов Swing. И теперь, когда уже вовсю применяется Java 2, эти имена приходится изменять. Поэтому создатели JBuilder решили облегчить процесс конвертирования, сделав его автоматическим, попутно заменяя старые имена в ссылках на JBCL новыми (рис. 8).

Рис. 8.


Еще два мини-инструмента можно найти в панели File?New: Desktop Pane и Internal Frame, создающие исходные тексты для реализации многооконного интерфейса средствами библиотеки Swing.

То, что облегчает работу

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

Рис. 9.

Подача информации в среде JBuilder 3 была слегка доработана. К примеру, появились 18 Май 1999 г. 4:40:0418 Май 1999 г. 4:40:0518 Май 1999 г. 4:40:0518 Май 1999 г. 4:40:0518 Май 1999 г. 4:40:0518 Май 1999 г. 4:40:05[[долгожданный просмотр в панели структуры внутренних классов Java и структуры IDL-файлов, а заодно и цветовое выделение их синтаксиса.

Рис. 10.


Бывалые юзеры JBuilder наверняка припомнят, как их злило исчезающее консольное окно тестируемых приложений. Теперь окошки DOS, запускаемые одновременно с Java-программой, можно оставлять на экране.

Кроме того, выбрать компоненты можно не только в палитре: JBuilder 3 предлагает это делать и с помощью диалоговой панели BeanChooser, сходной с браузером пакетов. Для вызова BeanChooser в палитру компонентов добавлена новая кнопка (рис. 9).

Маленькая полезная мелочь — отображение в панели Tree View пиктограмм для используемых в приложении компонентов. Выглядит это весьма забавно и в то же время не лишено здравого смысла, так как облегчает навигацию (рис. 10).

Рис. 11.

Оценку «пять» можно смело ставить доработанному мастеру развертывания (Deployment Wizard). При вызове он строит дерево зависимости составных частей проекта, позволяя добавлять и удалять файлы (рис. 11).

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

И наконец, скажем, что JBuilder 3 пополнился специальным средством JBuilder Direct, позволяющим напрямую обращаться к Web-серверам за технической информацией о продукте, новостями и переходить по ссылкам на другие полезные источники данных. По всей видимости, на эту мысль разработчиков из Borland навело появление популярных утилит, входящих в состав многих продуктов Microsoft, Netscape и Symantec.

Программный доступ к среде JBuilder

Хотя и с довольно серьезным запозданием, появился документ, описывающий программный интерфейс Open Tools, с помощью которого разработчики могут встраивать свои инструменты в среду JBuilder. На более чем ста страницах приведены все нюансы, которые необходимо знать сторонним фирмам и независимым программистам, если они желают в дальнейшем делать полезные дополнения и мастера.

* * *

Как ни рекламно это звучит, но Borland JBuilder — единственная на сегодняшний момент система, в которой действительно проявлена забота о программистах. Поэтому, читая иностранные обзоры, можно прийти в недоумение: чуть ли не каждый Java-RAD — то, что нужно для разработчика. Однако именно JBuilder — одна из немногих систем, в которой генерируемые исходные тексты читабельны, а не забиты постоянным употреблением длиннющих имен с пакетами, как это делается в других RAD-системах. И JBuilder 3 — единственный продукт, который остался верен своей концепции на протяжении всех трех версий и не требует длительного переучивания при обновлении. Правда, к аппаратным ресурсам требования значительно возросли. Так что готовьте побольше оперативной памяти!

Borland JBuilder 3

Минимальные системные требования:

Pentium 133 МГц;

Microsoft Windows 95/98 или NT 4 с Service Pack 3;

минимум 64 Мбайт оперативной памяти (для Window 95); 150 Мбайт или более свободного места на жестком диске;

дисковод CD-ROM; видеоадаптер SVGA.

Borland. com http://www.borland.com