Несомненно, что в следующие месяцы, когда туман немного рассеется и ситуация с Web-службами и разработкой Web-приложений прояснится, WebSphere Studio Application Developer компании IBM (http://www.ibm.com) по достоинству окажется одним из лидеров. Application Developer — очень амбициозный продукт, объединяющий четыре основные среды разработки (модели Web, Web-службы, EJB и XML) и использующий полный набор инструментальных средств Java и J2EE. Тут же имеются средства поддержки работы с реляционными базами данных, тестирования и публикации, а также инструменты анализа исходного текста и замечательная система отладки.

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

Разработчики, знакомые с пакетами Visual Age for Java и WebSphere Studio Workbench, воспримут Application Developer как продукт следующего поколения, объединяющий возможности корпоративных версий этих пакетов. Новое решение также знаменует собой конец несогласованности, наблюдавшейся в семействе корпоративных продуктов IBM. Application Developer сохраняет лучшие черты своих «родителей», но превосходит их всех вместе взятых.

Сведения о программном продукте

WebSphere Studio Application Developer 4.0

Производитель: IBM, http://www.ibm.com

Минимальные требования к ПО: Microsoft Windows 2000, 98 или Me.

Цена: загруженная с сайта копия ПО — 3132 долл., коробочный вариант — 3499 долл. на каждого разработчика.

Роли и коллективная разработка

У Application Developer много ярких достоинств, но, вероятно, наиболее значимыми для предприятия представляются средства коллективной работы — не встроенные кое-как в уже готовый продукт (такое часто встречается в конкурирующих продуктах), а являющиеся органической, неотъемлемой частью архитектуры среды разработки.

За основу пользовательского интерфейса IBM взяла среду WebSphere Studio Workbench, которая состоит из видов (views), представляющих собой окна с информацией о ресурсах, и редакторов, позволяющих создавать и модифицировать исходный текст. Эти два вида элементов можно объединять в представления (perspective) для индивидуализированного отображения ресурсов проекта и инструментальных средств для разработчиков, выполняющих различные роли или задачи. Например, разработчику компонентов J2EE Beans чаще всего придется работать в J2EE-представлении, а Web-разработчику, имеющему дело с HTML и JSP, — в Web-представлении. В конкурирующих программных пакетах можно создать что-то похожее на представления, но там это чаще всего делается медленнее и сложнее. Настраиваемый, основанный на ролях подход к разработке в сочетании со средством управления версиями и хранилищем исходных текстов (в частности Rational ClearCase LT и Concurrent Versioning System с адаптером CVS) обеспечивает гибкую и эффективную сквозную среду поддержки групповой разработки ПО.

Основы Java

Application Developer по большей части базируется на JDK 1.3 (хотя есть и функции, ориентированные на JDK 1.4, например, инкрементальная компиляция), позволяя создавать, тестировать и развертывать компоненты Java Beans, Enterprise Java Beans (EJB), сервлеты и JSP-страницы (Java Server Pages). Важно заметить, что в смешанной (очень хочется сказать — запутанной) корпоративной среде Application Developer поддерживает переключение версий JDK в процессе исполнения.

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

В продукте есть и немало замечательных приспособлений, облегчающих работу над исходным текстом. Особенно интересен "черновик" (scrapbook), в котором можно редактировать фрагменты кода и немедленно проверять их работоспособность — результаты отображаются в окне отладчика. Другая функция, которая в Application Developer называется refactoring, позволяет, к примеру, при изменении имени метода автоматически находить, отображать и подтверждать обновление всех соответствующих ссылок в иерархии классов.

Максимум J2EE

IBM приходится считаться с мощной конкуренцией на рынке EJB. Продукты Borland JBuilder и Sun Forte обладают очень богатой функциональностью и отличаются высоким качеством реализации моделей EJB 1.1 и J2EE. Сильная сторона пакета Application Developer — поддержка связи между EJB и реляционными базами данных. В частности, средство Query Engine позволяет создавать постоянные классы на основании SQL-строк. Механизм развертывания компонентов Bean полностью поддерживает спецификации Web Application Archive (WAR) и Enterprise Archive (EAR). Есть также клиентское средство тестирования EJB и среда тестирования J2EE.

Java для Web-дизайнеров

Вряд ли все Web-дизайнеры сочтут Web-представление Application Developer HTML-инструментом «всех времен и народов». Тем не менее это на удивление полная, ориентированная на Java среда Web-разработки, обеспечивающая бесшовную интеграцию структур J2EE-контейнеров с созданием JSP- и HTML-файлов благодаря богатому набору мультимедийных средств, XML-инструментов, а также механизму управления шаблонами и стилями.

Средства поддержки баз данных

Любая система разработки приложений неполна без поддержки баз данных (хотя зачастую эта поддержка бывает далека от совершенства). В Application Developer имеется средство Relational Schema Center (RSC), которое ориентировано на стандартную архитектуру и методы администрирования реляционных баз данных и обеспечивает выполнение таких задач, как импорт и сопоставление схем. Хорошо продумано и подключение к базам данных из EJB (особенно при использовании сервера приложений IBM WebSphere Application Server). Хотя IBM и отдает предпочтение собственной базе данных DB2, Application Developer также поддерживает Oracle, Sybase, MySQL, Informix и Microsoft SQL Server.

Из других средств для работы с данными отметим качественно разработанную и полнофункциональную визуальную среду XML-разработки, которая включает компоненты для создания DTD-определений, XML-схем, файлов XML (с проверкой корректности) и XSL. Возможность создавать XML на базе SQL-инструкций и компонента DB2 XML Extender (последний позволяет использовать сценарии определения доступа к документам для загрузки или выгрузки XML-документов в DB2) свидетельствует о том, что IBM уделила серьезное внимание работе с данными в этой среде. Повторим, что, хотя в большинстве других сред разработки присутствуют аналогичные возможности работы с XML, лишь в немногих из них эти функции организованы столь логично и продуманно.

На промежуточном слое

Как и в большинстве других сред разработки Web-приложений, в Application Developer предполагается практически обязательное присутствие сервера приложений. Естественно, что IBM ориентируется прежде всего на свой WebSphere Application Server. Можно использовать и другие серверы, но это будет сопряжено с некоторыми неудобствами — к примеру, вы не сможете использовать среду тестирования WebSphere в приложениях EJB и Web. Конкуренция на рынке серверов приложений очень сильна, но в настоящее время позиции IBM WebSphere Application Server в этом секторе достаточно сильны, и не воспользоваться его преимуществами, работая с Application Developer, было бы странно.

Отладка и анализ исходного текста

Среда отладки Application Developer продолжает оставаться одной из лучших. С добавлением функции динамической отладки и «горячей» компоновки с JDK 1.4 это преимущество становится еще более явным. Функциональность отладочной среды охватывает всю классическую гамму — от немедленного оповещения об ошибках компиляции до сложной удаленной отладки при тестировании EJB- и Web-приложений. Но главный козырь Application Developer — возможности интеграции. Пакет включает среду для тестирования отдельных модулей: JSP-файлов, сервлетов и HTML-файлов — и мощный инструмент для всесторонней отладки серверных компонентов. и все это подключено к общей среде отладки.

Прошли годы, прежде чем средства отладки для Java смогли сравняться по качеству с аналогичными средствами для C++. Теперь мы наконец получили профессиональные инструменты для контроля и анализа исходных текстов Java. В наборе подключаемых модулей Application Developer есть анализатор производительности, позволяющий, в числе прочего, обнаруживать узкие места в исходном тексте и разрешать такие неприятные проблемы, как утечка памяти. Мне пришлось почитать кое-какую литературу и приложить немалые усилия, чтобы освоить и настроить этот инструмент, но усилия окупились: с помощью отладчика можно существенно повысить производительность работы программ.

Web-службы

Application Developer помогает быстро понять, как работают простые Web-службы, а приводимые примеры весьма наглядны. Мастера создания документов на языке описания Web-служб и кода SOAP (Simple Object Access Protocol) позволяют справиться с более сложными моментами создания Web-служб. На этапе тестирования Web-служб создается удобный тестовый реестр, в котором нужно предварительно зарегистрировать службу. Он используется для работы с Web-службами и UDDI-метаданными (Universal Description, Discovery and Integration).

Далеко не всегда Web-службы бывают столь простыми (одна или две функции и простая односторонняя обработка данных), что для их создания оказывается достаточно пары-тройки мастеров (да и всего Application Developer). В сложных случаях вам, вероятно, стоит воспользоваться недавно выпущенным IBM комплектом для разработки Web-служб — Web Services Toolkit.

Все комплекты для разработки корпоративных приложений претендуют на полноту, но IBM особенно хорошо справилась с задачей интеграции высококлассных функций для поддержки всего цикла разработки ПО. Модули ее пакета, начиная с Rational ClearCase LT для конструирования баз данных и кончая интегрированной средой отладки и уникальным инструментом анализа исходного текста, действительно покрывают все мыслимые потребности разработчика. IBM WebSphere Studio Application Developer 4.0 можно назвать эталоном систем разработки ПО на Java, и, по всей вероятности, он станет флагманом мира Java в его противостоянии с инициативой .NET корпорации Microsoft.

Нелсон Кинг (Nelson King) — автор девяти книг по программированию приложений баз данных. Большую часть своего времени посвящает практической разработке корпоративного ПО. С ним можно связаться по e-mail: nelsonking@earthlink.net.

Статьи по теме в Intelligent Enterprise

  • Стюарт Макки. «На старт... внимание... конкуренция пошла!» IE № 7, 2002.
  • Нелсон Кинг. «Borland Delphi 6 — разработка Web-сервисов». IE № 23, 2001.
  • Нелсон Кинг. «В авангарде». IE № 6, 2002.