Обзор

Влад Борисов

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

Выбрать такой инструмент нелегко: приходится учитывать множество факторов - надежность и удобство продукта, число поддерживаемых им технологий, стабильность компании-производителя. Ошибка в оценке этих факторов может дорого обойтись разработчику, так как перейти от одного инструмента к другому крайне сложно из-за использования в них специфических расширений Java.

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

Помимо этого, продукт обязан поддерживать работу с компонентами JavaBeans или ActiveX/COM и иметь средства, упрощающие доступ к базам данных (БД) и создание распределенных приложений на основе технологий Enterprise JavaBeans, CORBA, DCOM.

Кроме того, инструмент должен быть оснащен средствами поддержки групповой разработки и управления версиями.

Также хотелось бы, чтобы перспективы развития продукта были предельно ясны.

В данной статье рассматриваются пять популярных в нашей стране инструментов разработки на Java: Borland JBuilder 2.0, Symantec Visual Cafe/, Microsoft J++, IBM Visual Age for Java (VAJ)*1 и бета-версия PowerJ 3.0*2. Учитывая ориентацию нашего издания, мы ограничились лишь версиями, предназначенными для корпоративного применения.

-----

*1. Автор благодарит российского дистрибьютора программного обеспечения CPS за помощь в получении некоторых пакетов.

*2. Сотрудники московского представительства Sybase не смогли преодолеть внутренние бюрократические барьеры и предоставить нам на экспертизу рабочую версию своего продукта PowerJ, поэтому мы оценивали лишь бета-версию третьего релиза этого инструмента.

JBuilder Client-Server Edition 2.0

Среда разработки (IDE) JBuilder достаточно функциональна, но совершенно не эстетична, а работает медленно.

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

JBuilder предлагает большую библиотеку стандартных элементов ГИП и классов, а также мастер для создания заготовок новых классов и проектов - аплетов, приложений, диалогов, JavaBeans-компонентов и т. п. (правда, наполнять их хоть какой-то функциональностью приходится вручную). Кроме того, в среду можно “затягивать” классы и из сторонних файлов.

Среда Borland JBuilder 2.0

Добавлять новые и редактировать старые свойства JavaBeans-компонентов в JBuilder легко: для этого достаточно воспользоваться мастером для работы с классами BeanInfo. Хотя логически связать компоненты из стандартных библиотек пакета, меняя их свойства из визуального редактора DesignView, удается нечасто, и, как правило, такое соединение приходится делать вручную.

Подобно другим продуктам, JBuilder позволяет перемещать элементы проекта между различными контейнерами с помощью операций “вырезать” и “вставить”; эти действия можно осуществить в визуальном редакторе или навигаторе по проектам.

Среда разработки имеет и ряд средств автоматизации труда кодировщика. Например, редактор исходного кода подсказывает, как можно завершить вводимое имя метода и список его параметров. Похожие функции есть в Visual Cafe/ и Visual J++.

Также следует отметить специальный мастер (Resource Wizard), который ищет текстовые строки в Java-коде и размещает их в отдельных, легко локализуемых файлах.

Компиляция, отладка и развертывание. Компилятор JBuilder допускает выбор целевой версии JDK и помогает избавиться от вызовов устаревших методов API, выдавая соответствующие предупреждения об ошибках. Однако, в отличие от VAJ или Visual Cafe/, он производит компиляцию только в байт-код Java, но не в исполняемые файлы ОС.

В среду интегрирован достаточно мощный многопоточный отладчик. Правда, у него есть один существенный недостаток: он не позволяет редактировать код в процессе отладки, т. е. избегать полной перекомпиляции и перезапуска разрабатываемой программы.

JBuilder предлагает специальный мастер для развертывания аплетов и приложений, способный экспортировать файлы в форматах Jar и Zip. По желанию пользователя в них можно включить дополнительные классы, например классы Java Borland Component Library. Этот мастер, однако, отличается раздражающей особенностью - он не запоминает последние введенные параметры (в том числе каталоги) и использовать его многократно неудобно.

