Управляемая моделью разработка следующего поколения (IBM Rational)

Источник: IBM

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

В октябре 2004 г компания IBM выпустила основную версию платформы разработки программного обеспечения IBM® Software Development Platform, представляющую собой новое поколение средств моделирования и разработки на основе моделей (MDD). В центре категории проектирования и структуры этой версии находится IBM Rational® Software Architect - комплексное интегрированное средство проектирования и разработки с поддержкой MDD с унифицированным языком моделирования (UML) для создания приложений и сервисов с хорошо структурированной архитектурой.

Rational Software Architect поддерживает разработку традиционных и веб-приложений (статических и динамических) используя современные технологии индустрии  программного обеспечения, включая:

·         Технологии Java 2, Enterprise Edition™ (J2EE) и веб-сервисов

·         Инициативу "Управляемая моделью архитектура" (MDA) и стиль разработки "Архитектура, ориентированная на обслуживание" (SOA), предложенные (OMG) и связанные стандарты

·         Возможности JavaServer™ Faces (JSF), которые допускают быструю разработку приложений

·         Спецификацию авуаров многократного использования (RAS) для поддержки разработки на основе авуаров

Rational Software Architect включает все возможности IBM Rational Application Developer для WebSphere (последняя версия изделия IBM WebSphere® Studio Application Developer) и дополняет их последними достижениями MDD технологии. Результат: интегрированное решение для проектирования и разработки, упакованное в одном изделии.

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

Эволюция инструментальных средств моделирования IBM Rational

Чтобы понять место Rational Software Architect в эволюционном процессе развития программ моделирования, бросим краткий взгляд на историю программ IBM Rational в этой области.

Rational Rose

Программное обеспечение IBM Rational Rose® было и продолжает быть ведущим на рынке инструментов визуального моделирования. Автономный инструмент, он интегрируется ведущими на рынке интегрированными средами разработки на уровне интерфейса прикладного программирования (API), чтобы поддержать разнообразные языки программирования и другие технологии реализации. Однако, несмотря на успех Rational Rose и усовершенствования в практике моделирования на UML, только небольшая доля разработчиков использовала моделирование установленным порядком, и Rational изучала значимые предложения пользователей. Большинство разработчиков не хочет выходить из своей интегрированной среды разработки, чтобы использовать дополнительные инструментальные средства; они хотят, чтобы визуальное моделирование было органично интегрировано в IDE.

Rational XDE

В ответ на пожелания пользователей, в 2002 IBM Rational выпустила программное обеспечение Rational XDE™, предоставляющее расширенную среду разработки для появившихся в то время технологий программирования: Java и Microsoft .NET. Мы характеризовали Rational XDE как следующее поколение Rational Rose; это не была, строго говоря, новая версия Rose (отсюда изменение названия), и не обязательно замена для Rose, так как мы сознательно ограничили Rational XDE поддержкой только выбранного числа технологий программирования и интегрированных сред разработки.

Архитектурное решение Rational XDE как дополнения к популярным интегрированным средам разработки поощряло многих разработчиков использовать моделирование и управляемую моделью разработку. Rational XDE серьезно продвинул состояние MDD: был реализован очень мощный механизм, допускающий разработку на основе шаблонов. это подняло многократное использование уровня проектирования программ к новым высотам. Позже были добавлены специальные настройки, обеспечивающие поддержку инициативы MDA IBM Rational (см. Поддержка управляемой моделью архитектуры ниже).

В октябре 2003, после вхождения в IBM, мы объединили программы Rational Rose и Rational XDE в единое семейство - IBM Rational Rose XDE Developer. Теперь клиенты, желающие приобрести автономный инструмент моделирования или тот, который был бы интегрирован непосредственно в их IDE, могут купить один пакет и установить тот инструмент, в котором они нуждаются.

Беспрецедентные возможности интеграции с Eclipse

Еще до приобретения Rational Software компанией IBM, эти две организации стали партнерами в разработке нового и более мощного подхода к возможностям интеграции MDD в структуру Eclipse и интегрированные среды разработки, базирующиеся на Eclipse. Первым результатом этой работы была визуализация кода и возможность визуального редактирования, добавленная к WebSphere Studio Application Developer в 2003, которые реализовали простые и очень эффективные средства для разработки моделей уровня выполнения для Java.

