|
Встреча с экспертами: Крис Геркен об управляемой моделями разработке
Статьи
→
Другие статьи
Введение
Консультант по WebSphere Крис Геркен отвечает на вопросы по управляемой моделями разработке (model-driven development MDD) и о том, как разработать и использовать исполняемые шаблоны, шаблоны Java™ Emitter Templates (JET) и Design Pattern Toolkit (DPTK) для генерирования исходного кода приложения. В качестве исполняемых шаблонов в настоящее время используются MDD-преобразования. Они автоматизируют применение соглашений, передового опыта и руководящих принципов. Важные новые функции в Eclipse и RSA в настоящее время позволяют легко создавать такие шаблоны для генерирования исходного кода приложений (Java, COBOL, JSP, XML, файлы свойств и т.д.).
Вопрос: Имея модель работ (activity model) на языке UML (united modeling language), как создать подключаемый модуль, который будет выполнять преобразование модель-модель (UML2 в DSL Ecore), и как использовать информацию в модели для генерирования кода при помощи Java Emitter Templates (JET), но сделать это незаметно и программным способом?
Ответ: В общем случае, вы должны использовать подход meet-in-the-middle (встреча по середине). Начните с создания JET-преобразования (если вы все еще применяете Rational Software Architect (RSA) V6.x, используйте Design Pattern Toolkit (DPTK) от alphaWorks®). Входная модель оптимизируется, для того чтобы сделать доступ к модели в шаблонах очень простым.
После написания преобразования модель-в-текст (model-to-text) можно написать RSA-преобразование, которое просматривает UML-модель и создает внутреннюю модель, выглядящую как входная модель, необходимая для JET-преобразования. Последнее правило в RSA-преобразовании конвертирует составную внутреннюю модель в формат, легко понимаемый JET-преобразованием (XML-строка или EMF-модель в оперативной памяти) и для программного вызова JET (или DPTK).
Вопрос: Что такое exemplar (экземпляр) и как он может помочь мне создать преобразования модель-в-текст?
Ответ: Exemplar это образец того, что должно сгенерировать ваше преобразование модель-в-текст. Он потребляется инструментальными средствами создания экземпляров в RSA и используется для быстрого извлечения схемы исходной модели и шаблонов модель-в-текст. Предполагается, что экземпляр создается для всех подходящих передовых методик, руководящих принципов, соглашений и т.д. Он демонстрирует все точки изменяемости, которые будут поддерживаться преобразованием. На первый взгляд может показаться, что это не так, но вы сэкономите значительное количество времени, сначала создав и проверив экземпляр, а затем использовав его в качестве исходных данных в процессе создания преобразования.
Вопрос: Когда нужно использовать DPTK вместо JET для написания m-2-t преобразований?
Ответ: Если вы планируете запускать ваши преобразования в Eclipse 3.2, Rational Application Developer (RAD) V7 или Rational Software Architect V7, используйте JET. Для более ранних версий RSA, RAD или Eclipse используйте DPTK.
Вопрос: Я хочу использовать дескриптор развертывания (web.xml) в качестве исходной модели для JET-преобразования, но мне нужны некоторые дополнительные данные, которые нельзя указать в дескрипторе развертывания. Как это сделать?
Ответ: Вы можете поместить дополнительную информацию в другой XML-файл. Ваше преобразование возьмет один из двух файлов в качестве первичного источника, а также будет использовать тег content для чтения, синтаксического анализа и загрузки в память второго файла. После загрузки обеих моделей из двух файлов вы можете выполнить обработку любого шаблона, необходимую для генерирования ваших файлов.
Вопрос: Что должны делать шаблоны с преобразованиями модель-в-текст?
Ответ: Гради Буч (Grady Booch) однажды определил шаблон как решение рекуррентной задачи в заданном контексте. Это определение подразумевает, что передовой опыт, руководящие принципы и соглашения по именованию являются формами шаблонов. Поскольку преобразования модель-в-текст могут автоматизировать применение передового опыта, руководящих принципов и соглашений по именованию, эти преобразования (и преобразования модель-в-модель) могут, следовательно, автоматизировать применение шаблонов. Я часто чередую использование терминов «преобразование» (transformation) и «шаблон» (pattern).
Вопрос: Одна из задач, которую я пытаюсь решить, как создать область видимости для моего экземпляра и шаблона. Я хочу быть уверенным, что область видимости достаточно широка для использования мощных возможностей преобразований модель-в-текст, но не настолько широка, как в случае нашего первого преобразования.
Ответ: Существует несколько способов создания области видимости для экземпляра:
- Начните все с той же цитаты: «Шаблон это решение рекуррентной задачи в заданном контексте». Решения могут принимать форму передового опыта, соглашений, руководящих принципов, проектной документации и т.д. Найдите группы файлов, решающих конкретную проблему, например, как сохранить объект (включая doc-файлы и файлы j-unit-тестов). Естественно, чем большее число раз эта проблема решается в ваших наборах приложений, тем лучше.
- Я говорю, что два файла являются «MDD_связанными» (MDD_related моя терминология), если два набора данных модели, необходимых для генерирования соответствующих файлов, пересекаются. Примерами могут быть класс или имя файла для одного файла, вызываемого из исходного кода для другого файла, одинаковые имена свойств (или варианты этого, например, имена методов getter и setter), появляющиеся в источнике для двух файлов, и т.д. Мы можем также сказать, что MDD-связь является сильной (интерфейс и класс реализации) или слабой (jar-имя для Java-проекта и ссылка на сценарий администрирования). Вам нужно искать группы файлов с сильной MDD-связью (подумайте о математическом замыкании).
Оба этих подхода завершаются идентификацией одинаковых групп файлов. Для хорошего начального экземпляра я нашел бы группу файлов, состоящую примерно из 20 файлов. Я обнаружил, что примерно 80% шаблонов являются тривиальными, 15% понятными и простыми в завершении, а 5% довольно трудными.
Если вы опытный автор шаблонов, то, лишь взглянув на файлы и задав несколько вопросов, легко представите себе количество и сложность шаблонов, а также размер и форму модели. Я бы добавил в факторы риска дополнительную невидимую сложность (например, эксперт по данной теме и эксперт по шаблонам не знакомы с предметной областью другого эксперта).
Для первого преобразования я бы создал от 5 до 10 шаблонов. Больше и вы просто отложите получение удовольствия от их использования. Меньше и вы можете не увидеть мощи преобразований модель-в-текст.
Вопрос: У меня есть несколько Java-классов, которые могли бы быть хорошими кандидатами на генерирование при помощи JET, но в каждом классе имеется также сложная бизнес-логика, которую нелегко сгенерировать. Я думаю, что смогу сгенерировать исходный код класса один раз и дать возможность разработчикам добавить их бизнес-логику, но как мне сохранить эту логику при повторном генерировании?
Ответ: Вы должны использовать тег userRegion в JET. Этот тег идентифицирует раздел сгенерированного текста, который может изменять пользователь. Если преобразование выполняется повторно, сделанные разработчиками изменения сохранятся. Короче говоря, создайте ваши шаблоны для генерирования исходных файлов, укажите участки в сгенерированном коде, которые разработчики могут изменить, и окружите эти участки тегами userRegion.
Вопрос: Какие типы приложений уже сгенерированы при помощи преобразований модель-в-текст?
Ответ: Поскольку RSA V7 появился совсем недавно, большинство преобразований модель-в-текст было написано с использованием DPTK. К сгенерированным приложениям и компонентам относятся пользовательские портлеты, J2EE-приложения, Eclipse-компоненты (мастера, диалоговые окна, справочные системы, полнофункциональные клиенты), оптимизированный доступ к базе данных и другие специализированные приложения.
Вопрос: Я написал несколько DPTK-шаблонов для RSA V6. Какой простейший способ их миграции на JET и RSA V7?
Ответ: RSA V7 и RAD V7 поставляются с библиотекой тегов JET, называемой уровнем совместимости с DPTK. Эта библиотека тегов содержит теги, выглядящие и ведущие себя аналогично оригинальным DPTK-тегам. Однако эти теги реализуются на уровне JET.
После загрузки своего шаблона в рабочее пространство V7 вы можете применить DPTK-шаблон «Add JET Behavior» к вашему DPTK-шаблону для добавления правильных характеристик, свойств и папок, необходимых для настройки преобразования в виде JET-преобразования.
Вопрос: Что такого хорошего в новых JET-тегах? Я могу делать то же самое с уже встроенным Java.
Ответ: JET-теги обеспечивают такой же уровень управления потоком шаблонов (итерация, условное выполнение, доступ к модели и т.д.), что и встроенный языка Java, но не зависимым от языка способом. Это делает их доступными для программистов на COBOL, C и системных администраторов, которые могут создавать преобразования, не изучая язык Java.
Некоторые теги скрывают также большую долю сложности, которая делает непрактичным использование Java. Например, тег file (применяет шаблон к модели и сохраняет результат в новом Eclipse-ресурсе) взаимодействует также с подключаемыми модулями, управляющими конфигурацией, и другими редакторами, чтобы гарантировать корректность для Eclipse сгенерированного файла.
Вопрос: У вас есть несколько преобразований: UML2Java, JET и DPTK. Какова же четкая стратегия RSA?
Ответ: Используемая технология модель-в-текст зависит от используемых инструментальных средств Rational. Используйте EMFT JET (доступный в Eclipse 3.2.0 и Rational V7 и старше). Если вы работаете на другой платформе, необходимо использовать DTPK.
Вопрос: Что такое Pattern Repository и как Pattern Repository связан с Asset Repository (RAS)? Еще одна путаница от RSA.
Ответ: Pattern Repository (Репозиторий шаблонов) представляет собой сервер (хотя он может располагаться на локальной машине), хранящий шаблоны, развернутые как RAS-файлы (Reusable Asset Specification). RAS-файл это не более чем zip-файл с некоторыми дополнительными метаданными о характере и использовании активов (assets), имеющихся в RAS-файле, а также с метаданными, описывающими все действия по установке, необходимые при импорте RAS-актива в ваше рабочее пространство (workspace). Эти действия выполняются автоматически. Естественно, RAS-файл может содержать также и другие виды активов.
25.02.2008
Комментарии
Добавить комментарий (анонимные комментарии не публикуются!!!)
Новости и пресс-релизы СМ-Консалт
21.02.2012 12:42:20 Новая статья: IT и психология. Человеческий фактор в парном программировании: почему многие не получают желаемого от его внедрения?
Статья, находящаяся перед вами, открывает цикл статей о человеческом
факторе, Agile-практиках и других полезных приемах, используемых при
управлении командами в ИТ. Объединяет рассматриваемые практики и приемы
одно – они позволяют проявиться положительным эффектам, связанным с
человеческим фактором. И мы объясняем, почему с точки зрения психологии,
это происходит. Так сказать, подводим теоретическую и экспериментальную
базу под то, что себя уже давно зарекомендовало и работает. Или под то,
что работает не у всех, и потому является предметом оживленных споров и
дискуссий. И начинаем мы наши исследования с рассмотрения эффекта
парного программирования через призму экспериментов социальной
психологии.
Отдельную благодарность за рецензию и время, потраченное на прочтение
первого варианта статьи, выражаем Асхату Уразбаеву,
ценные замечания которого позволили не только улучшить данную статью,
но и позволили убедиться в необходимости и востребованности именно цикла
статей!
Читать -->
27.12.2011 16:15:27 Компания "СМ-Консалт" получила отзыв о работах в Федеральной Налоговой Службе (ГНИВЦ ФНС)
Специалистами ООО «СМ-Консалт» в 2010-2011г. был выполнен проект
по настройке и внедрению системы управления жизненным циклом разработки
программных систем в части управления изменениями и конфигурациями на
основе Microsoft Visual Studio Team Foundation Server 2010 для
Филиала Федерального государственного унитарного предприятия «Главный
научно-исследовательский вычислительный центр Федеральной налоговой
службы» в Приволжском Федеральном округе (Филиал ФГУП ГНИВЦ ФНС России в
ПФО).
28.11.2011 15:05:11 Новая статья: "Всегда ли «Да» – это «Да»? Или как нас вынуждают принимать решения"
Мы предлагаем вашему вниманию цикл статей, в основу которых положены
психологические практики и приемы, позволяющие влиять на решения,
принимаемые людьми. Эта идея была логическим продолжением ряда
выступлений с докладами о коммуникациях в проектах разработки и
внедрения ПО. Давайте, не откладывая в долгий ящик, начнем с самого
простого приема убеждения, с которым сталкиваемся ежедневно в магазинах,
в транспорте, в разговорах с коллегами… да мало ли где еще!
Авторы: Новичков Александр и Карабанова Галина.
Читать -->
10.10.2011 11:16:06 Компания «СМ-Консалт» открывает новое направление продаж - ПО Adobe Connect
Программное обеспечение Adobe Connect является гибкой системой
web-коммуникации с высоким уровнем информационной безопасности. Adobe
Connect предоставляет такие важнейшие функции корпоративного
взаимодействия, как деловое общение и совместная работа сотрудников на
уровне предприятий, дистанционное обучение, организация широкомасштабных
сетевых семинаров и презентаций. Система Adobe Connect базируется на
технологии Adobe Flash, а также Air, и поэтому позволяет подключать
сотрудников к единому пространству взаимодействия через web-браузер с
любых устройств.
17.09.2011 21:40:22 Новая статья: "Разработка прикладного программного обеспечения с использованием Rational Unified Process на Иркутском Авиационном заводе"