Корпоративные возможности. JBuilder предлагает обширный набор инструментов для работы с БД, но все они не лишены досадных недостатков. В итоге работать с БД в JBuilder сложнее, чем в Visual Cafe’, где все операции связывания данных и их графического представления можно осуществить парой щелчков мыши.

Например, весьма удобный навигатор по БД SQL Explorer позволяет просматривать таблицы и хранимые процедуры, а также создавать пробные SQL-запросы, показывая их результаты в виде таблицы. Однако из него нельзя сгенерировать Java-код (такое возможно в Symantec Cafe’), что ограничивает его ценность.

Набор программных элементов доступа к БД мощный, но, требует некоторых усилий на изучение. Borland попыталась упростить (хотя и недостаточно) использование этого набора, введя средства помощи на этапах формирования SQL-запроса: JBuilder сообщает имена возможных JDBC-источников, таблиц, колонок, позволяет протестировать соединение с БД и сам запрос, выбрать в настройках уровень изоляции транзакции и т. п.

JBuilder позволяет инкапсулировать всю логику работы с БД в одном модуле (DataModule) и подключать его к другим компонентам разрабатываемого приложения с помощью специального мастера. Для начинающих окажется полезным и мастер DBBean, который генерирует стандартный (не очень “развитый”) элемент ГИП для просмотра таблиц БД.

Создание распределенных приложений упрощается за счет преобразователя Java-классов в интерфейсы и stub- и helper-классы Interface Definition Language (IDL), Remote Method Invocation (RMI) и Internet Inter-ORB Protocol (это же ПО способно автоматически производить заголовочные файлы Java Native Interface) и мастера для создания заготовок EJB- и CORBA-компонентов.

Управление кодом и групповая разработка осуществляется с помощью средства PVCS фирмы Intersolv. Правда, его интеграция со средой разработки оставляет желать лучшего.

Дополнения. В комплект поставки JBuilder входит также много других продуктов, например межплатформное ПО Borland DataGateway, облегчающее доступ к разнородным источникам данных, СУБД InterBase и посредник запросов CORBA VisiBroker. Хотя отсутствуют “родные” средства доступа к системам документооборота, мэйнфреймам и унаследованным системам.

Перспективы. Компания Inprise рассматривает JBuider в качестве ключевого продукта, однако ее собственное положение стало более устойчивым, и хотя ее оборот в 1998 г. был несколько ниже, чем в 1997 г., она закончила 1998 г. с прибылью в 8,3 млн. долл. - вместо потерь в 48,4 млн. долл. в 1997 г. В настоящее время фирма активно реструктурируется и расширяет спектр продукции и услуг, стремясь дополнительно повысить эффективность своей работы. корпорация Oracle выбрала JBuilder как основу для создания JDeveloper - своего ПО разработки на Java.

Symatec Visual Cafe’ Database Edition 3.0

Среда разработки Visual Cafe’ обладает удобным, продуманным, симпатичным и функционально полным интерфейсом. Она работает быстрее, чем среды других инструментов, и наиболее интуитивно понятна: на ее освоение уходят считанные минуты.

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

Разработка приложения для работы с БД в Symantec Visual Cafe’ 3.0

IDE имеет легко модифицируемую палитру компонентов и через навигатор Component Library обеспечивает простой доступ к другим библиотечным объектам, не вынесенным в нее. Набор элементов ГИП - один из самых обширных. В нем, например, есть элементы для построения диаграмм, перемещения записей между списками, календарь, окно анимации, слайд-шоу, “бегущая строка”, аудиоплейер.

Отличает Symantec Cafe’ большое число мастеров, автоматизирующих типовые операции.

Так, мастера генерируют JavaBeans-компоненты, прототипы для AWT- и JFC-аплетов или приложений, консольных или оконных Win32-приложений. В специальный навигатор по классам встроен мастер для их редактирования - изменения типа конкретного класса, добавления и изъятия интерфейсов, методов и пр.