Эта технология теперь представляет базу для подхода IBM к подготовке рабочего места MDD. Вместо того, чтобы просто интегрироваться с Eclipse, мы строим новые возможности MDD на вершине Eclipse. Это обеспечивает беспрецедентный уровень поддержки разработки на Java и C/C++, а так же новый уровень возможностей интеграции дополнительных инструментальных средств жизненного цикла. С этими новыми инструментальными средствами стал реальностью продукт IBM Software Development Platform, который мы выпустили в октябре 2004 на основе концепций Eclipse. Теперь мы предоставляем законченную и полностью интегрированную платформу для разработки программного обеспечения, оптимизированную для каждой роли в группе разработки. Использование преимуществ этого подхода на полном основании позволяет рассматривать разработку программного обеспечения как основной бизнес-процесс в организации, который обеспечивает конкурентоспособные преимущества и обеспечивает новый доход и рыночные возможности наших клиентов.

Теперь, с Eclipse, мы можем достигнуть более глубокой и широкой интеграция для наших программ моделирования. Мы можем повысить расширяемость пользовательского интерфейса и инструмента на основе ролей; мы можем лучше интегрировать моделирование с другими аспектами жизненного цикла, типа управления требованиями. Rational Software Architect преобразует артефакты, которые Вы раньше определяли при моделировании, разработке и анализе кода, в интегрированный и унифицированный опыт проектирования и разработки. Работая в пределах открытой, а не частной, среды, пользователи всех типов могут более легко настраивать свои комплект инструментальных средств для удовлетворения своих потребностей.

Rational Software Architect: Интеграция проектирования и разработки

Наша новая, базирующаяся на Eclipse программа Rational Software Architect - это законченное решение инструмента проектирования и разработки. Как мы отметили ранее, она включает все возможности программного обеспечения Rational Application Developer для WebSphere (новая версия называется WebSphere Studio Application Developer), которое охватывает возможности визуализации кода и визуального редактирования. Это делает Rational Software Architect заманчивым для клиентов, только начинающих работать с MDD. Программа также включает полные модифицированные возможности программного обеспечения Rational Web Developer для WebSphere (старое название - WebSphere Studio Site Developer).

Полагаясь на возможности Rational Application Developer, Rational Software Architect добавляет полную поддержку MDD, включая моделирование на UML 2-ой версии  (UML 2), генерацию объектного кода, шаблоны и преобразования моделей и новый подход к реализации стиля разработки MDA. Это предложение следующего поколения - не совершенно новое изделие. Представляя естественное развитие и объединение возможностей существующих инструментальных средств IBM Rational, оно предназначено специально для клиентов, стремящихся применить MDD в самом широком смысле термина.

Структурный обзор и управление

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

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

Чтобы обеспечить автоматизированную поддержку для таких исследований, Rational Software Architect вводит возможность, названную "структурный обзор и управление приложением Java" (Java application structural review and control), который встроен в инструмент. Эта возможность поддерживает правила авторства на основе шаблона и дает возможность пользователям увидеть реализованную архитектуру для J2EE и J2SE, используя высокоуровневую технологию визуализации программного обеспечения. Пользователи могут более легко обнаружить архитектурно слабые ячейки, или "антишаблоны", типа циклических зависимостей, концентраторов или хрупких предметов, которые "проползали" в исходный код приложения.

Используя автоматизированные структурные обзоры и управление, визуализацию кода и тестирование уровня разработчика, программные архитекторы могут значительно улучшить качество приложений, которые они проектируют и развертывают. Усовершенствования, которые мы ввели в Rational Software Architect, начнут изменять способ, которым архитекторы и разработчики думают о процессе разработки.

Средства динамической и языковой поддержки

Наши клиенты также сказали нам, какую важную роль могут играть инструментальные средства проектирования и разработки в предоставлении среды динамической поддержки приложения. Rational Software Architect делает существенный шаг в оптимизации средств динамической поддержки для приложений Java на WebSphere Application Server. Он также допускает поддержку мультиплатформенного выполнения на базе виртуальной машины Java и возможность взаимодействия с данными на базе ее поддержки открытым промышленным стандартам. Кроме того, так как Rational Software Architect включает Rational Application Developer, который поддерживает BEA WebLogic Server, развернутые приложения, использующие Rational Software Architect, также неявно мультиплатформенные. Eclipse C/C++ Development Tool (CDT), который представляет собой часть IBM Rational Software Architect также обеспечивает поддержку разработки на C++ и C. Решение, основанное на Eclipse, позволяет нам многократно использовать некоторые возможности в Rational Software Architect, чтобы поддержать MDD и между этими языками и Java.

Создание современной экосистемы моделирования