На сайте СМ-Консалт открыт новый раздел Статьи наших заказчиков об успешных внедрениях IBM Rational и Microsoft. Статьи для данного раздела пишутся нашими заказчиками и рассказывают о сути проектов внедрения технологий IBM и Microsoft. Первая статья, представленная вашему вниманию написана сотрудниками Иркутского Авиационного Завода (ИАЗ).
Иркутский авиазавод имеет длительный опыт разработки программного
обеспечения для информационной поддержки ключевых бизнес-процессов
предприятия. Однако, в связи с увеличивающейся сложностью и повышением
требований к разрабатываемому программному обеспечению, возникла
настоятельная необходимость усовершенствовать процесс разработки:
повысить качество разрабатываемых программных продуктов,
стандартизировать процесс с увеличением его эффективности.
С целью повышения качества программного обеспечения собственной
разработки и сокращения сроков разработки руководство Управления
информационных технологий (УИТ) Иркутского Авиационного Завода в 2006г. приняло решение о внедрении технологии разработки ПО на базе методологии Rational Unified Process и с использованием инструментов автоматизации IBM Rational.
13.09.2011 12:07:29 Новый тренинг «Коммуникации и психология межличностных отношений в ИТ-проектах»

Компания «СМ-Консалт» представляет новый тренинг, организуемый совместно с компанией «КарьерKаб» - «Коммуникации
и психология межличностных отношений в ИТ-проектах.
Тренинг позволит понять, насколько коммуникации в проектах важнее инструментов, что люди и их взаимоотношения зачастую оказываются решающим фактором, определяющим успех проекта. Если более пятидесяти процентов рабочего времени вы тратите на взаимодействие с заказчиком, если вам небезразлична судьба вашей команды и вы хотите, чтобы ваша команда работала как часы, реализуя проекты точно, вовремя и без перерасхода ресурсов - наш тренинг поможет в этом.
01.08.2011 17:44:25 Наша компания получила отзыв о сотрудничестве с ОАО «Нордеа Банк»