Задача связывания объектов решена тоже элегантно: мастер Interaction Wizard позволяет легко устанавливать событийные связи, сводя к минимуму ручное кодирование. Эти соединения отображаются стрелками в визуальном редакторе, их можно выделять мышью и редактировать в специальном окне, а также с помощью команды Bind Even мгновенно добраться до той точки исходного кода, где обрабатывается связанное событие.

Крайне необходим мастер, позволяющий находить строки и перемещать их в ресурсы для локализации (аналог того, что имеется в JBuilder). Есть и мастер для другой серьезной задачи - миграции событийной модели от JDK 1.0 к JDK 1.1.

К сожалению, синхронизацию кода между визуальным и текстовым представлениями в Cafe’ легко разрушить, совершив ряд “неправильных” операций; вывести же проект из “сломанного” состояния непросто. Хотелось бы, чтобы в среде разработки был мастер для генерации RNI-заголовков.

Компиляция, отладка и развертывание. Visual Cafe’ позволяет осуществлять компиляцию в байт-код Java или “родной” код Win32. Можно устанавливать номер используемой версии JDK.

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

Развертывание приложений также автоматизировано - оно осуществляется одной командой. В настройках проекта указывается, куда и в каком формате нужно положить созданное ПО. Пересылать файлы можно и на удаленные системы, в том числе те, что доступны только по протоколу FTP.

Мастера Symantec Visual Cafe’ позволяют быстро решать типовые задачи

Корпоративные возможности. В Visual Cafe’ работа с БД до предела упрощена. Продукт оснащен удобным навигатором (dbNavigator), который позволяет просматривать иерархии данных из разных источников. Навигатор тесно связан с дизайнером форм: чтобы создать работоспособное приложение для взаимодействия с БД, достаточно перетащить в него мышью из dbNavigator одно или несколько полей таблицы или всю ее целиком, а Visual Cafe’ сделает все остальное - создаст даже надписи к полям ввода данных. Важной особенностью dbNavigator является то, что он допускает использование любого драйвера JDBC - у многих аналогичных продуктов с этим возникают сложности.

Имеются в Cafe’ отдельные мастера генерации форм для работы с записями и таблицами БД, хранимыми процедурами; редактор SQL-запросов, позволяющий составить запрос из стандартных команд, выбираемых из нескольких списков; мастера, упрощающие встраивание в приложение функций обработки данных и связывания с БД существующего элемента графического интерфейса.

К недостаткам Cafe’ можно отнести то, что многие JavaBeans-компоненты для работы с БД недостаточно полно управляются через редактор свойств. Например, в настройках объекта ConnectionManager нельзя установить уровень изоляции транзакций. Число строк, читаемых из БД за один раз, также не устанавливается. В этом отношении Cafe’ уступает пакету фирмы Inprise.

Однако в Visual Cafe’ имеется удобный мастер, позволяющий генерировать заготовки классов сервлетов для работы не только с HTTP, но и с любым другим запросным протоколом, например FTP. Можно также расширять существующие классы, реализовав с помощью этого мастера базовый интерфейс Servlet.

С точки зрения поддержки распределенных вычислений Visual Cafe’ уступал до недавнего времени всем другим пакетам. Однако в марте была выпущена его новая версия - Enterprise Suite (цена $2800). В ней обеспечена поддержка технологий Enterprise JavaBeans, CORBA и RMI. Имеются новые мастера для создания распределенных приложений, средства для отображения структуры таких приложений в виде, удобном для восприятия, расширены возможности удаленной отладки. Enterprise Suite позволяет разработчикам, не переписывая кода, создавать EJB-компоненты, работающие с разными посредниками запросов (ORB). Сейчас поддерживаются ORB Orbix Werb 3.1 фирмы Iona Technologies и Visi Broker 3.3 фирмы Inprise. Из серверов приложений поддерживаются продукты компаний Weblogic, Persistence, Netscape, Sun (NetDynamics), Novera и пр. Однако на момент написания обзора эта версия Cafe’ еще не была доступна в продаже.

