|
|
|||||||||||||||||||||||||||||
|
Моделируем сервис-ориентированную архитектуру при помощи IBM Rational Software Architect: Часть 1. Учебный пример, инструменты и бизнес-видениеИсточник: IBM Developerworks Россия
Перед началом работывам следует знать, что предлагает наше учебное руководство, и как извлечь из его изучения как можно больше полезных знаний и навыков. О данной серииВ этой серии подробно рассматривается моделирование сервис-ориентированной архитектуры (service-oriented architectures, SOA) при помощи инструмента IBM® Rational® Software Architect. Хотя изначально это программное решение предназначалось для разработчиков архитектуры программного обеспечения и для поддержки их деятельности, оно может оказаться полезным также специалистам, выполняющим другие роли в процессе разработки программного обеспечения, в том числе тем, кто вносит свой вклад в разработку архитектуры ПО, например, бизнес-аналитикам или тем, кто использует эту архитектуру в качестве отправной точки собственной деятельности, например, проектировщикам программного обеспечения и разработчикам (занимающимся реализацией архитектуры, проектированием и созданием ПО). Кроме того, в этой серии объясняются многие основные концепции SOA, которые могут заинтересовать и других специалистов. См. в разделе Ресурсы ссылку на часть 2. Эти учебные руководства концентрируются на трех темах:
Серия начинается с описания архитектуры программного обеспечения и определения места сервисов в архитектуре. Затем рассказывается о программном продукте Rational Software Architect, его функциях и инструментах, имеющих отношение к SOA- и архитектуре. Учебный пример с воображаемым бизнесом по прокату DVD-дисков через интернет, который используется на протяжении всей серии статей, помогает проиллюстрировать главные задачи:
О данном учебном руководствеВ данном учебном руководстве, которое представляет собой 1 часть серии, вводится учебный пример фирмы по прокату видеодисков, который используется во всех статьях серии. Кроме того, в нем рассказывается об инструменте Rational Software Architect (версия 7 и более поздние) и о функциях, которые мы будем использовать для моделирования сервисной архитектуры. И, наконец, рассказывается об использовании следующих двух моделей на входе деятельностей по моделированию сервисов: карты компонентного моделирования бизнесов (CBM) и модели бизнес-процесса. ЦелиИзучив данное учебное руководство, вы сможете:
Необходимые условияЧтобы извлечь больше пользы из этого учебного руководства, желательно (но не обязательно) иметь представление о следующих технологиях и программах:
Требования к системе
Учебный пример Video RentalНа протяжении всей серии учебных руководств используется учебный пример воображаемой компании DVD2U. DVD2U - это фирма по прокату и продаже DVD-дисков, основанная в 1998 году. Бизнес компании заключается в предоставлении клиентам видеофильмов, которые трудно было найти в обычных магазинах видеофильмов, например, фильмы на иностранных языках или не пользующиеся широким спросом. С начала своей деятельности компания DVD2U сделала два крупных приобретения, в результате одного из которых она получила обширную базу клиентов компании, занимающейся традиционной продажей видеофильмов, другое приобретение дало фирме много DVD-дисков на иностранных языках, но совсем немного новых клиентов. Из разговора с генеральным директором компании мы узнали, что около года назад он запустил новый интернет-проект. Вот механизм его работы: чтобы стать участниками сервиса, пользователи регистрируются на Web-сайте и оплачивают подписку на месяц. Участники составляют список нужных им фильмов из ассортимента, предоставленного компанией DVD2U, в режиме онлайн, как правило, такой список содержит около ста названий. Затем компания DVD2U пересылает DVD-диски участникам сервиса по обычной почте. Просмотрев фильм, участник возвращает DVD-диск по почте в предоплаченном почтовом конверте. Получив просмотренный DVD-диск, фирма DVD2U отправляет участнику следующий диск по списку. В зависимости от типа (и стоимости) подписки участника фирма допускает выдачу со склада ограниченного количества дисков DVD за один раз (как правило, участники выбирают популярный план на 3 DVD). Компания DVD2U приветствует идею интернет-сообществ и стремится к созданию подобного сообщества на своем интернет-сайте; в таком сообществе участники могут общаться, оценивать фильмы, писать обзоры и даже знакомиться с пользователями, которые смотрели те же фильмы, что и они сами. По мнению пользователей, Web-сайт DVD2U очень эффективен для знакомства! Однако гендиректор отметил: несмотря на то, что онлайновый сервис проката представляет собой прекрасную бизнес-возможность, с этим сервисом связан ряд проблем. Например, клиенты жалуются на то, что, по их впечатлению, они никогда не получают самые популярные фильмы из своих списков, иногда новый DVD-диск приходит только через несколько недель после того, как они отправили уже просмотренный диск по почте; иногда Web-сайт не функционирует, и они не могут обновить свои списки фильмов. МЫ рассмотрели ряд других специфических проблем с используемым IT-решением:
К счастью, ведущий специалист этой компании по информационным системам оказался очень хорошим знакомым бизнес-партнера IBM, специализирующегося на SOA, и приверженцем технологий архитектуры решений и архитектуры корпорации. После совещания руководства IBM по SOA, в котором участвовал разработчик архитектуры организации, было решено пригласить для участия в проекте специалистов из IBM. Предполагалось, что IBM создаст эффективное бизнес-решение в первые три месяца, и именно так и произошло. Разработка процесса и методовВ этом разделе мы предлагаем вам основной материал данной серии, касающийся процесса и методов разработки программного обеспечения. Мы расскажем о том, что такое деятельность, к чему она относится, кто ее выполняет и какие рабочие продукты используются в деятельности.
Стек SOA-решенияПо определению, которое приводится в серии статей, посвященных терминологии SOA, стек решений SOA, показанный на рисунке 2, представляет собой ссылочную модель SOA, которая иллюстрирует концептуальное представление SOA-решения. Эта модель, иногда называемая многоуровневой архитектурой SOA , вводит понятие уровней (концептов, таких как бизнес-процессы, сервисы или компоненты сервисов) и взаимосвязей между ними. Она зависит от конкретной технологии, используемой для реализации. На данном рисунке имеется 5 функциональных уровней (снизу вверх):
4 нефункциональных уровня:
В нашей серии рассказывается о центральном уровне, уровне сервисов. Во второй части этой серии мы перейдем к детализации элементов модели рабочего продукта сервисной модели. В части 1 (то есть, в данном учебном руководстве) рассказывается об уровне бизнес-процессов. Такой подход часто называют подходом" сверху вниз" . Детализированные элементы проекта принадлежат к уровню компонентов сервисов. Использование унаследованных (не-SOA) систем из уровня операционных систем называют подходом " снизу вверх ". Мы рекомендуем комбинировать эти два подхода (такой подход называется "от краев к центру"): моделирование бизнес-процессов "сверху вниз" будет определять набор функций решения, а анализ имеющихся ресурсов "снизу вверх" обнаружит функции, предоставляемые внешними системами (не-SOA) вместе с любыми накладываемыми ими ограничениями. Обратите внимание на то, что имеющиеся модели сервисов могут описывать доступные имеющиеся функции SOA. Эти модели используются на входе деятельности моделирования сервисов. Следующие модели используются для осуществления деятельности моделирования сервисов:
В этом учебном руководстве, первом в данной серии, мы расскажем о компонентной бизнес-модели и модели бизнес-процессов. Rational Software Architect версии 7 и более поздних версийRational Software Architect - это инструмент для управляемой моделями разработки с расширенными возможностями, который позволяет моделировать программное обеспечение на разных уровнях абстракции, использовать преобразования для перевода модели с одного уровня абстракции на следующий, а также генерировать, разрабатывать и тестировать программный код. В этом разделе описываются функции Rational Software Architect, которые можно использовать для разработки SOA и архитектуры. Если вы уже знакомы с Rational Software Architect, этот раздел можно пропустить. Rational Software Architect создан на основе Eclipse, платформы с открытым исходным кодом, а версия 7 построена на Eclipse версии 3.2. Программа поддерживает совместную работу разработчиков при помощи следующих технологий:
Rational Software Architect объединяет инструменты IBM® Rational® Software Modeler и IBM® Rational® Application Developer в интегрированную среду. Кроме того, программа представляет функции интеграции с другими продуктами, такими, как WebSphere Business Modeler, IBM® Rational® Clear Case®, CVS (система управления параллельными версиями), IBM® Rational® ClearQuest® и IBM® Rational® RequisitePro®. Если вы - новичок в Rational Software Architect, можно порекомендовать вам ознакомиться с обучающим курсом на странице Welcome программы (она показана на рисунке 3), которое открывается при запуске Rational Software Architect с новой рабочей областью. Можно также вызвать эту страницу, выбрав в меню команды Help > Welcome. Рисунок 3. Страница Welcome программы Rational Software Architect На странице Welcome можно включить и отключить функции Rational Software Architect в зависимости от роли (в правом нижнем углу); кроме того, на этой странице имеются ссылки на информацию о Rational Software Architect, распределенную по следующим категориям:
Если вы - разработчик архитектуры программного обеспечения и не так давно начали использовать в работе Rational Software Architect, то мы настоятельно рекомендуем вам ознакомиться с материалами, которые находятся в следующей категории: Overview > Modeling Basics > Modeling life cycle support > Integrations for the development life cycle. Выполните следующие шаги:
Перспектива для моделирования ModelingВ смысле пользовательского интерфейса (User Interface, UI) перспектива в Eclipse представляет собой набор представлений, объединенных в группы, поддерживающие определенные роли или деятельности. В Rational Software Architect имеются встроенные перспективы (например, перспективы Modeling, Plug-in Development или Java), кроме того, можно создавать новые перспективы. В данном учебном руководстве мы проведем большую часть времени в перспективе Modeling, показанной на рисунке 4. Рисунок 4. Перспектива Modeling в Rational Software Architect В перспективе Modeling 4 основных представления:
Выполните следующие шаги:
Это ваше последнее действие в Rational Software Architect в 1 части учебного руководства. Пока можно завершить работу программы. Рисунок 5. Go to the workbench - ссылка для перехода в рабочую область В составе 7 версии программного продукта Rational Software Architect появились две новые SOA-функции. Обращаем ваше внимание на то, что в 6 версии эти функции были доступны как дополнительные ресурсы на Web-сайте developerWorks. По мере того, как SOA становилась все более востребованной технологией, эти функции были интегрированы в продукт и в настоящее время поддерживаются в полной мере; в данном учебном руководстве мы ими воспользуемся:
На момент написания статьи мы пользовались версией 7 с пакетом исправлений fix 001. Рекомендуется пользоваться программой с последним пакетом исправлений, доступным на момент изучения учебного руководства. Компонентная модель бизнесаПо определению, которое приводится в серии статей, посвященных терминологии SOA, компонентная модель бизнеса IBM (Component Business Model) представляет собой стратегический метод, позволяющий предприятиям сосредоточиться на основных компетенциях - компонентах бизнеса, которые отличают его от конкурентов, наблюдать за потреблением ресурсов и выбрать наиболее правильное соответствие между бизнес-целями и задачами информационных систем. Благодаря ориентации на сервисы достигается необходимый уровень интеграции взаимодействия этих компонентов бизнеса, а также гибкость их реализации (например, аутсорсинг какого-либо компонента): компоненты бизнеса имеют уникальное бизнес-назначение и осуществляют совместную деятельность через набор бизнес-сервисов, которые они предоставляют другим бизнес-компонентам или потребляют от них. Учтите, что создание полномасштабной компонентной модели бизнеса обычно находится за рамками проекта разработки программного обеспечения: как правило, она создается в ходе работ по определению бизнес-стратегии и изменений. Если такая входная информация недоступна, то иногда имеет смысл создать базовую карту компонентной бизнес-модели, чтобы создать контекст для работ по бизнес-моделированию в проекте разработки программного обеспечения. Преимущество такой практики заключается в том, что CMB-карта предоставляет полезный контент для определяемых бизнес-процессов. Кроме того, она может использоваться как контрольная точка для проверки охвата моделируемых процессов: в полной ли мере учтен объем бизнеса, охваченного процессами? На рисунке 6 показана карта компонентной модели бизнеса (Component Business Model Map) для компании DVD2U. Рисунок 6. Карта компонентной модели бизнеса компании DVD2U Компоненты бизнеса (функциональные области) могут принадлежать к одному из трех уровней ответственности (строк карты):
DVD2U обладает четырьмя бизнес-компетенциями (столбцы карты):
Проведя семинар по компонентной модели бизнеса, мы узнали, что бизнес-компонент Online Rentals (в иерархии Rental, Execute) является основным интересующим нас бизнес-компонентом. В компонентной модели бизнеса он называется горячим компонентом , поэтому на рисунке 6 обозначен звездочкой. Следовательно, компонент Online Rentals представляет собой функциональную область бизнеса, для которой в программе работ компонентной модели бизнеса будут выделяться люди, процессы, системы и, самое важное, сервисы. Модель бизнес-процесса:На рисунках 7 и 8 изображена схема бизнес-процесса Return Video , который принадлежит к бизнес-компетенции Online Rentals. Это бизнес-процесс, задающий масштаб SOA-проекта, для которого мы моделируем архитектуру в наших учебных руководствах. Рисунок 7. Бизнес-процесс Return Video (1 из 2) Согласно рисунку 7, процесс протекает следующим образом:
Рисунок 8. Бизнес-процесс Return Video (2 из 2) Согласно рисунку 8, процесс протекает следующим образом:
Обратите внимание, что в объеме работ по моделированию бизнес-процесса идентифицированы и кодифицированы следующие моменты:
Отметим также, что моделирование бизнес-процессов использует и другие деятельности (например, симуляция процесса), о которых в данной статье не рассказывается. Выполните следующие шаги:
Теперь мы импортируем предоставленную модель бизнес-процесса.
Многие артефакты из этой модели являются входной информацией для деятельности моделирования сервисов, в том числе, поток задач, бизнес-элементы, взаимодействующие между этими задачами, описания требований к автоматизации для задач, использующих IT-системы, а также роли, выполняющие задачи, которые должны выполняться специалистами-людьми. В ходе работ по моделированию бизнеса, которые вы выполняли в этом учебном руководстве, как правило, создается и модель предметной области. В следующем учебном руководстве этой серии будет дано более подробное описание этого процесса, кроме того, мы расскажем о следующем логическом этапе подхода сверху вниз - моделировании требований в модели прецедентов системы. ЗаключениеВ данном учебном руководстве мы подготовили почву для моделирования сервис-ориентированной архитектуры при помощи Rational Software Architect. В этой части серии мы использовали подход "сверху вниз" и описали компанию DVD2U, ее бизнес и проблемы этого бизнеса. Затем мы позиционировали архитектуру программного обеспечения и SOA в процессе разработки и рассказали о главном предмете данной серии с использованием стека SOA-решения. Далее в учебном руководстве описывается инструмент Rational Software Architect и его новые SOA-функции. Затем, после перечисления моделей, которые использовались на входе деятельности по разработке архитектуры сервиса, были описаны две модели бизнеса для этого проекта: карта компонентного моделирования бизнеса DVD2U и бизнес-процесс Return Video. Это всего лишь начало, во второй части будут подробно описаны другие входные модели и начата работа над первоначальной структурой архитектуры программного обеспечения. Поэтому не забывайте следить за событиями на Web-сайте developerWorks! Ссылки по теме
|
|