В нашем недавнем выпуске был вариант Rational Software Architect, сосредоточенный на моделировании, который предназначен для пользователей, которые не нуждаются в генерации или визуализации объектного кода. Rational Software Modeler поддерживает все возможности моделирования на UML 2, имеющиеся в Rational Software Architect, и предлагает возможности расширяемости через Eclipse Modeling Framework (EMF). Открытость и устойчивая расширяемость, которые предоставляет основа Eclipse, делают Rational Software Modeler хорошо подходящим для поддержки "экосистемы" моделирования для клиентов и сторонних разработчиков расширений, подобно экосистеме, которая внесла вклад в успех Rational Rose.

Rational Software Architect и Rational Software Modeler - это всего лишь два примера, которые освещают стратегию IBM Software Development Platform: помогать предпринимателям автоматизировать и интегрировать разработку программного обеспечения как бизнес-процесс. Наша концепция состоит в том, чтобы обеспечить все роли возможностью совместно использовать непротиворечивый пользовательский опыт и общее определение и управление авуарами, которые они создают или используют. Каждый человек в группе может просто выбрать программы, которые лучше всего соответствуют их роли и обязанностям. IBM Software Development Platform - это все для производительности группы и организации.

Поддержка управляемой моделью архитектуры

В то время, как MDD представляет множество стилей для того, чтобы использовать модели для разработки программного обеспечения, Управляемая моделью архитектура (Model Driven Architecture, или MDA) - это специфический стиль, сформулированный Объектной группой управления (OMG). MDA базируется на нескольких стандартах OMG, включая UML 2, наряду с появляющейся философией о том, как лучше всего применять моделирование к процессу разработки программного обеспечения. MDA определяет модели на различных уровнях абстракции, а затем определяет преобразования, которые отображают и управляют отношениями между этими моделями и различными технологиями реализации.

Есть полезные, хотя и неточные, определения уровней моделирования для MDA:

·         Независимая от вычислений модель (Computation-Independent Model - CIM) - рассматривает среду и требования к системе, не рассматривая ее структуру или внутренние процессы.

·         Независимая от платформы модель (Platform-Independent Model - PIM) - рассматривает операции в системе без подробностей, связанных со специфической платформой.

·         Определяемая платформой модель (Platform-Specific Model - PSM) - включает в PIM детали, связанные со специфической платформой.