В Cafe’ нет стандартных средств поддержки мэйнфреймов, систем документооборота и ERP, но для этого можно использовать продукты третьих фирм.

Управление кодом и групповая разработка. Visual Cafe’ поддерживает сторонние средства контроля версий, например Microsoft SourceSafe.

Дополнения. В состав Visual Cafe’ входят межплатформное ПО dbAnyware, СУБД Oracle Lite и удобное средство создания Web-сайтов Visual Page. Кроме того, продукту обеспечена широкая поддержка сторонних производителей - в комплект входят демонстрационные и пробные версии их разработок.

Перспективы. Компания Symantec, чье положение сейчас устойчиво, рассматривает Visual Cafe’ в качестве ключевого продукта.

Microsoft Visual J++ 6.0 Enterprise Edition

Этот продукт стоит особняком среди других инструментов разработки на Java. С его помощью Microsoft постаралась максимально сузить смысл понятия Java - здесь это уже не технология, а просто язык программирования. В Visual J++ разработчик замыкается на платформу Win32 и связанные с ней решения типа компонентной модели COM. Стандартным же наработкам Java и другим межплатформным технологиям уделено весьма скромное место.

В частности, Visual J++ опирается не на стандартные для Java наборы компонентов AWT и Swing, а на собственную разработку Microsoft - Windows Foundation Classes (WFC), которые посредством технологии J/Direct напрямую обращаются к Win32 API. Это обеспечивает большую функциональность J++-приложений, но и ограничивает сферу их применения.

При корпоративных разработках J++ дает весьма ощутимые преимущества, но только при условии, что он используется совместно с другими продуктами корпорации - SQL Server, Internet Information Server и т. п. Возможности продукта существенно расширяются при его приобретении в комплекте Visual Studio 6.0.

Среда разработки Visual J++ производит крайне приятное впечатление. Она обладает рядом достоинств, которые несомненно оценит большинство пользователей, - функциональной полнотой, удобством интерфейса, высокой стабильностью и быстродействием.

Большая часть этапов построения ГИП и связывания объектов в J++ автоматизирована за счет дизайнеров форм, мастеров и редакторов свойств. Уже при запуске выводится мастер, позволяющий быстро создать заготовку проекта: Win32-приложения, COM-объекта, DLL, системы работы с данными и т. п. Затем с помощью визуального редактора форм J++ можно быстро “набросать” прототип приложения, используя для этого богатую палитру Toolbox и дизайнер форм.

Разработка формы в Microsoft Visual J++

Мне понравилось, как легко можно связывать компоненты в Visual J++ - в основном это достигается за счет продуманной базовой библиотеки. Например, для каждого компонента можно задавать форму, в которую превращается курсор при прохождении над ним, или подсказку (ToolTip), которая выводится в этом же случае.

Помимо этого, Visual J++ обладает мощными навигаторами по деревьям J++-объектов, классов и связанных с проектами документов. Удобен и редактор исходных текстов, подсказывающий способы завершения ввода имен методов, классов и параметров методов, а также выделяющий ошибки синтаксиса. Интересно, что куски кода из него можно перетащить в ToolBox для многократного использования.

Создатели Visual J++ отказались от отдельного окна для запоминания ошибок синтаксиса и компиляции. Теперь все эти сообщения вместе с замечаниями пользователей помещаются в окно Task List, содержащее список того, что еще нужно доделать в проекте. Этот список может храниться централизованно и использоваться группой разработчиков. Похожий, но неудачно реализованный подход применен в VAJ.

Кроме того, жизнь программиста облегчают несколько мастеров, генерирующих COM-объекты, WFC-классы, J/Direct-интерфейсы и т. п. К недостаткам среды разработки относится отсутствие мастера локализации, поэтому о локализации строк нужно думать сразу при их создании.

