Дмитрий Лесин,
технический консультант по продуктам IBM Rational компании Aplana Software (http://www.aplana.ru)

В последние два года появилось множество новых направлений в развитии средств поддержки проектов создания информационных систем. Одно из таких направлений - средства разработки XDE (eXtended Development Environment) от департамента Rational компании IBM (http://www.rational.com).

Изначально средства разработки IBM Rational XDE были задуманы как расширение возможностей для некоторых популярных сред разработки (Microsoft Visual Studio .NET, IBM WebSphere Application Studio и Eclipse IDE). Полная интеграция в среду позволила разработчикам выполнять процессы моделирования и кодирования в рамках единого рабочего пространства, не переключаясь между разнородными инструментами (как это приходится делать при использовании классического Rational Rose).

Редакция средств разработки IBM Rational XDE для платформы Java включает IBM WebSphere Studio Workbench (среда интегрированной разработки приложений на базе технологий Eclipse). Ее можно "бесшовно" интегрировать в среду IBM WebSphere Studio Application Developer (среда интегрированной разработки IDE, созданная на базе IBM WebSphere Studio Workbench). Если пользователь имеет достаточный опыт работы с IBM WebSphere Studio Workbench, то ему покажется хорошо знакомым интерфейс средств разработки XDE.

Редакция средств разработки IBM Rational XDE для платформы Microsoft .NET также "бесшовно" встраивается в Microsoft Visual Studio .NET и позволяет добавить возможности визуального моделирования в рамках указанной среды разработки приложений.

Средства разработки XDE

Охарактеризуем коротко основные возможности IBM Rational XDE. Эти средства разработки позволяют создавать информационные системы на платформе .NET и Java-приложения (в том числе на базе различных технологий J2EE). XDE устанавливается либо в виде отдельного приложения (тогда дополнительно нужно установить Eclipse IDE), либо интегрируется в установленный заранее IBM WSAD или Microsoft Visual Studio .NET.

Пакет интегрирован с другими продуктами IBM Rational: версионный контроль проводится с помощью Rational ClearCase; применяются средства тестирования, такие, как Rational Robot, Rational XDE Tester, группа продуктов Rational PurifyPlus; создание документов и отчетов автоматизировано с помощью Rational SoDA, параллельная разработка требований ведется в Rational RequisitePro.

Вообще говоря, средства разработки XDE - это группа из нескольких разных продуктов: XDE Modeler, XDE Modeler for .NET, XDE Developer for Java, XDE Developer for .NET, XDE DeveloperPlus for Java и XDE DeveloperPlus for .NET (их свойства описаны в таблице).

Продукты семейства IBM Rational XDE

Продукт Описание
XDE Modeler Средство визуального моделирования приложений, реализуемых с помощью практически любой из существующих технологий. Даже для уникальной технологии можно доработать язык визуального моделирования UML v1.4, создав необходимое его расширение.
Если ведется разработка Java-приложений в IBM WSAD или Eclipse IDE, XDE Modeler при установке плавно интегрируется в существующий IDE разработчика. В остальных случаях будет установлен Eclipse IDE, поставляемый в составе XDE Modeler
XDE Developer for Java Средство для round-trip-разработки приложений. Сюда входят XDE Modeler for Java и функционал, позволяющий выполнять обратное проектирование и генерацию Java-кода, а также баз данных СУБД основных производителей
XDE DeveloperPlus for Java Средство для round-trip-разработки приложений и их автономного тестирования. Сюда входят XDE Developer for Java, набор Rational PurifyPlus (Purify - для профилирования используемой памяти, Quantify - для определения узких мест в плане производительности кода, PureCoverage - для определения полноты прохождения кода) и Visual Trace (позволяет построить диаграмму последовательности по результатам запуска приложения).
Visual Trace - это новшество, позволяющее в сформированной диаграмме последовательности отобразить список созданных объектов и показать вызывавшиеся функции и методы в виде переходов между этими объектами с указанием времени выполнения данных функций и методов
XDE Modeler for .NET Почти то же самое, что и XDE Modeler for Java, но предназначено для разработки .NET-приложений. Необходима предварительная установка Microsoft Visual Studio .NET. Если данная среда не установлена, то выполнять инсталляцию XDE Modeler for .NET бессмысленно
XDE Developer for .NET XDE Modeler for .NET + функционал для round-trip-разработки приложений на платформе .NET
XDE DeveloperPlus for .NET Как и XDE DeveloperPlus for Java, состоит из XDE Developer for .NET, Rational PurifyPlus и Visual Trace, интегрируемых в Microsoft Visual Studio .NET

На сегодня с помощью инструментальных средств Rational XDE можно вести round-trip-разработку классических Windows-приложений на языке C++ (стандарт ANSI), приложений Microsoft .NET (на языках C#.NET, C++.NET, VB.NET и Java.NET) и систем J2EE на стандартном языке Java от Sun Microsystems. Обеспечивается также round-trip-разработка информационных систем на базе языка моделирования UML v1.4.

Отметим здесь, что официально средства разработки XDE поддерживают UML версии 1.4, и до тех пор, пока Object Management Group не утвердит окончательно UML v2.0, поддержка последнего вряд ли будет включена в продукт. Но ничто не мешает разработчику использовать возможности XDE для необходимой доработки UML, отвечающего любым стандартам, в том числе разработанным внутри конкретной организации.

В XDE имеется возможность создания моделей, нейтральных к технологиям разработки, с их дальнейшей реализацией на базе конкретной технологии. Поддерживаются множественные модели в одном проекте.

В продуктах XDE очень удобно работать с образцами кода (patterns). В XDE реализованы следующие образцы: AbstractFactory, Adapter, Bridge, Builder, ChainOfResponsibility, Command, Composite, Decorator, Facade, FactoryMethod, Flyweight, Interpreter, Iterator, Mediator, Memento, Observer, Prototype, Proxy, Singleton, State, Strategy, TemplateMethod, Visitor (детально познакомиться с ними можно в популярной книге Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. "Приемы объектно-ориентированного проектирования. Паттерны проектирования". СПб.: Питер, 2001).

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

С помощью средств разработки XDE Developer for Java и XDE DeveloperPlus for Java в значительной мере упрощается развертывание J2EE-систем на популярные серверы приложений: IBM Websphere Application Server и BEA WebLogic. Из среды XDE это выполняется автоматически. При этом формируются все необходимые конфигурационные файлы, их не требуется прописывать и отлаживать вручную.

IBM Rational XDE поддерживает СУБД основных производителей - Oracle, Microsoft SQL Server, IBM DB2, Sybase SQL Anywhere.

Rose и XDE

Так почему же все-таки XDE? Почему бы не реализовать все это в Rational Rose?

Как известно, первая версия XDE Developer включала значительную часть функционала Rational Rose. Но в дальнейшем разработка продукта велась в отдельном проектном окружении без использования наработок Rose. Сейчас проект создания средств XDE целиком базируется на отзывах пользователей и их рекомендациях.

Основные концепции моделирования, заложенные в Rational Rose, перенесены на средства разработки XDE, но код при этом пишется заново. Это связано с желанием компании IBM создать реально востребованный продукт, архитектура которого позволит решать более сложные задачи, чем это было возможно с помощью Rational Rose. В первую очередь это связано с необходимостью максимальной интеграции средств моделирования в средства разработки информационных систем. Основная цель такого сближения - разрабатывать более сложные системы как можно проще и быстрее.

Тем не менее Rational Rose и средства разработки XDE не отделены друг от друга. Существующие модели Rose легко импортировать в XDE. В принципе, если в организации есть аналитическое подразделение и несколько подразделений разработчиков, в которых ведутся проекты с применением разнообразных технологических платформ, то можно организовать процесс моделирования с помощью Rational Rose, а round-trip-разработку в проектах - с помощью либо Rose (в случае Ada, Smalltalk, Object Pascal и т. д.), либо XDE (в случае Sun Java, C++, .NET и т. д.). К сожалению, обратного импорта моделей из XDE в Rose не предусмотрено.

В любом случае, если требуется вести проект в среде IBM WSAD или Microsoft Visual Studio .NET, то среди средств IBM Rational нет альтернативы продуктам XDE.

И все же совершенно неправильно говорить, что XDE идет на смену Rational Rose. Существует множество областей, в которых Rational Rose, в свою очередь, нет альтернативы. В первую очередь это касается поддержки некоторых сред разработки (Borland Delphi, Borland JBuilder, Sun ONE Studio/Forte). Кроме того, только в Rose реализован функционал Quality Architect для разработки процедур тестирования создаваемой информационной системы на базе ее модели.

Для тех, кто много работал в Rose и только начинает работать в XDE, кое-что останется знакомым. В первую очередь это основные концепции моделирования и применение языка UML. Но пользовательский интерфейс XDE все же значительно отличается от интерфейса Rational Rose. Для более быстрого ознакомления с XDE можно предложить пройти обучение в IBM Rational. К сожалению, в России пока еще не готовят сертифицированных специалистов по продуктам XDE.

Что касается перспектив развития продуктов, то однозначно можно сказать, что в отношении Rational Rose будет продолжаться поиск ошибок и их исправление, но появление новых значительных доработок маловероятно. Здесь скорее можно ожидать появления расширений от третьих фирм или просто энтузиастов, которые смогут разработать, например, линки или макросы, позволяющие перенести техники round-trip на какую-либо уникальную технологию разработки. Что касается направления XDE, здесь однозначно следует ожидать дальнейшего развития.

Преимущества использования XDE

Итак, какие преимущества получает разработчик от использования средств XDE? Ключевыми преимуществами можно назвать следующие.

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

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

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

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

Эффективная организация командной работы в проекте. Это особенно отчетливо проявляется в крупных проектах, в которых для успешного их выполнения приходится использовать самые разные процессы создания информационных систем: визуальное моделирование, управление требованиями, тестирование, контроль версий и конфигураций, управление запросами на изменения и т. д. Средства разработки XDE упрощают решение подобных проблем. Например, интеграция средств XDE с Rational RequisitePro позволяет просматривать и изменять сформированные требования к разрабатываемой информационной системе; Rational ClearCase обеспечивает версионный контроль; Rational ClearQuest позволяет быстро создать отчет по результатам последнего анализа кода в режиме реального времени и т. д. И все это возможно прямо из среды разработки информационной системы.

Кроме того, следует отметить, что Rational Unified Process, представляющий собой своеобразную базу знаний проекта и методологическое описание отдельных его областей, включает специальные расширения, посвященные разработке Java- и .NET-приложений с помощью средств XDE. Эти расширения можно свободно получить на сайте Rational DeveloperWorks (http://www-106.ibm.com/developerworks/rational/library/4686.html).

Service Release 2

В апреле 2004 г. IBM Rational объявила о выходе следующей волны - Service Release 2 практически для всех самых популярных своих продуктов. Доработки и улучшения в них настолько существенны, что можно говорить о выходе не просто очередной "заплатки", а именно новых продуктов. Особенно это верно для продуктов направления XDE.

Итак, вместе с Service Release 2 в средствах разработки приложений XDE появятся следующие дополнительные возможности:

  • поддержка Eclipse v2.1.2 и WebSphere Studio Application Developer v5.1.1;
  • поддержка round-trip-разработки информационных систем ANSI C++ в среде Eclipse IDE;
  • поддержка Visual C++ .NET;
  • необходимость регистрации продукта с помощью "плавающих лицензий" (floating license);
  • улучшения в интерфейсе Rational XDE Extensibility (дополнительные возможности расширения меню, использования встроенного API и т. д.);
  • множество различных усовершенствований процесса моделирования информационных систем;
  • поддержка стандартных паттернов на C++;
  • возможность развертывания J2EE-приложений на WebLogic v8.1.

Наверное, самое существенное дополнение - это давно ожидаемый выход функционала, поддерживающего round-trip-разработку приложений на C++. Немного затянувшееся бета-тестирование данного продукта в итоге все же привело к закрытию столь существенной "дыры" в средствах разработки XDE-направления. Теперь для C++ приложений не требуется Rational Rose, что особенно важно для систем, разрабатываемых с применением различных технологий.

Существенным изменением представляется и необходимость регистрации продуктов по стандартным сейчас методам: чтобы работать с XDE-продуктами, потребуется получить в IBM соответствующую "плавающую лицензию", установить Rational License Server и зарегистрировать в последнем упомянутую лицензию.

Кроме всего прочего, в Service Release 2 исправлено более 500 различных ошибок, обнаруженных с момента выхода Service Release 1 осенью 2003 г.

Источники дополнительной информации

  1. Официальный сайт IBM Rational, http://www.ibm.com/software/rational.
  2. IBM Rational DeveloperWorks, http://www.ibm.com/developerworks/rational.
  3. IBM Rational XDE Developer v2003.06.12 - Java Platform Edition. Evaluators Guide.
  4. IBM Rational XDE Developer v2003.06.12 -.NET Edition. Evaluators Guide.