·         Модель платформы (Platform Model - PM - определяет, для использования с PIM, технические концепциями, элементы и сервисы, которые составляют определенную платформу.

·         Модель преобразования (Transformation Model - ТМ) - определяет и специфицирует преобразования, необходимые для перехода от определенной PIM к определенной PSM.

Хотя MDA - это не стандарт, она явно запрашивает использование нескольких стандартов OMG:

·         Для определения метамодели используются мета-объектные средства (Meta-Object Facility - MOF).

·         Для определения моделей и преобразований разрабатываемого приложения используется
UML 2.

·         Для определения преобразований (как только они должны стать формализованными) используется формат MOF "запрос / представление / преобразование" (Query / View / Transform - (MOF QVT).

Некоторые из наших клиентов говорят, что они уже применяли MDA "в таком духе" в течение долгого времени, и сотрудники IBM Rational работали со многими из них и с OMG, чтобы развить MDA к его существующему состоянию. Rational Software Architect поддерживает все принципы MDA и стандарты, на которых MDA базируется.

Однако, мы не классифицируем Rational Software Architect как инструмент MDA, частично потому, что MDA - это не стандарт, и в MDA остается место дебатами до достижения согласия. Что более важно, Rational Software Architect фактически поддерживает широкий спектр сосредоточенных вокруг кода, на основе мастера, управляемых моделью парадигм проектирования и разработки. Другими словами, Rational Software Architect поддерживает MDA наряду с другими стилями разработки.

Годится ли для Вас Rational Software Architect?

Rational Software Architect - это самое законченное и устойчивое решение IBM для моделирования и управляемой моделью разработки. Но действительно ли оно годится для Вас? Настоящий раздел поможет Вам ответить на этот вопрос.

Вы работаете над архитектурой программного обеспечения?

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

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

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

Rational Software Architect выполняет все эти действия. Возможности пакета помогают разрабатывать и просматривать реализацию, а также обслуживать и контролировать реализации для сохранения целостности архитектуры.

Как уже указано выше, сотрудники, занимающиеся вопросами, связанными с архитектурой, часто не являются архитекторами по должности. Члены команд, использующие преимущества Rational Software Architect:

·         Программные архитекторы, также занимающиеся разработкой кода.

·         Разработчики, работающие с кодом и моделями.

·         Разработчики, работающие с моделями, которым требуется использовать всю эффективность MDD.

·         Любые разработчики, просматривающие и оценивающие существующие архитектуры, или которым требуется просмотреть, как реализация влияет на развитие архитектуры.

·         Разработчики C++, которым требуется применять MDD на платформе Eclipse.

Следует учитывать, что Rational Software Architect включает все функции Rational Application Developer и масштабируемую среду IDE. Заказчики в одном продукте получают комплексное решение по проектированию и разработке. Для тех же, кто хочет полностью использовать возможности моделирования UML 2, но не является архитектором по разработке, предназначен пакет Rational Software Modeler.

В какой поддержке UML Вы нуждаетесь?

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

Именно для таких разработчиков возможности UML встроены в Rational Application Developer. Пакет включает достаточно UML функций, чтобы разработчики могли использовать эту технологию, то есть функции визуализации кода и визуального редактирования. Rational Application Developer визуализирует классы кода, данные и функции их членов, а также их взаимоотношения. Пакет позволяет визуализировать информацию о теле функции члена при помощи циклограмм UML 2. Также имеется поддержка визуализации данных в различной нотации (UML, IE и IDEF0) и визуализации иерархий Web-страниц.

Именно для этих типов разработчиков мы хотели соединяться, выбирают возможности UML в Rational Application Developer. Инструмент обеспечивает только достаточную UML возможность запустить разработчиков с технологии - уровень обращаем Ваше внимание как визуализация кода и визуальное редактирование. Rational Application Developer визуализирует классы кода, их данных члена и функций, и их отношений друг к другу. Это также позволяет Вам визуализировать информацию тела функции члена через UML 2 диаграммы последовательности. И это поддерживает визуализацию данных в нескольких нотациях (UML, IE и IDEF0), так же как визуализации иерархий Веб-страницы.

Эти эффективные и удобные в использовании функции являются ценными для большинства разработчиков. Для тех разработчиков, которые еще не изучили решение MDD, Rational Application Developer является идеальным средством для начала работы. Если позднее разработчикам потребуются дополнительные функции MDD, они смогут обновить пакет до продукта Rational Software Architect со значительной скидкой.

Они мощный, все же удобные в работе возможности не обеспечивают непосредственное(немедленное) значение господствующим разработчикам, и, еще готовые к полному MDD решению найдут, ЧТО Rational Application Developer будет идеальной отправной точкой. Если они хотят дополнительные MDD возможности позже, они могут модернизировать Rational Software Architect для обесцененной нагрузки(обвинения).

Вы используете другие программы моделирования IBM Rational?

Если Вы уже клиент IBM Rational, мы рекомендуем Вам рассмотреть возможность перемещение к Rational Software Architect или Rational Software Modeler, где и когда это имеет смысл. Преимущества этих новых изделий:

·         Интеграция с Eclipse

·         Расширенная модель и расширяемость инструмента через EMF

·         Простота использования

·         UML 2, последняя версия языка моделирования

·         Новые возможности структурного обзора и управления (в Rational Software Architect)

·         MDD с использованием C++ на базе Eclipse

·         Возможность создавать сложные настраиваемые преобразования

·         Возможность визуализировать код как статические диаграммы последовательности

·         Возможность обзора кода

·         Использование инструментов Java IDE и MDD (в Rational Software Architect)

Если ваша группа в настоящее время использует Rational Rose или Rational XDE, для Вас также может иметь смысл перейти к Rational Application Developer. Визуализация кода и возможности визуального редактирования в WebSphere Studio Application Developer были модернизированы для UML 2 и продолжают постоянно находиться в Rational Application Developer. Хотя этот инструмент не поддерживает универсальное моделирование или MDD в полном масштабе, Rational Application Developer действительно поддерживает использование минимальной конфигурации UML. Если Вы теперь используете Rational Rose или Rational XDE, прежде всего, для распаковки графической документации из кода, то этот уровень поддержки UML может быть достаточен для ваших потребностей.

Для разработок Java и Web мы настойчиво поощряем наших клиентов к переходу от их текущих программ моделирования к Rational Software Architect. В дополнение к неотразимым техническим преимуществам перемещения в Eclipse, IBM предлагает ряд льготных способов перехода.
См. http://www-306.ibm.com/software/awdtools/architect/swarchitect/support/index.html для получения  информации о поддержке.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=7802