Компиляция, отладка и развертывание. Компилятор J++ ориентирован на платформу Win32, и в этом его основной недостаток.

Продукт оснащен многопоточным отладчиком, позволяющим (помимо всего прочего) отлаживать HTML-страницы, сценарии, хранимые процедуры SQL Server, объекты Microsoft Transaction Server, Си-код, но не допускающим изменение кода в процессе его исполнения.

Специальные мастера и редакторы свойств проекта делают задачу развертывания готового ПО элементарной. Можно развертывать все решение целиком или каждый проект в отдельности на локальную или удаленную систему.

Корпоративные возможности. Взаимодействие с базами данных в J++ строится на основе трех основных технологий Microsoft - ODBC, OLE DB и ActiveX Data Objects. Две последние обеспечивают универсальный доступ к источникам данных (в том числе и нереляционных) на основе модели COM.

В J++ все средства доступа инкапсулированы в нескольких визуально редактируемых компонентах, связываемых через редактор свойств со стандартными элементами ГИП.

Для организации полноценной формы можно воспользоваться и специальным мастером, который сгенерирует необходимые меню, редакторы таблиц и записей. Если установить J++ совместно с Visual Studio 6.0, то появится возможность организовать и так называемый Database Project. В его рамках, помимо запросов к БД, можно редактировать и саму структуру БД, хранимой под управлением СУБД SQL Server или Oracle 8, создавая и связывая таблицы и виды, разрабатывая хранимые процедуры и пр. Но при работе другими БД могут возникать сложности: в моих тестах J++ не смогла дотянуться до ряда таблиц DB2.

Среди других корпоративных возможностей следует отметить средства генерации объектов Microsoft Transaction Server и их развертывания на сервере, поддержку создания приложений с HTML- и DHTML-выводом.

В составе среды разработки имеется набор классов (без мастеров), обеспечивающий доступ к LDAP-каталогам, а также мастер J/Direct, позволяющий обратиться к любой функции Windows. Для интеграции со сторонними приложениями (например, системами документооборота) можно воспользоваться технологией COM, а для доступа к унаследованным источниками (типа CICS) - модулями сторонних производителей и OLE DB/ADO.

При использовании J++ совместно с Visual Studio появляются и другие возможности, например средства моделирования проектов на базе UML, обеспечиваемые пакетом Visual Modeler.

Управление кодом и групповая разработка. Мощные средства управления версиями на базе Visual Source Safe, обеспечивающие групповой доступ и блокировку кода, глубоко интегрированы в IDE - их можно вызывать из меню параметров файла, проекта, класса и пр.

Перспективы. Пакет Visual J++ важен для Microsoft. По заявлениям представителей корпорации, это самое популярное средство разработки на Java. Даже если эта оценка завышена (J++ распространяется, как правило, в составе комплекта Visual Studio, содержащего инструменты разработки на других языках программирования), такая распространенность продукта накладывает на фирму определенные моральные обязательства перед пользователями.

Тяжба между Sun Microsystems и Microsoft, конечно, вносит неопределенность в судьбу продукта. В конце 1998 г. суд решил, что Microsoft должна переделать J++, чтобы обеспечить совместимость со стандартами Java. Сейчас идет апелляционный процесс. В феврале Microsoft выпустила обновление J++, которое изменяет пакет так, что пользователь может создавать чисто Java-программы. Между тем разрабатывать ПО на базе WFC по-прежнему возможно. В последнее время муссируются слухи, что Microsoft намерена выйти на рынок с альтернативой Java под названием COOL. Однако Microsoft отрицает, что в ближайшем будущем прекратит развитие J++.

Visual Age for Java 2.0

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

В отличие от других систем, в которых работа над проектами ведется на уровне редактирования отдельных файлов, а браузеры классов являются приятным дополнением, VAJ позволяет работать только с иерархиями классов. Она хранит всю связанную с проектами информацию в собственной объектной базе данных, а не в файловой системе. Пользователю предлагается несколько навигаторов-редакторов этих иерархий, обеспечивающих работу с проектами, пакетами и отдельными классами. VAJ поддерживает стороннюю разработку, позволяя “затягивать” Java-код из внешних проектов.