В 2010-2011 гг. наши специалисты провели в Нордеа Банке проект по предварительному обследованию, развертыванию инструментальных средств и ряд тренингов по обучению методологии и работе с продуктами IBM Rational: «Методология разработки программных систем IBM Rational Unified Process», «Управление требованиями с использованием IBM Rational RequisitePro», «Управление изменениями в IBM Rational ClearQuest».
24.06.2011 01:27:57 Бесплатный семинар-вебинар «Повышение эффективности IT подразделений и качества разрабатываемого ПО с использованием современных методологий и технологий»
Компании СМ-Консалт , Legal SoftWaveTM и DNA приглашают Вас посетить бесплатный семинар-вебинар, посвященный обзору технологий и методологий, которые позволяют повысить эффективность ИТ подразделений. На семинаре рассматриваются технологии IBM Rational, Microsoft TFS, а также системы аналитической обработки информации (Business Intelligence) (IBM SPSS, Deductor, QlikView и другие).
Планируемая продолжительность семинара - 8 академических часов.
Место проведения: Санкт-Петербург (очно) и Интернет (для всех желающих: приходите сами и приглашайте друзей!).
Дата и время: 14 июля 2011 в 9 00.
ВНИМАНИЕ: если вы не сможете очно приехать на семинар - это не страшно, так как семинар будет транслироваться через интернет в формате вебинара и к нему, после регистрации, смогут присоединиться все желающие. Трансляция будет осуществляться посредством технологии Adobe Connect Pro , это позволит Вам присоединяться к конференции без установки дополнительного ПО - только интернет браузер.
Смотреть программу -->
07.06.2011 13:02:44 Компания "СМ-Консалт" провела серию успешных семинаров для ГНИВЦ ФНС России