Визуальный редактор не просто позволяет изменять свойства объектов, но и графически связывать их между собой, отображая взаимозависимости стрелками. Такое представление связей помогает пользователям быстрее разобраться в чужих проектах, да и в своих собственных. Однако визуальный подход требует определенной культуры программирования. Большинство новичков шокирует и другое свойство системы разработки: в ней отсутствует команда “скомпилировать” - VAJ производит компиляцию инкрементально, при записи измененного класса или метода.

Графическое проектирование в IBM Visual Age for Java

VAJ обладает множеством мастеров, облегчающих жизнь программиста. С их помощью можно создать заготовки классов, аплетов, интерфейсов, добавить новые методы и т. д. Другие мастера позволяют решать более сложные задачи, например создавать посредников для доступа в систему SAP R/3, выгружать текстовые строки в отдельный файл для локализации, генерировать Javadoc-описания, создавать JavaBeans-обертки для файлов-заголовков Си++.

Среда VAJ настраиваема и расширяема. После установки пользователю доступны лишь основные возможности. Другие, более специализированные функции IDE и библиотеки классов спрятаны в объектном репозитории, откуда их можно извлечь, воспользовавшись мастерами QuickStart (допускается и создание своих собственных расширений). Это позволяет сделать среду более гибкой и избежать перегрузки интерфейса ненужными пользователю опциями.

Однако VAJ обладает рядом недостатков. Так, среда разработки функционирует весьма неспешно, а средства для работы с ошибками в VAJ неудобны: все ошибки показываются в окне Workbench, в то время как основная работа происходит в других окнах. Кроме того, нет функции подсказки завершения ввода в редакторе исходного кода.

Замечу, что при испытаниях возникали и мелкие проблемы с импортом чужого кода в среду. Например, не всегда правильно восстанавливается графическое представление объектов. Во время тестирования аплет, написанный в Jbuilder, не запускался - Visual Age for Java, как выяснилось позже, переопределил функцию init(), которую JBuilder также использовал.

Компиляция, отладка и развертывание. VAJ не позволяет переключаться между версиями JDK - используется один из самых последних (сейчас - 1.1.7) вариантов Java. Компилятор пакета предъявляет более жесткие требования к “чистоте” языка и стилю программирования, чем другие инструменты. Например, код, прекрасно транслировавшийся в Jbuilder, вызвал вполне справедливые нарекания при трансляции в пакете IBM. Также в комплект поставки входит компилятор в машинный код для многих платформ, но он пока не интегрирован со средой разработки.

В VAJ имеется многопоточный отладчик, показывающий запущенные нити и классы, код которых исполняется. Он, так же как и отладчик Symantec Cafe’, позволяет модифицировать программу, не прерывая ее исполнения, но неудобен в использовании. К сильным его сторонам относится возможность отладки ПО на удаленных рабочих станциях, машинах AS/400 и OS/390.

Корпоративные возможности. Visual Age for Java предоставляет два способа для работы с базами данных. Во-первых, можно использовать визуальный компонент Select и доступные из его редактора свойства мастера связи и составления SQL-запросов. Во-вторых, применять мастер Database Access Builder для просмотра структуры БД и генерации JavaBeans-классов доступа к таблицам и хранимым процедурам.

Разработка моделей данных в IBM Visual Age for Java

Ряд свойств VAJ дает ее пакету существенные преимущества в соревновании пакетов для корпоративной разработки. Например, он располагает классами и мастерами, облегчающими программирование для AS/400, генерацию Java-оберток для записей на Коболе, доступ к CICS, доступ в систему Tivoli, создание приложений для Domino и др. Так, Access Builder for SAP R/3 позволяет просматривать списки бизнес-объектов R/3 и генерировать код для вызова их из Java посредством обращений к библиотекам Business API. Также имеются богатые (по сравнению с другими продуктами) средства для визуального создания Servlet-компонентов.

VAJ обеспечивает поддержку RMI (с помощью мастера для генерации proxy-классов RMI для произвольного класса), а для работы с IDL имеется специальное дополнение к среде разработки.

Усиливает продукт и редактор моделей с поддержкой UML, позволяющий определять структуру БД, иерархию классов модели, взаимно отображать их и генерировать структуру БД на основе модели классов или наоборот. ПО также автоматически создает на основе моделей Java-код для работы с persistent-объектами Enterprise JavaBeans и описания БД на Data Definition Language.

Управление кодом и групповая разработка. Visual Age for Age буквально насквозь “пронизан” возможностями обращения к мощным собственным средствам управления версиями и поддержки совместной разработки, построенным на основе объектного репозитория с разделяемым доступом. По этому показателю VAJ опережает все остальные продукты, исключая, быть может, только J++.

Кроме того, допускается использование внешних систем управления кодом: ClearCase 3.2 корпорации Rational Software и PVCS Version Manager 6.0 фирмы Intersolv.

Перспективы. Visual Age for Java - один из ключевых программных продуктов IBM. Корпорация вложила в него немало средств и намерена развивать дальше, добавляя новые возможности. В ближайшем будущем пакет скорее всего будет интегрирован с другими инструментами семейства Visual Age, что дополнительно увеличит его ценность. Стабильность самой компании не вызывает сомнений.

PowerJ 3.0 Enterprise Edition Beta

Среда разработки PowerJ функционально полна, интуитивно понятна и быстра, однако местами недостаточно удобна. Ее отличает существенное ограничение доступа к исходному коду. Пользователь не может редактировать произвольный участок своей программы: ему доступны лишь строки, код которых он ввел сам, - они отмечаются маркерами определенных цветов. Текст, сгенерированный визуальным редактором, изменять нельзя (это возможно во всех остальных инструментах); в нем также нельзя размещать точки останова отладчика. Это объясняется тем, что программы на PowerJ лишь частично пишутся на Java, в основном же они создаются на внутреннем языке сценариев PowerJ.

Несмотря на то, что в PowerJ код хранится во внутреннем представлении, его можно легко экспортировать из среды и импортировать обратно. Можно также добавлять к палитре инструментов внешние библиотеки классов.

Редактор исходных текстов не так удобен, как в Visual Cafe’ или Visual J++. Например, он не обладает функцией автоматического завершения ввода методов. В PowerJ есть команда помощи Reference Card, открывающая доступ к полезному справочнику по стандартным классам и к мастеру создания конструкций вызовов методов. Однако пользоваться этим мастером неудобно.

Впрочем, богатство стандартной палитры компонентов и простота, с которой эти компоненты можно связывать друг с другом, сводят к минимуму потребность в самом редакторе текста. В библиотеке PowerJ есть все компоненты, необходимые для построения ГИП произвольной сложности, а также для быстрого доступа к БД.

Работа с компонентами доступа к БД в PowerJ 3.0

Удивительно, но в пакете практически нет отдельных мастеров - большинство задач здесь решается с помощью настройки свойств объектов: редакторы свойств встроенных компонентов PowerJ обладают могучими возможностями. Например, в одном из них можно в удобнейшей форме просмотреть список таблиц БД и их колонок и сформировать из них SQL-запрос.

Легко организовать и нестандартные соединения объектов на основе событийной модели - непосредственно из редактора форм можно связать событие с определенной функцией любого класса.

Большая часть работы в PowerJ ведется через мощные навигаторы классов, объектов и файлов. В них можно создать новые объекты, классы, методы классов, предложения import и т. п. Однако с навигаторами связано и самое большое неудобство пакета - они не регистрируются в списке окон и уже при пяти-шести открытых окнах начинаешь испытывать трудности с их поиском на экране.

К недостаткам следует отнести и отсутствие мастера локализации. У PowerJ нет проблем с отображением строк на любом языке, но, как и в Visual J++, локализацию многоязычного приложения нужно продумывать заранее.