Проведенные семинары были посвящены средствам разработки и тестирования программного обеспечения компании Майкрософт для сотрудников ГНИВЦ ФНС России. Слушатели семинаров отметили высокую квалификацию тренеров компании "СМ-Консалт" по организации учебного процесса и повышению квалификации специалистов, прошедших обучение.
Индивидуальный подход при решении любых вопросов, возникающих в процессе обучения, оперативность принятия решений, гарантированное выполнение взятых на себя обязательств и профессионализм позволили провести обучение на самом высоком уровне.
07.12.2010 12:28:15 Мы идем в Твиттер!

Наша компания открыла аккаунт в системе микроблоггинга Twiter.Теперь все официальные и неофициальные новости будут появляться в нашей ленте в Twitter.
Там же возможно будет задать прямые вопросы специалистам СМ-Консалт, по всем вопросам, связанным как с деятельностью компании, так и с техническими аспектов продуктов IBM и собственных решений СМ-Консалт.
Следуйте за нами!
https://twitter.com/cmconscom
11.11.2010 14:14:14 Осенний марафон Microsoft ALM Road Show
Компания СМ-Консалт совместно с образовательным центром Careerlab провели серию семинаров в рамках мероприятий ALM Roadshow 2.0 в крупнейших городах, расположенных на Волге, – крупных научных центрах, в которых ИТ технологии находятся на высоком уровне. Семинары прошли в Самаре, Нижнем Новгороде и Казани. Cеминары были посвящены использованию новых инструментов MS Visual Studio Team System в проектах разработки ПО.
В семинарах принимали участие представители различных ролей процесса разработки ПО: от разработчиков до руководителей предприятий различного уровня. Темы, обсуждаемые в ходе семинара, вызвали большой интерес аудитории и немалое количество вопросов, на которые были предоставлены исчерпывающие ответы. В процессе семинара также было показано большое количество примеров, которые дают представление о возможностях инструментов MS Team System. Средняя оценка за семинар составила 4,6 балла по пятибальной шкале
08.09.2010 18:37:52 Скидки до 30% на программное обеспечение IBM Rational

Компания СМ-Консалт предлагает для всех желающих на льготных условиях приобрести программное обеспечение IBM Rational. Снижение цен связано с тем, что мы стараемся быть как можно ближе к нашим клиентам, многие из которых постепенно начали преодолевать последствия финансового кризиса.Наше предложение поможет с минимальными издержками приобрести ПО IBM Rational, что является хорошим капиталовложением.
Скидки до 1 декабря 2010 года:
- 20% скидки при покупке IBM Rational ClearCase, ClearQuest, CearCase LT, при приобретении пяти и более лицензий*;
- 30% скидки при покупке пяти любых продуктов IBM Rational + решение или тренинг СМ-Консалт*.
Для получения деталей обязательно свяжитесь с нашими менеджерами
|