Компиляция, отладка и развертывание. PowerJ допускает выбор целевой платформы JDK, а также дает возможность создавать приложения для других платформ, например для Java-машин Microsoft.

Отладчик PowerJ недостаточно удобен. Он также не позволяет редактировать код во время отладки (без перекомпиляции). Тем не менее он располагает удобными средствами для просмотра переменных и отладки компонентов на сервере приложений Jaguar CTS фирмы Sybase.

Развертывание приложений не представляет сложности: PowerJ предлагает множество способов упаковки ПО и его размещения.

Корпоративные возможности. Как уже отмечалось, создать приложение для работы с БД легко. В палитре представлены два основных компонента для доступа к БД - Transaction и Query. Используя настройки Transaction, можно подключиться к базе данных, задать настройки этого соединения и протестировать его. Панель настроек Query позволяет просмотреть БД и в полуавтоматическом режиме создать SQL-предложение. Помимо этого, все стандартные компоненты ГИП имеют свойство DataBound, с помощью которого они подключаются к классам связи с БД.

Кроме того, можно воспользоваться мощным мастером подключения к БД и специальным окном DataWindow, где основа создается с помощью одноименного продукта, также входящего в пакет.

Но следует иметь в виду, что PowerJ больше ориентирован на собственную БД Sybase. Работать с другими СУБД в нем можно, но не столь удобно, как, скажем, в Visual Cafe’.

С помощью PowerJ легко создавать и отлаживать распределенные приложения, хранящие компоненты на сервере Jaguar CTS. Однако более общей поддержки CORBA в среде нет, есть только интегрированный редактор IDL-интерфейсов, поэтому соответствующий компилятор приходится докупать у сторонних разработчиков. Средства, упрощающие работу с RMI, в PowerJ также не встроены.

Дополнения. PowerJ 3.0 частично интегрирован с другими инструментами комплекта Sybase Enterprise Access Studio - Application Modeler, PowerSite и PowerBuilder. В этот набор входят также средства для работы с CICS.

Управление кодом и групповая разработка. PowerJ допускает использование собственных средств или сторонних продуктов: PVCS 5.1.1, RCS, Source Integrity.

Перспективы. PowerJ имеет важное значение для Sybase. Последние годы эта компания испытывала сложности с позиционированием и сокращала численность персонала, пытаясь добиться прибыльности. Однако сейчас ее положение существенно улучшилось. похоже, что в ближайшем будущем PowerJ ничего плохого не грозит.

Выбор

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

Итак, если вам необходим удобный инструмент для быстрой разработки многоплатформных чисто Java-приложений, работающих с БД, то лучше отдать предпочтение Symantec Cafe’. Он подойдет для решения абсолютного большинства корпоративных задач. JBuilder обладает почти теми же возможностями, что и Visual Cafe’ Datalase Edition, но его интерфейс менее удачен. В то же время JBuilder C/S, по всей видимости, будет уступать по возможностям Visual Cafe’ Enterprise Suite.

Visual J++ - несомненно мощнейший продукт, но его следует применять исключительно при разработке для Windows, особенно, если задействованы СУБД SQL Server и Microsoft Transaction Server.

PowerJ удобен для работы с БД, но тяготеет к СУБД и другим частным технологиям Sybase, таким, как сервер приложений Jaguar. Его следует использовать в случае, если вы сделали ставку на продукты этой компании.

Visual Age for Java лидирует по многим критериям: он подходит для наиболее “тяжелых” проектов, в которых приходится использовать все современные Java-технологии. Однако следует учитывать, что Enterprise-версия VAJ довольно дорогая, а для нормальной работы этому пакету нужны большие вычислительные ресурсы. VAJ полезен, если необходимо вести разработку для платформ IBM (Lotus Domino, AS/400, OS/390 или Tivoli) или SAP R/3.

Характеристики инструментов разработки на Java

Версия для печати