Создание бизнес-процесса с помощью инструментов Rational и WebSphere

Моделирование. Наш метод

Разбить на страницы
Показывать лекцию целиком

Одной из наших целей, обозначенных в разделе 1.3, "Цели и ограничения, связанные с информационными технологиями", является повышение производительности разработки при использовании современных инструментов и технологий. Новая система реализует сервис-ориентированную архитектуру (Service-Oriented Architecture, SOA), основанную на Web-службах. Будет вестись разработка, направляемая моделями (Model Driven Development, MDD), и будут использоваться технологии на основе открытых стандартов, такие, как J2EE, BPEL и UML2. Проект разработки будет справочником по использованию этих технологий в будущем и будет показывать, как добиться увеличения производительности.

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

3.1 Организация бизнеса, работающего по требованию

Что такое бизнес по требованию (On Demand Business)? IBM определяет его как бизнес, руководители которого могут видеть свою компанию и управлять ею как единым целым. Это означает, что все отрасли бизнеса должны задействовать друг друга в ходе динамических преобразований ранее изолированных операций, проводимых отдельными подразделениями, в цельный интегрированный бизнес-процесс, охватывающий всю компанию, а также клиентов за ее пределами.

Бизнес по требованию имеет четыре наиболее существенные характеристики:

  • готовность к ответу – интуитивная готовность к динамическим, непредсказуемым изменениям в требованиях, поставках, ценовой политике, трудовых ресурсах и конкурентной борьбе;
  • изменчивость – гибкость при адаптации к меняющейся структуре издержек и процессам, связанным с производительностью, капиталами и финансированием;
  • акцентированность – фокусировка на основной специализации, дифференцированных задачах и активах при тесной интеграции со стратегическими партнерами;
  • устойчивость – способность справляться с изменениями и угрозами при обеспечении должной доступности и безопасности.
  • За дополнительной информацией о бизнесе по требованию обращайтесь на сайт http://www-306.ibm.com/e-business/ondemand/us/overview/overview.shtml

    Компания LGI преобразует себя в бизнес по требованию следующим образом:

    Преобразуя свою ИТ-инфраструктуру в инфраструктуру на основе открытых стандартов, что делает LGI более гибкой и готовой к ответу на изменение нужд бизнеса.

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

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

    3.1.1 Операционная среда, работающая по требованию

    Операционная среда, работающая по требованию, имеет две цели – упрощение работы с ИТ и повышение гибкости бизнеса. Она представляет собой набор средств управления интеграцией и инфраструктурой, который на модульной и инкрементной основе может использоваться клиентами и партнерами для обеспечения перехода к бизнесу по требованию. Эта среда состоит из двух частей – управление инфра-структурой и управление интеграцией, которые решают задачи упрощения работы с ИТ и повышения гибкости бизнеса. Обращайтесь к книге серии IBM Redbook под названием "On Demand Operating Environment: Creating Business Flexibility", SG24-6633, где предлагается план работ по обеспечению гибкости бизнеса в операционной среде, работающей по требованию.

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

    (рис 3.1) Операционная среда по требованию

    В решении для работы с внешними оценщиками компания LGI использует бизнес-моделирование (Business Modeling), трансформацию процессов (Process Transformation) и интеграцию приложений (Application Integration). В будущем LGI планирует применять управление бизнес-процессами (Business Process Management) для наблюдения за повседневными операциями и анализа производительности процесса. В операционной среде по требованию эти возможности реализованы с использованием сервис-ориентированной архитектуры (Service Oriented Architecture, SOA). SOA связана с упрощением операционной среды, поскольку облегчается использование сочетаний разных возможностей и установление соответствий между ними, а также с предоставлением интегрированной среды разработки программного обеспечения для создания решенийMike Perrow, "Building the On Demand Business: Four Imperatives for Improved Software Development", http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/imperatives-04.pdf из служб при помощи сервис-ориентированного моделированияAli Arsanjani, "Service-oriented modeling and architecture", http://www-128.ibm.com/developerworks/webservices/library/ws-soa-design1/ .

    3.1.2 Сервис-ориентированное моделирование

    Интерес к сервис-ориентированному моделированию возрастает в связи с пониманием того, что существующие процессы разработки и нотации, такие, как объектно-ориентированный анализ и проектирование (Object-Oriented Analysis and Design, OOAD), корпоративная архитектура (Enterprise Architecture, EA) и моделирование бизнес-процессов (Business Process Modeling, BPM), лишь частично охватывают архитектурные шаблоны, возникающие сегодня под эгидой SOA. Таким образом, необходим улучшенный междисциплинарный подход к моделированию службOlaf Zimmermann, Pal Krogdahl, Clive Gee, Elements of Service-Oriented Analysis and Design, June 2004 Web-сайт IBM developerWorks: http://www-128.ibm.com/developerworks/webservices/library/ws-soad1/ .

    Место, которое занимают OOAD, EA и BPM, эти авторы описывают так, как показано на рис. 3.2.

    (рис 3.2) Позиционирование BPM, EA и OOAD (Zimmerman et al., Service-Oriented Analysis and Design)

    Этими методами занимаются разные люди. EA – это сфера деятельности архитекторов предприятия, решений и инфраструктуры; BPM – бизнес-аналитиков, а OOAD – ИТ-специалистов или прикладных программистов. Сервис-ориентированное моделирование требует интеграции работы всех этих специалистов плюс расширения средств UML-моделирования таким образом, чтобы можно было работать с артефактами сервис-ориентированной архитектуры, в частности:

  • со службами (WSDL);
  • оркестровкой служб (BPEL);
  • сервисной шиной (ESB);
  • шаблонами служб.
  • Идея упомянутых авторов состоит в том, что каждый из процессов, OOAD, EA и BPM, предлагает некоторые из элементов, необходимых для построения сервис-ориентированной архитектуры. Однако по отдельности их недостаточно. Методы необходимо интегрировать. В результате в разработке программного обеспечения у нас получается такая же изоляция по подразделениям, как и при его использовании. Поверните схему на 90 $$\deg$$, и вы увидите сходство!

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

    3.1.3 Платформа разработки программного обеспечения от IBM

    IBM рассматривает разработку программного обеспечения как стратегический бизнес-процесс. Разработка выигрывает от горизонтальной интеграции как любой другой бизнес-процесс. IBM основывает свои инструменты разработки программного обеспечения на общей платформе разработки (software development platform, SDP), поддерживая тем самым концепцию того, что разработка – это бизнес-процесс, такой же, как цепь поставки или управление связями с заказчиками (рис. 3.3 )Alan Brown, Realizing the IBM Software development platform, April 2004: http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/SDP_WP_Final.pdf , целью которого является поддержка преобразования бизнеса в ходе интеграции и автоматизации горизонтальных бизнес-процессов.

    (рис 3.3) Разработка программного обеспечения: стратегический бизнес-процесс

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

    Платформа разработки программного обеспечения от IBM преследует следующие цели:

  • соединить нужды бизнеса с ИТ-решениями;
  • создать команды специалистов-практиков;
  • обеспечить полную видимость, снижение затрат и управление рисками.
  • Соединение нужд бизнеса с ИТ-решениями

    Моделирование бизнес-процессов, моделирование информации и Rational Unified Process $$\text{\textregistered}$$ являются основными средствами соединения нужд бизнеса с ИТ-решениями.

    Мы уделим основное внимание использованию моделирования бизнес-процессов для соединения нужд бизнеса с ИТ-решением в сценарии работы с внешними оценщиками.

    Создание команд специалистов-практиков

    Программная платформа Eclipse в сочетании с каркасом Eclipse Modeling Framework (EMF) являются ключевыми технологиями SDP, позволяющими командам практиков совместно работать над общей моделью решения, основанной на UML2 (рис. 3.4).

    (рис 3.4) Платформа разработки программного обеспечения (Alan Brown в упомянутой работе)

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

    Все используемые нами инструменты работают на платформе Eclipse и имеют общие характеристики. В частности, мы сконцентрируемся на следующих интеграционных задачах:

  • Соединение модели бизнес-процесса, созданной бизнес-аналитиком в WebSphere Business Integration Modeler, с архитектурой, созданной архитектором решения в Rational Software Architect. WebSphere Business Integration Modeler и Rational Software Architect недавно были интегрированы друг с другом на основе UML2 и метода доступа к общей бизнес- моделиСм. прил. "B", "Вопросы интеграции", где приводится подробная информация..
  • Специалист по интеграции IT-процессов создает исполняемый бизнес-процесс при помощи WebSphere Studio Application Development Integration Edition, применяя модель процесса из WebSphere Business Integration Modeler, и определения интерфейсов из Rational Software Architect.
  • Специалист по рабочим ИТ-потокам поддерживает FDL-процесс при помощи WebSphere MQ Workflow Buildtime. Этот специалист использует модель процесса из WebSphere Business Integration Modeler и WebSphere MQ Workflow и определения интерфейсов из Rational Software Architect.
  • Разработчик приложений перерабатывает приложения для обработки претензий, созданные в WebSphere Studio Application Developer, чтобы в них использовались Web-службы, применяя для этого WSDL-определения и Web-службы, а также UML-архитектуру, создаваемую архитектором решения.
  • ИТ-специалист по интеграции сервисной шины создает посреднические модули, которые размещаются на корпоративной сервисной шине при помощи WebSphere Business Integration Message Broker с применением WSDL и определений интерфейса схем, содержащихся в Rational Software Architect.
  • Полная видимость, снижение затрат и управление рисками

    Rational Unified Process (RUP $$\text{\texttrademark}$$ ) – это основной инструмент, обеспечивающий полную видимость, снижение затрат и управление рисками в ходе разработки программного обеспечения.

    В данном проекте мы не использовали RUP для определения процесса разработки и управления им, Requisite $$\text{\textregistered}$$ pro – для управления требованиями, ClearQuest $$\text{\textregistered}$$ и Clearcase – для управления требованиями или какие-либо другие инструменты тестирования и создания профилей производительности, входящие в платформу разработки программного обеспечения от Rational.

    3.2 Создание решения для работы с внешними оценщиками

    Подход, который использовался группой System House, разрабатывавшей решение для данного курса, основывался на методах, применяемых сервисными группами IBM в реальных проектах. Группа моделировала бизнес-процесс на семинарах по сбору требований, документировала имеющийся бизнес-процесс и определяла будущий бизнес-процесс. Затем модель из анализа бизнес-процесса была взята в качестве отправной точки для разработки, направляемой бизнесом, которая применялась для проектирования и реализации решения.

    Этот метод описывается в следующих разделах:

  • В разделе 3.2.1, "Роли и области ответственности", описываются все роли, занятые в построении решения.
  • В разделе 3.2.2, "Области ответственности и разработка по контрактам", описывается организация проекта и создаваемые продукты.
  • В разделе 3.2.3, "Сбор бизнес-требований на семинарах по моделированию", описывается польза семинаров в данном процессе.
  • В разделе 3.2.4, "Создание базовой архитектуры", показана модель постадийного преобразования детализованной архитектуры в дизайн, за которым следует разработка решения.
  • В разделе 3.2.5, "Многоуровневая модель активов Patterns for e-business", вы познакомитесь со стадиями модели Patterns for e-business, которые используются на первом этапе детализации архитектуры.
  • В разделе 3.2.6, "Процесс использования модели активов Patterns for e-business", предлагается более детальная информация о методе применения многоуровневой модели активов Patterns for e-business к решению по интеграции процессов.
  • В разделе 3.2.7, "Использование разработки, управляемой моделями", обсуждается, какую пользу применение разработки, управляемой моделями (MDD), принесет команде, разрабатывающей решение, при переходе от исходной модели бизнес-процесса к реализации.
  • В разделе 3.2.8, "Цепочки инструментов", описывается планирование MDD через понимание того, как инструменты, используемые разными ролями, участвующими в разработке, интегрируются в платформе разработки программного обеспечения.
  • 3.2.1 Роли и области ответственности

    Разработка решения для взаимодействия с внешними оценщиками – это групповая работа, в которой участвуют бизнес-кураторы и бизнес-аналитики, ИТ-архитекторы и специалисты, а также конечные пользователи. Обращайтесь к схеме бизнес-контекста (рис. 1.1). Понимание того, какие роли участвуют в разработке, важно по меньшей мере с двух точек зрения:

  • Устанавливается, кто будет отвечать за связь между бизнес-целями и ИТ-целями. Это важно, поскольку разработка программного обеспечения для бизнеса по требованию рассматривается как бизнес-функция, а не как чисто инженерная процедура.
  • Определяется, кто принадлежит к техническим специалистам, каковы будут их требования к платформе разработки программного обеспечения, кто из них будет зависеть от данных другого и какими артефактами нужно будет обмениваться через платформу разработки.
  • В разработке участвуют следующие роли:

  • Бизнес-куратор. Это руководитель, отвечающий за претензии по автострахованию. Этот человек должен иметь полномочия директорского уровня.

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

    Куратор будет лишь ограниченно привлекаться к повседневной разработке. Он будет использовать графические изображения бизнес-процесса и отчеты инструмента Modeler для создания презентаций с целью формулирования экономического обоснования и разъяснения предлагаемых изменений процесса для руководителей остальных отделов компании.

  • Представители пользователей.

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

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

  • Менеджер проекта.

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

    Менеджер проекта будет сотрудничать с бизнес-аналитиком и использовать отчеты инструмента Modeler для формирования задач и областей ответственности.

  • Ведущий семинаров.

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

    Ответственный за документирование семинаров будет использовать WebSphere Business Integration Modeler или Microsoft Visio $$\text{\textregistered}$$ для записи моделей процесса. Продвижение в создании модели процесса может записываться после каждого семинара. В качестве альтернативы, если это удовлетворит всех участников, более эффективной будет интерактивная работа с инструментом с использованием проектора или же общего экрана (при дистанционном семинаре).

  • Бизнес-аналитик и специалист по процессам.

    Бизнес-аналитик отвечает за бизнес-процессы, существующие в страховой компании LGI. Аналитик отвечает перед бизнес-куратором за достижение целей, поставленных для процесса автоматизации работы с оценщиками.

    Бизнес-аналитик выполняет следующие задачи:

  • консультирует по вопросам текущего состояния и будущих направлений бизнес-транзакций в их связи с бизнес-целями;
  • участвует в покупке решений;
  • тесно сотрудничает с архитектором решения при проектировании новых решений;
  • консультирует группу разработки на всем протяжении фазы разработки программного обеспечения по вопросам деталей требований и компромиссных решений в бизнесе;
  • тесно сотрудничает со специалистом по тестированию в процессе выработки плана проверки решения после создания тестовых сценариев;
  • при необходимости принимает участие в сертификации решений с точки зрения выполнения бизнес-целей и готовности к вводу в эксплуатацию;
  • определяет или изменяет бизнес-правила для существующих приложений;
  • документирует бизнес-процессы и отвечает за их совместимость с нормативными и произвольно установленными требованиями;
  • предоставляет для Web-сайтов данные с описаниями бизнес-процессов.
  • Бизнес-аналитик будет использовать WebSphere Business Integration Modeler. Он также будет использовать инструмент для создания и документирования процесса, определения измеряемых параметров, относящихся к целям, установленным для решения, и для эмуляции бизнес-процесса с целью проверки достижения поставленных целей.

  • ИТ-архитектор.
  • Архитектор решения:

    ИТ-архитектор решения отвечает за связь нового процесса работы с внешними оценщиками и ИТ-решения. ИТ-архитектор отвечает за перевод бизнес-целей решения в ИТ-цели (которые часто называют соглашениями об уровне обслуживания, Service-Level Agreements, SLA). Сюда входят показатели качества обслуживания, время ответа, стоимость, время разработки и, во все большей степени, связь производительности решения в целом с измеряемыми параметрами функционирования бизнеса, заданными бизнес-аналитиком.

    Архитектор решения выполняет следующие задачи:

  • проектирование нового решения, приложения или функции на основе указанных функциональных и нефункциональных требований;
  • определение интерфейса новых бизнес-служб;
  • написание проектных спецификаций приложения, включая четкие спецификации функциональных и нефункциональных требований;
  • изменение существующих служб в соответствии с новыми требованиями;
  • планирование обновлений решения и внедрения новых возможностей (приложений и продуктов);
  • определение ожидаемого поведения службы в смысле производительности, уровня обслуживания и удобства пользования;
  • определение последовательностей (потоков) задач для ввода в действие бизнес-службы;
  • использование аналитических инструментов для описания информации и потоков задач, например BPR-средств (Business Process Re-engineering, Переработка бизнес-процессов), таких, как Holosofx® или OOA-средств (Object Oriented Analysis, Объектно-ориентированный анализ), таких как Rational Rose®;
  • взаимодействие с людьми бизнеса для улучшения понимания конкретного бизнес-процесса или бизнес-требования;
  • взаимодействие с разработчиками приложений для интерпретации бизнес-требований в технических терминах.
  • Главный инструмент, который должен применять архитектор решения, – это Rational Software Modeler или Rational Software Architect, а не WebSphere Business Integration Modeler. Архитектор использует WebSphere Business Integration Modeler для понимания модели бизнес-процесса, применяя артефакты, общие с инструментами Rational.

  • Архитектор предприятия/инфраструктуры.

    Главной областью ответственности архитектора предприятия является определение стандартов для ИТ-инфраструктуры и стратегических ИТ-целей для бизнеса. Архитектор инфраструктуры отвечает за понимание стандартов и целей ИТ-инфраструктуры и за обеспечения соответствия новых решений этим стандартам и целям. Кроме этого, данный архитектор отвечает (хотя это и не входит в наш сценарий) за планирование пропускной способности, выполнение требований по времени ответа и уровню обслуживания, за обслуживание ИТ-инфраструктуры, отказоустойчивость, а также за резервное копирование и восстановление системы.

  • Архитектор данных.

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

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

  • Архитектор безопасности.

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

  • ИТ-специалисты.

    ИТ-архитектор может обращаться к ИТ-специалистам на ранних стадиях разработки с целью выяснения того, как работает существующая система. Если специалисты будут присутствовать на ранних семинарах по проектированию процесса, это будет полезно, поскольку они будут уточнять дизайн. Специалисты смогут проверить, имеет ли модель процесса достаточную детализацию, чтобы с ней можно было работать.

    Главной областью ответственности ИТ-специалистов является экспортирование модели процесса, созданной бизнес-аналитиком (BPEL), из WebSphere Business Integration Modeler, модели, созданной ИТ-архитектором (UML), из Rational Software Architect и реализация компонентов этих моделей с помощью продуктов, с которыми они работают.

  • (рис 3.5) Роли, участвующие в создании решения

    Разработчики приложений выполняют следующие задачи:

  • Разработка бизнес-служб в соответствии с моделью, созданной архитектором.
  • Принятие решений по конкретной реализации необходимых потоков задач (рабочих потоков, потоков сообщений и т. п.).
  • Написание EJB-компонентов, являющихся оболочками внутренних и внешних ресурсов, или реализация новых служб.
  • Создание потоков сообщений и наборов сообщений для реализации посредничества между службами.
  • Конфигурирование WebSphere MQ Workflow для выполнения кода FDL и интеграция его с ручными и автоматизированными задачами.
  • Преобразование кода BPEL из описания процесса в определение выполнения процесса и интеграция потока BPEL с ручными и автоматизированными задачами.
  • Модульное тестирование каждого компонента приложения на соответствие спецификациям, а также тестирование правильности работы и базовой производительности разработанных компонентов приложения.
  • Разработка пользовательских интерфейсов, EJB или сервлетных каркасов, чтобы созданные службы можно было применять в других решениях.

    У нас было четыре ИТ-специалиста. Мы объединили роли, связанные с разработкой и обслуживанием рабочей системы, поскольку основное внимание мы уделяем разработке, а единственная задача, относящаяся у нас к рабочей системе, – это ее размещение:

  • Специалист по WebSphere MQ Workflow.

    Специалист по WebSphere MQ Workflow отвечает за то, чтобы заставить новый (создаваемый) процесс обработки претензии, определенный бизнес-аналитиком, или существующий процесс обработки претензии, работающий в WebSphere MQ Workflow, вызывать новый подпроцесс работы с внешним оценщиком.

    Главным инструментом этого специалиста является WebSphere MQ Workflow Buildtime. Однако данный специалист также должен детализировать создаваемый процесс в WebSphere Business Integration Modeler и экспортировать FDL-код, чтобы с ним можно было работать в Workflow Buildtime.

  • Специалист по WebSphere Business Integration Message Broker и WebSphere MQ.

    Этот специалист отвечает за базовую инфраструктуру WebSphere MQ и предлагает потоки сообщений для соединения поставщиков и потребителей служб. Главными инструментами этого специалиста являются рабочая среда WebSphere Business Integration Message Broker и WebSphere MQ explorer.

  • Специалист по WebSphere Business Integration Server Foundation и Web-Sphere Studio Application Development Integration Edition.

    Этот специалист отвечает за реализацию нового BPEL-процесса работы с внешними оценщиками при помощи WebSphere Studio Application Development Integration Edition.

  • Специалист по WebSphere Application Server и WebSphere Studio Application Developer.

    Специалист по WebSphere Application Server отвечает за создание и размещение служб, используемых для автоматизации обработки претензий. Мы употребили для создания служб WebSphere Studio Application Development Integration Edition.

  • 3.2.2 Области ответственности и разработка по контрактам

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

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

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

    Мы выбрали подход, в котором бизнес-аналитик документирует бизнес-процесс с помощью WebSphere Business Integration Modeler и рассматривает модель как спецификацию для программирования. Архитектор и ИТ-специалисты могли произвольно использовать, дополнять и изменять модель в соответствии с целями реализации. Модель не является жестким и стабильным описанием работы процесса.

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

    На рис. 3.6 иллюстрируется три разных способа понимания взаимосвязи между бизнес-моделью и ИТ-моделью.

    (рис 3.6) Разные подходы к реализации бизнес-модели
  • Бизнес-аналитик разрабатывает модель процесса и экспортирует ее (на рисунке пункт А). ИТ-архитектор рассматривает модель процесса как спецификацию требований к процессу и может импортировать для помощи в разработке ИТ-модели всю модель, ее часть или вообще ничего не импортировать.
  • Бизнес-аналитик разрабатывает модель процесса и экспортирует ее (на рисунке пункт В). ИТ-архитектор импортирует модель, а затем продолжает разработку этой модели. Бизнес-аналитик может снова импортировать ИТ-модель, поскольку во всех случаях используется общий язык – BPEL, и принять ИТ-детализацию. Существует опасность, что ИТ-детализация сделает ключевые элементы модели непонятными для бизнес-аналитика.
  • При подходе С у нас есть общее представление бизнес-компонентов и процессов, над которым бизнес-аналитик и ИТ-архитектор работают вместе. Цель в том, чтобы найти разные абстракции одних и тех же бизнес-процессов и компонентов, подходящие для моделирования как бизнес-аналитику, так и ИТ-архитектору.
  • Это почти зрелая модель технологии моделирования автоматизированных бизнес-процессов. Пункт (А) соответствует обычно используемым графическим технологиям, от рисунков на клочках бумаги к Visio и к организованным инструментам моделирования бизнес-процессов, таким, как WebSphere Business Integration Modeler. Пункт (В) соответствует существующим инструментам, основанным на исполняемых языках процессов, таких, как BPEL, и отражает собой современный уровень технологии. Пункт (С), возможно, отражает путь, по которому технология пойдет дальше.

    Три контракта

    Мы идентифицировали три главные фазы разработки архитектуры на основе детализации модели решения (рис. 3.7). Это дало нам три контракта. Первая фаза рассматривается в лекции 4, "Бизнес-процесс", и представляет собой разработку модели бизнес-процесса. Такая бизнес-модель называется "моделью, независимой от вычислений" (Computationally Independent Model, CIM). Она пишется на BPEL, который служит языком описания процесса.

    (рис 3.7) Контракты между ролями, задействованными в реализации процесса
  • Бизнес-модель (CIM) формирует контракт между бизнес-аналитиком и архитектором решения, который отвечает за разработку архитектуры решения. Здесь мы определяем, какие части бизнес-модели наиболее подходят для программной автоматизации. Этот выбор согласовывается между тем, кто принимает решения, бизнес-аналитиком и ИТ-архитектором. При принятии решения учитывается стоимость, время ввода в эксплуатацию и стратегические цели (см. раздел 1.2, "Бизнес-цели").

    Разработка архитектуры описывается в лекции 5, "Архитектура системы", и в лекции 6, "Архитектура решения". Показывается, как архитектор решения включает бизнес-модель, созданную в WebSphere Business Integration Modeler, в платформо-независимую модель (platform independent model, PIM), разработанную в Rational Software Architect.

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

  • Модель PIM формирует контракт между архитектором решения и бизнес-аналитиком, который проверяет, реализует ли архитектура решения бизнес-модель.

    Архитектор с помощью ИT-специалистов и архитектора инфраструктуры переводит PIM в платформоспецифическую модель (platform specific model, PSM), используя технологии, имеющиеся в компании LGI. Переходу решения к PSM посвящен конец главы 5 и вся глава 6. Модель PSM должна быть утверждена архитектором ИТ-инфраструктуры и просмотрена ИТ-специалистами.

  • Модель PSM формирует контракт между архитектором решения, архитектором инфраструктуры и ИТ-специалистами, которые отвечают за разработку реализации решения.
  • 3.2.3 Сбор бизнес-требований на семинарах по моделированию

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

    Еще одно преимущество подхода с использованием семинаров состоит в том, что такой подход играет важную роль объединении всей команды, задействованной в руководстве проектом, в создании решения и в конечном счете в его применении. При этом создается работоспособное решение, и используются выгоды, которое оно дает. Существует ряд опасностей, возникающих, когда проблемы программных инженеров приобретают слишком большой вес при построении решения, и это хорошо описано в работе Алана Купера (Alan Cooper) "The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity"Издательство "Macmillan, 1999, ISBN 0-672-31649-8".. Раннее вовлечение в обсуждение всех, кого касается изменение бизнес-процесса, является ключом к успеху.

    Чтобы такое участие было эффективным, оно должно быть организовано и должно приниматься всеми представителями заинтересованных сторон. Существует ряд книг, специально посвященных переработке бизнес-процессов, в которых уделяется внимание сбору информации о существующем бизнес-процессе и выполнению задачи по его совершенствованию. Можно начать с книги серии Redbooks под названием "Continuous business process management", SG24-6590, которую можно найти по адресу http://www.redbooks.ibm.com/abstracts/sg246590.html?Open.

    В этой книге описывается один из методов разработки бизнес-процессов, специально ориентированный на платформу WebSphere версии 4.

    Разработка нового бизнес-процесса и его автоматизация – это лишь часть общей задачи по перестройке бизнеса. Разработка нового бизнес-процесса должна быть частью более обширной задачи реализации изменения. Модель процесса – это эффективный способ организации обсуждения бизнес-процесса с руководителями и пользователями бизнес-процессаСуществует очень хорошо описанный пример, предлагаемый Chris Booth из Strategic Thought в книге автора Charles Brett под названием "Five Axes of Business Application Integration". Этот пример основывается на работе с Criterion Assurance, и он показывает пользу применения моделей процесса на семинарах, посвященных требованиям, для общего успеха проекта..

    3.2.4 Создание базовой архитектуры

    Создание высокоуровневой архитектуры начинается с самых ранних стадий проектирования решения. Как показано в модели на рис. 3.8, спецификации архитектуры со временем переходят от исходных, самых высокоуровневых концептуальных представлений к детальным, специфическим представлениям физического уровня. Стадии, через которые мы проходили, пронумерованы цифрами от 1 до 4.

    (рис 3.8) Использование шаблонов и активов в жизненном цикле
  • Наш архитектурный процесс начинается с использования шаблонов для электронного бизнеса (Patterns for e-business) для создания базовой архитектуры. Шаблоны для электронного бизнеса очень полезны при создании высокоуровневой архитектуры. Ключевым свойством этих шаблонов является четко определенный процесс выбора шаблонов. Процесс выбора шаблонов ускоряет работу по проектированию и обеспечивает возможность проследить ход работы от бизнес-требований до принятия решений по архитектуре. Процесс выбора шаблона начинается с анализа небольшого числа архитектурно-значимых требований и движущих сил. Эта информация образовывает высокоуровневую топологию приложения и рабочей системы, удовлетворяющую нуждам бизнеса и интеграции. Использование метода Patterns for e-business описывается в следующем разделе и рассматривается в разделе 5.1, "Выбор архитектурных шаблонов".
  • Документирование базовой архитектуры с помощью UML с использованием Rational Software Architect. В базовой архитектуре определяются технологии, которые будут применяться, а также компоненты, которые будут создаваться и размещаться. Эта информация необходима для того, чтобы архитектор инфраструктуры мог планировать физическое размещение, а ИТ-специалисты могли определить, какие технологии нужно использовать для создания компонентов.
  • Третий этап – это анализ взаимодействий и интерфейсов с целью предоставления ИТ-специалистам UML-модели решения, WSDL-определений интерфейсов и BPEL-описаний бизнес-процесса. Мы выполним эту детализацию в лекции 6, "Архитектура решения".
  • Этапы, связанные с проектированием, реализуют ИТ-специалисты, и мы расскажем о них в следующих главах, посвященных реализации.
  • 3.2.5 Многоуровневая модель активов Patterns for e-business

    Значительная часть проектирования архитектуры выполняется с помощью много-уровневой модели активов Patterns for e-business.

    Шаблоны для электронного бизнеса (Patterns for e-business) позволяют архитекторам создавать успешно работающие решения для электронного бизнеса на основе повторного использования компонентов и элементов из зарекомендовавших себя решений. Данный подход основывается на наборе многоуровневых активов, который может применять любая существующая методология разработки. Эти активы организованы так, что каждый следующий уровень детализации строится на основе предыдущего. Эти активы включают в себя:

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

    (рис 3.9) Многоуровневая модель активов Patterns for e-business

    Web-сайт Patterns for e-business

    Web-сайт Patterns for e-business предоставляет простой способ навигации по многоуровневой модели активов с целью определения активов, наиболее подходящих для конкретной ситуации.

    За справками обращайтесь на сайт Patterns for e-business: http://www.ibm.com/developerWorks/patterns/

    3.2.6 Процесс использования модели активов Patterns for e-business

    Подход, который мы используем в главе 5, "Архитектура системы", при разработке решения для работы с внешними оценщиками, включает применение процесса выбора шаблонов Patterns for e-business (рис. 3.10).

    (рис 3.10) Процесс выбора шаблонов Patterns for e-business и многоуровневая модель активов

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

    Недавно был разработан метод на основе UML2 для применения процесса выбора шаблонов к шаблонам интеграции процессов.

    Принципы процесса

    На рис. 3.11 дается общий обзор подхода Process Integration Design Approach (PIDA)Подход PIDA был защищен патентом в бюро патентов Великобритании (GB920040072GB1 – METHOD AND APPARATUS FOR INTEGRATING ELECTRONIC SYSTEMS). См. также презентацию автора этого патента, Paul Verscheuren, "Business Integration Patterns", которую можно найти по адресу http://www-106.ibm.com/developerworks/patterns/library/w19.pdf . В этом подходе выделяется несколько характерных аспектов.

    (рис 3.11) Подход к разработке решений по интеграции процессов
  • Основное внимание в нем уделяется интеграционным аспектам архитектуры решения.
  • Он основывается на UML2 и в первую очередь связан с анализом кооперации (collaboration) и интеграции.
  • В нем особо подчеркиваются функциональные аспекты решения: что происходит, когда компоненты взаимодействуют друг с другом.
  • Очень много внимания уделяется использованию нефункциональных требований в процессе выбора компонентов.
  • Данный метод анализа можно применять итеративно и рекурсивно, с учетом того факта, что аспекты интеграции бывают простые и сложные, и это дает возможность итеративно разделять и перестраивать сценарий, связанный с интеграцией, до тех пор, пока он не станет понятным до достаточного уровня детализации. (Обратите внимание на символы, отражающие итерацию на рис. 3.11.)
  • Мы выбрали этот метод проектирования интеграции в силу ряда причин:

  • Команда ранее использовала Patterns for e-Business для проектирования архитектуры интеграции и сочла этот метод эффективным.
  • Метод UML-моделирования мы, напротив, посчитали сложным для применения к моделированию интеграции существующих решений. В литературе, как правило, основное внимание уделяется построению новых решений с разработкой компонентов и классов с нуля и существует очень мало практических руководств по использованию UML для моделирования добавления одной-двух возможностей в сложную систему. Сочетая применение Patterns for e-Business и UML, подход PIDA позволяет использовать UML для моделирования интеграции уже существующих сложных систем.
  • Кооперация и взаимодействие

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

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

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

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

    (рис 3.12) Фрактальное разделение взаимодействия

    Важный момент состоит в том, что представление вверху не менее правильно, чем представление внизу. Оба они отражают одну и ту же модель, но по-разному. Можно представить себе UML-редактор, способный переключаться между такими представлениями.

    Соответственно любая концепция, которую мы используем при поведенческом анализе таких систем, должна быть независимой от масштаба ; она должна работать независимо от того, обращаемся ли мы к очень большой системе или к любой из ее частей. Этот принцип лежит в основе описания архитектуры системы в модели, которую затем можно передать ИТ-специалистам для реализации, при полном сохранении той модели, которая была исходно создана архитектором.

    Важные термины

    Приведенные ниже концепции важны для понимания технологии Patterns for e-business.

    Кооперация (Collaboration) Под кооперацией понимается выполнение любого набора вычислительных операций, распределенных в определенном пространстве (компьютерной сети) и времени.
    Примечание. Выполнение кооперации управляется программными артефактами (программами, объектами и компонентами), но эти артефакты не являются кооперацией.
    Взаимодействие (Interaction) Взаимодействие – это кооперация, являющаяся результатом одной операции или события.
    Контекст (Context) Данные (включая данные о состоянии, программы и правила выполнения), связанные с кооперацией, образуют контекст.
    Качество обслуживания (Quality of Service) Кооперация может подчиняться набору требований качества обслуживания (QoS), которые ограничивают ее выполнение.
    Фрактал (Fractal) Кооперация является фракталом, если и разделение и объединение коопераций дают в результате кооперации.

    Проблемы существующей и будущей системы

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

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

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

    Качество обслуживания

    Разница между функциональными и нефункциональными требованиями в ИТ-методологии осознается уже давно. Однако термин "нефункциональные" не слишком хорош, поскольку имеет негативный оттенок (он относится к тем требованиям, которые нельзя определить в виде конкретной бизнес-функции). Фактически нефункциональные требования часто в значительной мере определяют выбор конкретной рабочей среды и продуктов и влияют на топологию системы. Характерной особенностью этих требований является то, что они охватывают всю систему. Они обычно связываются с совокупными показателями, а не с какими-то конкретными взаимодействиями, их часто можно изменить в глобальных статистических показателях, и они отражают общее качество, а не бинарные свойства (да/нет). Поэтому вместо термина "нефункциональные свойства" появился термин "качество обслуживания".

    Критерий QoS: управление

    Из-за своей очевидности такая характеристика QoS, как управление, часто недооценивается. Управление определяет, как система формируется из частей в различных областях внутри компании и за ее пределами. Управление оказывает существенное влияние на дизайн со многих точек зрения. Оно влияет не только на компонентизацию (система редко состоит из одного компонента, находящегося в общем пользовании разных областей), но также существенно влияет на выбор технологии, определяя, какие части можно менять вместе при выпуске новой версии решения и какие части должны существовать вместе в разных версиях.

    Выявление функциональных требований

    Что касается функциональных требований, то они определяются прецедентами использования (Use Case) на уровне дизайна системы. Прецеденты использования описывают желательное поведение системы, которое выражается на уровне бизнеса через бизнес-сценарии и бизнес-процессы. В контексте интеграции процессов функциональное содержание в первую очередь выражается связями-взаимодействиями, которые, в свою очередь, определяют топологию системы. Так что мы можем назвать функциональные требования топологическими требованиями.

    Итак, существует два типа требований к системе:

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

    Рабочие продукты и метод работы

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

    Мы не предполагаем, что рабочие продукты и метод, которые мы здесь описываем, будут использоваться как процесс, которому необходимо следовать. Идея, лежащая в основе такого подхода, состоит в том, что этот подход включается в вашу конкретную методологию и информирует вас о том, как на практике следует выполнять различные задачи, например выбор подходящего шаблона для электронного бизнеса, если вы используете дизайн на основе Patterns for e-business. Мы применяем данный подход в контексте применения многоуровневой модели активов Patterns for e-businessСуществует ряд внутренних исследований IBM, в которых показывается, как данный подход работает в сочетании с IBM Global Services Method, с Rational Unified Process (RUP) и с методами корпоративной архитектуры (EA), такими, как Technical e-Business Architecture Method (TeAM). Обращайтесь по адресу swithers@uk.ibm.com .

    Данный метод включает в себя следующие задачи:

  • Определение границ решения в терминах, описывающих возможности, поведение и технические аспекты:
  • определить целевой контекст (состояние), который мы хотим получить в будущем;
  • определить текущий контекст (состояние), которое мы имеем сегодня.
  • Уделить внимание кооперациям в том контексте, в котором они возникают. Главная задача интеграции процессов состоит в том, чтобы перераспределить кооперации в новом контексте, а не создавать новые.
  • Использовать фрактальную природу модели в процессе детализации:
  • Изучать взаимосвязи между компонентами. Чтобы рассмотреть их более подробно, разделите компонент на составляющие и изучите связи между составляющими. Сам компонент при этом является "черным ящиком".
  • Границы между компонентами, т. е. интерфейсы, являются наиболее важным аспектом, информация о котором передается из одной стадии детализации в другую. Архитектор отвечает за определение уровня детализации и решает, что следует передавать ИТ-специалисту или разработчику приложений для дальнейшей детализации.
  • Передача такой информации формирует контракт, соответствующий понятию "проектирование по контракту".
  • В соответствии с таким понимание природы проблемы работу архитектора следует организовать согласно простому шаблону, называемому Distribute-Recurse-Converge (Разделение-возврат-слияние):
  • Начните с двух схем – текущего и будущего контекста.
  • Разделение. Применяйте к системе различные сценарии и прецеденты использования, чтобы выявить необходимые кооперации:
  • создайте список коопераций для дальнейшего анализа;
  • определите общую топологию решения.
  • Возврат. Проанализируйте каждую кооперацию до взаимодействий. Кооперации первого уровня будут превращаться в более детальные кооперации до тех пор, пока мы не доберемся до единичных событий – взаимодействий.
  • На каждом уровне анализа добавьте требования QoS к каждой кооперации.
  • Слияние. Сведите вместе разные ветви анализа, убедитесь, что они совместимы и что получающаяся система хорошо сбалансирована в плане удовлетворения разных требований.
  • Фрактальное мышление

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

    Такая проверка на реалистичность должна также присутствовать для того, чтобы принимать во внимание существующие компоненты ("черные ящики"). Еще одним граничным условием является учет доступных для нас продуктов. Не откладывайте на самый конец анализа проверку того, можно ли объединить в целое изученные вами кооперации.

    Короче говоря, фрактальное мышление стимулирует нас принимать во внимание все аспекты на всех уровнях анализа сразу.

    Решения, принимаемые на разных уровнях

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

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

  • известны все значимые элементы;
  • проявились все внешние ограничения, влияющие на решение.
  • Решения принимаются на том уровне анализа, на котором они могут быть полностью оправданы. Этими уровнями могут быть:

  • очень ранняя стадия, например если заказчик выбрал для построения интеграции WebSphere Application Server;
  • верхний уровень коопераций, например если бизнес требует двух разных режимов работы – прямого доступа клиентов и пакетных заданий;
  • в момент выбора продуктов, например если мы не можем использовать продукт Х из-за того, что требуются компенсаторные транзакции;
  • это может быть даже стадия окончательного слияния, например если мы должны использовать кластеры для обеспечения выполнения требований по высокой доступности системы.
  • Метод с проведением семинаров и разработкой по контракту вполне поддерживает применение данного подхода.

    3.2.7 Использование разработки, управляемой моделями

    Примечание. В этом и следующем разделе мы ссылаемся на книгу серии IBM Redbooks под названием "Patterns: Model-Driven Development Using IBM Rational Software Architect", SG24-7105Имеется русский перевод этой книги – "Шаблоны: управляемая моделями разработка в среде IBM Rational Software Architect". М., 2006 г. Примеч. пер .: http://www.redbooks.ibm.com/redbooks.nsf/RedbookAbstracts/sg247105.html?OpenS_TACT=105AGX46S_CMP=SPLT

    Использование средств моделирования и работы с метаданными для продвижения по стадиям архитектурной детализации и для управления сложностью разработки программного обеспечения являются одним из аспектов разработки, управляемой моделями (Model Driven Development, MDD)Сравните с методом, который мы использовали для сценария работы с внешними оценщиками, описанном в серии статей "On demand business process life cycle: Build reusable assets to transform an order processing system", которую можно найти по адресу http://www-128.ibm.com/developerworks/webservices/library/ws-odbpsum.html . В недавно вышедшей книге серии Redbooks разработка, управляемая моделями, определяется следующим образомВзято из главы "MDD and Patterns Overview", написанной Tracy Gardner, которую можно найти по адресу http://www.redbooks.ibm.com/redbooks.nsf/RedbookAbstracts/sg247105.html?OpenS_TACT=105AGX46S_CMP=SPLT. Следующий раздел о преимуществах MDD также оттуда. стиль разработки программного обеспечения, при котором главными артефактами являются модели, а не код.

    MDD – это подход, при котором:

  • основное внимание при разработке новых программных компонентов уделяется моделям, ориентированным на прикладную область, а не коду или другим артефактам, связанным с платформой;
  • модели используются не как наброски или чертежи, но как основные артефакты, по которым можно сгенерировать работающую реализацию.
  • MDD предлагает подход, при котором бизнес-аналитик может зафиксировать биз- нес-процессы в модели, независимой от вычислений (Computation Independent Model, CIM). ИТ-архитектор создает модель, независимую от платформы (Platform Independent Model, PIM), а затем, в сотрудничестве с ИТ-специалистом, модель, специфичную для платформы (PSM). Модель PSM превращается разработчиками в код. Различные стадии являются инкрементными и итеративными и показаны на рис. 3.13.

    (рис 3.13) Архитектура, управляемая моделями

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

    Артефакты, создаваемые на каждом этапе, должны быть определены командой разработки с использованием модели процесса, например Rational Unified Process (RUP). Хотя в данном курсе основное внимание уделяется области разработки, не менее важны и другие области – тестирование, удобство использования и управления системой, а также вопрос внедрения решения в пользовательское сообщество. Должно ли решение продаваться, предлагаться как часть обслуживания или как часть специальной разработки в пределах конкретного предприятия? Люди, работающие над этими аспектами, должны постоянно участвовать в процессе разработки, чтобы разработка, тестирование и удобство использования находились в связи с наиболее важными аспектами решения.

    Основные преимущества, которые дает тщательное следование подходу MDD, следующие:

  • Повышение производительности.

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

  • Адаптируемость.

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

  • Согласованность.

    MDD способствует тому, чтобы артефакты генерировались согласованно.

  • Повторяемость.

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

  • Совершенствование общения с заинтересованными сторонами.

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

  • Совершенствование общения при проектировании.

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

  • Фиксация опыта.

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

  • Модели как долгоживущие активы.

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

  • Возможность отсрочки технологических решений.

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

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

    3.2.8 Цепочки инструментов

    Разработка, управляемая моделями? – это подход к разработке, при котором главными артефактами являются модели (а не программы). Модели могут поэтапно трансформироваться, пока не будет создан базовый код. На рис. 3.14 показан пример трансформации PIM в PSM от Object Management Group (OMG).

    (рис 3.14) Трансформация моделей

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

  • Теряется ли информация?
  • Интерпретируется ли модель по-другому?
  • Может ли модель передаваться от инструмента к инструменту в любом направлении или существуют ограничения, вносимые в модель, которые препятствуют ее повторному импорту, например в WebSphere Business Integration Modeler?
  • Идеалом является создание двунаправленной метамодели. Пример может выглядеть так:

  • Создание модели процесса в WebSphere Business Integration Modeler.
  • Импортирование модели в WebSphere Studio Application Development Integration Edition для реализации модели процесса, в ходе которой будут внесены изменения, включающие:
  • переименования;
  • побавление новых элементов;
  • изменение маршрутизации соединений;
  • изменение существующих элементов.
  • Повторный импорт в WebSphere Business Integration Modeler, включающий:
  • сравнение с исходной моделью;
  • повторное выполнение эмуляции;
  • изменение новой модели и повторное выполнение разработки.
  • В настоящее время имеющаяся цепочка инструментов поддерживает только однонаправленный (или каскадный) подход к MDD. Обращение модели процесса – дело будущего. Так что при принятии решения о том, как использовать эти инструменты, важно принимать во внимание, что после того, как модель была экспортирована из одного инструмента в другой, внесение изменений в вышестоящий инструмент будет требовать больше времени и средств. Изменения, внесенные в вышестоящий инструмент, также должны вручную быть переработаны в нижестоящих инструментахТехнология, решающая эту проблему, называется трансформацией моделей..

    Это одна из причин, по которым вас следует четко понимать области ответственности и рабочие продукты всех ролей, задействованных в процессе разработки. Мы предлагаем контрактную модель как хороший способ управления взаимодействиями между бизнес-аналитиком и ИТ-архитектором и между ИТ-архитектором и ИТ-специалистами (см. рис. 3.7).

    На рис. 3.15 показана цепочка инструментов, на которой мы основывали нашу разработку. Бизнес-процесс фиксируется в инструменте для бизнес-моделирования бизнес-аналитиками. Эта модель используется двумя способами (см. пункт А на рис. 3.15). Она применяется для генерации определений процессов для оркестровки рабочих потоков, а также для моделирования архитектуры решения. Модель архитектуры решения содержит шаблоны, интерфейсы, модель размещения и схемы последовательностей. В оркестровке рабочих потоков процесс и архитектура рабочих потоков объединяются с последовательностью, потоками и выбранными сообщениями. Архитектурные модели и оркестровка рабочих потоков используются инструментами создания кода. На рис. 3.16 показана цепочка инструментов, которую мы применяли в этом курсе.

    (рис 3.16) Цепочка инструментов(рис 3.15) Цепочка инструментов, использованная в данном курсе

    Используемая нами цепочка инструментов не имеет возможности для автоматического включения в модель шаблонов Patterns for e-business. Мы применили инструменты с Web-сайта Patterns for e-business для выбора шаблонов, которые потом перенесли в Microsoft Visio. После того как мы согласовали шаблоны, мы перенесли получившуюся схему размещения в Rational Software Architect.

    Ниже приводится суммарный список использованных нами инструментов.

  • Бизнес-процесс был разработан при помощи WBI Modeler.WBI Modeler.
  • Существующие системы, такие, как Assessor Management System (Система управления оценщиками) и Document Handler (Обработчик документов), были разработаны в WebSphere Studio Application Developer.
  • ESB-службы, такие, как служба рассылки оценщикам запросов о готовности к работе, были разработаны с помощью WebSphere Business Integration Message Broker Workbench.
  • Рабочие потоки на FDL были импортированы в WebSphere Business Integration Modeler из WebSphere MQ Workflow Buildtime.
  • Для создания архитектуры системы и решения использовался Rational Software Architect. Для целей нашего проекта Rational Software Architect дает следующие преимущества:
  • в нем есть возможность указывать артефакты, которые были разработаны в Business Integration Modeler для создания архитектуры систем;
  • он может импортировать существующие приложения из WebSphere Studio Application Developer в качестве входных данных для разработки новой архитектуры.
  • На основе входных данных, полученных из WebSphere Business Integration Modeler и интерфейсов имеющихся реализаций, Rational Software Architect позволяет архитектору создать интерфейсы для всех приложений, схемы классов для различных компонентов, схему последовательностей и схему размещения.

    Главные артефакты, которыми архитекторы обмениваются с инструментами ИТ-специалистов, является код BPEL, FDL и WSDL. Эти спецификации интерфейсов являются входными данными для инструментов программистов. Мы использовали Web-Sphere Studio Application Developer, WebSphere Studio Application Development Integration Edition, WebSphere MQ Workflow build time и WebSphere Business Integration Message Broker workbench. Выбор инструмента зависит от того, на какой рабочей платформе ИТ-специалист будет выполнять размещение.

    3.3 Заключение

    В этой лекции описан подход, который мы применяли при разработке и интеграции нового процесса работы с внешними оценщиками с существующим процессом обработки претензий и существующей ИТ-архитектурой.

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

    Страницы:

    Одной из наших целей, обозначенных в разделе 1.3, "Цели и ограничения, связанные с информационными технологиями", является повышение производительности разработки при использовании современных инструментов и технологий. Новая система реализует сервис-ориентированную архитектуру (Service-Oriented Architecture, SOA), основанную на Web-службах. Будет вестись разработка, направляемая моделями (Model Driven Development, MDD), и будут использоваться технологии на основе открытых стандартов, такие, как J2EE, BPEL и UML2. Проект разработки будет справочником по использованию этих технологий в будущем и будет показывать, как добиться увеличения производительности.

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

    3.1 Организация бизнеса, работающего по требованию

    Что такое бизнес по требованию (On Demand Business)? IBM определяет его как бизнес, руководители которого могут видеть свою компанию и управлять ею как единым целым. Это означает, что все отрасли бизнеса должны задействовать друг друга в ходе динамических преобразований ранее изолированных операций, проводимых отдельными подразделениями, в цельный интегрированный бизнес-процесс, охватывающий всю компанию, а также клиентов за ее пределами.

    Бизнес по требованию имеет четыре наиболее существенные характеристики:

  • готовность к ответу – интуитивная готовность к динамическим, непредсказуемым изменениям в требованиях, поставках, ценовой политике, трудовых ресурсах и конкурентной борьбе;
  • изменчивость – гибкость при адаптации к меняющейся структуре издержек и процессам, связанным с производительностью, капиталами и финансированием;
  • акцентированность – фокусировка на основной специализации, дифференцированных задачах и активах при тесной интеграции со стратегическими партнерами;
  • устойчивость – способность справляться с изменениями и угрозами при обеспечении должной доступности и безопасности.
  • За дополнительной информацией о бизнесе по требованию обращайтесь на сайт http://www-306.ibm.com/e-business/ondemand/us/overview/overview.shtml

    Компания LGI преобразует себя в бизнес по требованию следующим образом:

    Преобразуя свою ИТ-инфраструктуру в инфраструктуру на основе открытых стандартов, что делает LGI более гибкой и готовой к ответу на изменение нужд бизнеса.

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

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

    3.1.1 Операционная среда, работающая по требованию

    Операционная среда, работающая по требованию, имеет две цели – упрощение работы с ИТ и повышение гибкости бизнеса. Она представляет собой набор средств управления интеграцией и инфраструктурой, который на модульной и инкрементной основе может использоваться клиентами и партнерами для обеспечения перехода к бизнесу по требованию. Эта среда состоит из двух частей – управление инфра-структурой и управление интеграцией, которые решают задачи упрощения работы с ИТ и повышения гибкости бизнеса. Обращайтесь к книге серии IBM Redbook под названием "On Demand Operating Environment: Creating Business Flexibility", SG24-6633, где предлагается план работ по обеспечению гибкости бизнеса в операционной среде, работающей по требованию.

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

    (рис 3.1) Операционная среда по требованию

    В решении для работы с внешними оценщиками компания LGI использует бизнес-моделирование (Business Modeling), трансформацию процессов (Process Transformation) и интеграцию приложений (Application Integration). В будущем LGI планирует применять управление бизнес-процессами (Business Process Management) для наблюдения за повседневными операциями и анализа производительности процесса. В операционной среде по требованию эти возможности реализованы с использованием сервис-ориентированной архитектуры (Service Oriented Architecture, SOA). SOA связана с упрощением операционной среды, поскольку облегчается использование сочетаний разных возможностей и установление соответствий между ними, а также с предоставлением интегрированной среды разработки программного обеспечения для создания решенийMike Perrow, "Building the On Demand Business: Four Imperatives for Improved Software Development", http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/imperatives-04.pdf из служб при помощи сервис-ориентированного моделированияAli Arsanjani, "Service-oriented modeling and architecture", http://www-128.ibm.com/developerworks/webservices/library/ws-soa-design1/ .

    3.1.2 Сервис-ориентированное моделирование

    Интерес к сервис-ориентированному моделированию возрастает в связи с пониманием того, что существующие процессы разработки и нотации, такие, как объектно-ориентированный анализ и проектирование (Object-Oriented Analysis and Design, OOAD), корпоративная архитектура (Enterprise Architecture, EA) и моделирование бизнес-процессов (Business Process Modeling, BPM), лишь частично охватывают архитектурные шаблоны, возникающие сегодня под эгидой SOA. Таким образом, необходим улучшенный междисциплинарный подход к моделированию службOlaf Zimmermann, Pal Krogdahl, Clive Gee, Elements of Service-Oriented Analysis and Design, June 2004 Web-сайт IBM developerWorks: http://www-128.ibm.com/developerworks/webservices/library/ws-soad1/ .

    Место, которое занимают OOAD, EA и BPM, эти авторы описывают так, как показано на рис. 3.2.

    (рис 3.2) Позиционирование BPM, EA и OOAD (Zimmerman et al., Service-Oriented Analysis and Design)

    Этими методами занимаются разные люди. EA – это сфера деятельности архитекторов предприятия, решений и инфраструктуры; BPM – бизнес-аналитиков, а OOAD – ИТ-специалистов или прикладных программистов. Сервис-ориентированное моделирование требует интеграции работы всех этих специалистов плюс расширения средств UML-моделирования таким образом, чтобы можно было работать с артефактами сервис-ориентированной архитектуры, в частности:

  • со службами (WSDL);
  • оркестровкой служб (BPEL);
  • сервисной шиной (ESB);
  • шаблонами служб.
  • Идея упомянутых авторов состоит в том, что каждый из процессов, OOAD, EA и BPM, предлагает некоторые из элементов, необходимых для построения сервис-ориентированной архитектуры. Однако по отдельности их недостаточно. Методы необходимо интегрировать. В результате в разработке программного обеспечения у нас получается такая же изоляция по подразделениям, как и при его использовании. Поверните схему на 90 $$\deg$$, и вы увидите сходство!

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

    3.1.3 Платформа разработки программного обеспечения от IBM

    IBM рассматривает разработку программного обеспечения как стратегический бизнес-процесс. Разработка выигрывает от горизонтальной интеграции как любой другой бизнес-процесс. IBM основывает свои инструменты разработки программного обеспечения на общей платформе разработки (software development platform, SDP), поддерживая тем самым концепцию того, что разработка – это бизнес-процесс, такой же, как цепь поставки или управление связями с заказчиками (рис. 3.3 )Alan Brown, Realizing the IBM Software development platform, April 2004: http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/SDP_WP_Final.pdf , целью которого является поддержка преобразования бизнеса в ходе интеграции и автоматизации горизонтальных бизнес-процессов.

    (рис 3.3) Разработка программного обеспечения: стратегический бизнес-процесс

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

    Платформа разработки программного обеспечения от IBM преследует следующие цели:

  • соединить нужды бизнеса с ИТ-решениями;
  • создать команды специалистов-практиков;
  • обеспечить полную видимость, снижение затрат и управление рисками.
  • Соединение нужд бизнеса с ИТ-решениями

    Моделирование бизнес-процессов, моделирование информации и Rational Unified Process $$\text{\textregistered}$$ являются основными средствами соединения нужд бизнеса с ИТ-решениями.

    Мы уделим основное внимание использованию моделирования бизнес-процессов для соединения нужд бизнеса с ИТ-решением в сценарии работы с внешними оценщиками.

    Создание команд специалистов-практиков

    Программная платформа Eclipse в сочетании с каркасом Eclipse Modeling Framework (EMF) являются ключевыми технологиями SDP, позволяющими командам практиков совместно работать над общей моделью решения, основанной на UML2 (рис. 3.4).

    (рис 3.4) Платформа разработки программного обеспечения (Alan Brown в упомянутой работе)

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

    Все используемые нами инструменты работают на платформе Eclipse и имеют общие характеристики. В частности, мы сконцентрируемся на следующих интеграционных задачах:

  • Соединение модели бизнес-процесса, созданной бизнес-аналитиком в WebSphere Business Integration Modeler, с архитектурой, созданной архитектором решения в Rational Software Architect. WebSphere Business Integration Modeler и Rational Software Architect недавно были интегрированы друг с другом на основе UML2 и метода доступа к общей бизнес- моделиСм. прил. "B", "Вопросы интеграции", где приводится подробная информация..
  • Специалист по интеграции IT-процессов создает исполняемый бизнес-процесс при помощи WebSphere Studio Application Development Integration Edition, применяя модель процесса из WebSphere Business Integration Modeler, и определения интерфейсов из Rational Software Architect.
  • Специалист по рабочим ИТ-потокам поддерживает FDL-процесс при помощи WebSphere MQ Workflow Buildtime. Этот специалист использует модель процесса из WebSphere Business Integration Modeler и WebSphere MQ Workflow и определения интерфейсов из Rational Software Architect.
  • Разработчик приложений перерабатывает приложения для обработки претензий, созданные в WebSphere Studio Application Developer, чтобы в них использовались Web-службы, применяя для этого WSDL-определения и Web-службы, а также UML-архитектуру, создаваемую архитектором решения.
  • ИТ-специалист по интеграции сервисной шины создает посреднические модули, которые размещаются на корпоративной сервисной шине при помощи WebSphere Business Integration Message Broker с применением WSDL и определений интерфейса схем, содержащихся в Rational Software Architect.
  • Полная видимость, снижение затрат и управление рисками

    Rational Unified Process (RUP $$\text{\texttrademark}$$ ) – это основной инструмент, обеспечивающий полную видимость, снижение затрат и управление рисками в ходе разработки программного обеспечения.

    В данном проекте мы не использовали RUP для определения процесса разработки и управления им, Requisite $$\text{\textregistered}$$ pro – для управления требованиями, ClearQuest $$\text{\textregistered}$$ и Clearcase – для управления требованиями или какие-либо другие инструменты тестирования и создания профилей производительности, входящие в платформу разработки программного обеспечения от Rational.

    3.2 Создание решения для работы с внешними оценщиками

    Подход, который использовался группой System House, разрабатывавшей решение для данного курса, основывался на методах, применяемых сервисными группами IBM в реальных проектах. Группа моделировала бизнес-процесс на семинарах по сбору требований, документировала имеющийся бизнес-процесс и определяла будущий бизнес-процесс. Затем модель из анализа бизнес-процесса была взята в качестве отправной точки для разработки, направляемой бизнесом, которая применялась для проектирования и реализации решения.

    Этот метод описывается в следующих разделах:

  • В разделе 3.2.1, "Роли и области ответственности", описываются все роли, занятые в построении решения.
  • В разделе 3.2.2, "Области ответственности и разработка по контрактам", описывается организация проекта и создаваемые продукты.
  • В разделе 3.2.3, "Сбор бизнес-требований на семинарах по моделированию", описывается польза семинаров в данном процессе.
  • В разделе 3.2.4, "Создание базовой архитектуры", показана модель постадийного преобразования детализованной архитектуры в дизайн, за которым следует разработка решения.
  • В разделе 3.2.5, "Многоуровневая модель активов Patterns for e-business", вы познакомитесь со стадиями модели Patterns for e-business, которые используются на первом этапе детализации архитектуры.
  • В разделе 3.2.6, "Процесс использования модели активов Patterns for e-business", предлагается более детальная информация о методе применения многоуровневой модели активов Patterns for e-business к решению по интеграции процессов.
  • В разделе 3.2.7, "Использование разработки, управляемой моделями", обсуждается, какую пользу применение разработки, управляемой моделями (MDD), принесет команде, разрабатывающей решение, при переходе от исходной модели бизнес-процесса к реализации.
  • В разделе 3.2.8, "Цепочки инструментов", описывается планирование MDD через понимание того, как инструменты, используемые разными ролями, участвующими в разработке, интегрируются в платформе разработки программного обеспечения.
  • 3.2.1 Роли и области ответственности

    Разработка решения для взаимодействия с внешними оценщиками – это групповая работа, в которой участвуют бизнес-кураторы и бизнес-аналитики, ИТ-архитекторы и специалисты, а также конечные пользователи. Обращайтесь к схеме бизнес-контекста (рис. 1.1). Понимание того, какие роли участвуют в разработке, важно по меньшей мере с двух точек зрения:

  • Устанавливается, кто будет отвечать за связь между бизнес-целями и ИТ-целями. Это важно, поскольку разработка программного обеспечения для бизнеса по требованию рассматривается как бизнес-функция, а не как чисто инженерная процедура.
  • Определяется, кто принадлежит к техническим специалистам, каковы будут их требования к платформе разработки программного обеспечения, кто из них будет зависеть от данных другого и какими артефактами нужно будет обмениваться через платформу разработки.
  • В разработке участвуют следующие роли:

  • Бизнес-куратор. Это руководитель, отвечающий за претензии по автострахованию. Этот человек должен иметь полномочия директорского уровня.

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

    Куратор будет лишь ограниченно привлекаться к повседневной разработке. Он будет использовать графические изображения бизнес-процесса и отчеты инструмента Modeler для создания презентаций с целью формулирования экономического обоснования и разъяснения предлагаемых изменений процесса для руководителей остальных отделов компании.

  • Представители пользователей.

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

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

  • Менеджер проекта.

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

    Менеджер проекта будет сотрудничать с бизнес-аналитиком и использовать отчеты инструмента Modeler для формирования задач и областей ответственности.

  • Ведущий семинаров.

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

    Ответственный за документирование семинаров будет использовать WebSphere Business Integration Modeler или Microsoft Visio $$\text{\textregistered}$$ для записи моделей процесса. Продвижение в создании модели процесса может записываться после каждого семинара. В качестве альтернативы, если это удовлетворит всех участников, более эффективной будет интерактивная работа с инструментом с использованием проектора или же общего экрана (при дистанционном семинаре).

  • Бизнес-аналитик и специалист по процессам.

    Бизнес-аналитик отвечает за бизнес-процессы, существующие в страховой компании LGI. Аналитик отвечает перед бизнес-куратором за достижение целей, поставленных для процесса автоматизации работы с оценщиками.

    Бизнес-аналитик выполняет следующие задачи:

  • консультирует по вопросам текущего состояния и будущих направлений бизнес-транзакций в их связи с бизнес-целями;
  • участвует в покупке решений;
  • тесно сотрудничает с архитектором решения при проектировании новых решений;
  • консультирует группу разработки на всем протяжении фазы разработки программного обеспечения по вопросам деталей требований и компромиссных решений в бизнесе;
  • тесно сотрудничает со специалистом по тестированию в процессе выработки плана проверки решения после создания тестовых сценариев;
  • при необходимости принимает участие в сертификации решений с точки зрения выполнения бизнес-целей и готовности к вводу в эксплуатацию;
  • определяет или изменяет бизнес-правила для существующих приложений;
  • документирует бизнес-процессы и отвечает за их совместимость с нормативными и произвольно установленными требованиями;
  • предоставляет для Web-сайтов данные с описаниями бизнес-процессов.
  • Бизнес-аналитик будет использовать WebSphere Business Integration Modeler. Он также будет использовать инструмент для создания и документирования процесса, определения измеряемых параметров, относящихся к целям, установленным для решения, и для эмуляции бизнес-процесса с целью проверки достижения поставленных целей.

  • ИТ-архитектор.
  • Архитектор решения:

    ИТ-архитектор решения отвечает за связь нового процесса работы с внешними оценщиками и ИТ-решения. ИТ-архитектор отвечает за перевод бизнес-целей решения в ИТ-цели (которые часто называют соглашениями об уровне обслуживания, Service-Level Agreements, SLA). Сюда входят показатели качества обслуживания, время ответа, стоимость, время разработки и, во все большей степени, связь производительности решения в целом с измеряемыми параметрами функционирования бизнеса, заданными бизнес-аналитиком.

    Архитектор решения выполняет следующие задачи:

  • проектирование нового решения, приложения или функции на основе указанных функциональных и нефункциональных требований;
  • определение интерфейса новых бизнес-служб;
  • написание проектных спецификаций приложения, включая четкие спецификации функциональных и нефункциональных требований;
  • изменение существующих служб в соответствии с новыми требованиями;
  • планирование обновлений решения и внедрения новых возможностей (приложений и продуктов);
  • определение ожидаемого поведения службы в смысле производительности, уровня обслуживания и удобства пользования;
  • определение последовательностей (потоков) задач для ввода в действие бизнес-службы;
  • использование аналитических инструментов для описания информации и потоков задач, например BPR-средств (Business Process Re-engineering, Переработка бизнес-процессов), таких, как Holosofx® или OOA-средств (Object Oriented Analysis, Объектно-ориентированный анализ), таких как Rational Rose®;
  • взаимодействие с людьми бизнеса для улучшения понимания конкретного бизнес-процесса или бизнес-требования;
  • взаимодействие с разработчиками приложений для интерпретации бизнес-требований в технических терминах.
  • Главный инструмент, который должен применять архитектор решения, – это Rational Software Modeler или Rational Software Architect, а не WebSphere Business Integration Modeler. Архитектор использует WebSphere Business Integration Modeler для понимания модели бизнес-процесса, применяя артефакты, общие с инструментами Rational.

  • Архитектор предприятия/инфраструктуры.

    Главной областью ответственности архитектора предприятия является определение стандартов для ИТ-инфраструктуры и стратегических ИТ-целей для бизнеса. Архитектор инфраструктуры отвечает за понимание стандартов и целей ИТ-инфраструктуры и за обеспечения соответствия новых решений этим стандартам и целям. Кроме этого, данный архитектор отвечает (хотя это и не входит в наш сценарий) за планирование пропускной способности, выполнение требований по времени ответа и уровню обслуживания, за обслуживание ИТ-инфраструктуры, отказоустойчивость, а также за резервное копирование и восстановление системы.

  • Архитектор данных.

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

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

  • Архитектор безопасности.

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

  • ИТ-специалисты.

    ИТ-архитектор может обращаться к ИТ-специалистам на ранних стадиях разработки с целью выяснения того, как работает существующая система. Если специалисты будут присутствовать на ранних семинарах по проектированию процесса, это будет полезно, поскольку они будут уточнять дизайн. Специалисты смогут проверить, имеет ли модель процесса достаточную детализацию, чтобы с ней можно было работать.

    Главной областью ответственности ИТ-специалистов является экспортирование модели процесса, созданной бизнес-аналитиком (BPEL), из WebSphere Business Integration Modeler, модели, созданной ИТ-архитектором (UML), из Rational Software Architect и реализация компонентов этих моделей с помощью продуктов, с которыми они работают.

  • (рис 3.5) Роли, участвующие в создании решения

    Разработчики приложений выполняют следующие задачи:

  • Разработка бизнес-служб в соответствии с моделью, созданной архитектором.
  • Принятие решений по конкретной реализации необходимых потоков задач (рабочих потоков, потоков сообщений и т. п.).
  • Написание EJB-компонентов, являющихся оболочками внутренних и внешних ресурсов, или реализация новых служб.
  • Создание потоков сообщений и наборов сообщений для реализации посредничества между службами.
  • Конфигурирование WebSphere MQ Workflow для выполнения кода FDL и интеграция его с ручными и автоматизированными задачами.
  • Преобразование кода BPEL из описания процесса в определение выполнения процесса и интеграция потока BPEL с ручными и автоматизированными задачами.
  • Модульное тестирование каждого компонента приложения на соответствие спецификациям, а также тестирование правильности работы и базовой производительности разработанных компонентов приложения.
  • Разработка пользовательских интерфейсов, EJB или сервлетных каркасов, чтобы созданные службы можно было применять в других решениях.

    У нас было четыре ИТ-специалиста. Мы объединили роли, связанные с разработкой и обслуживанием рабочей системы, поскольку основное внимание мы уделяем разработке, а единственная задача, относящаяся у нас к рабочей системе, – это ее размещение:

  • Специалист по WebSphere MQ Workflow.

    Специалист по WebSphere MQ Workflow отвечает за то, чтобы заставить новый (создаваемый) процесс обработки претензии, определенный бизнес-аналитиком, или существующий процесс обработки претензии, работающий в WebSphere MQ Workflow, вызывать новый подпроцесс работы с внешним оценщиком.

    Главным инструментом этого специалиста является WebSphere MQ Workflow Buildtime. Однако данный специалист также должен детализировать создаваемый процесс в WebSphere Business Integration Modeler и экспортировать FDL-код, чтобы с ним можно было работать в Workflow Buildtime.

  • Специалист по WebSphere Business Integration Message Broker и WebSphere MQ.

    Этот специалист отвечает за базовую инфраструктуру WebSphere MQ и предлагает потоки сообщений для соединения поставщиков и потребителей служб. Главными инструментами этого специалиста являются рабочая среда WebSphere Business Integration Message Broker и WebSphere MQ explorer.

  • Специалист по WebSphere Business Integration Server Foundation и Web-Sphere Studio Application Development Integration Edition.

    Этот специалист отвечает за реализацию нового BPEL-процесса работы с внешними оценщиками при помощи WebSphere Studio Application Development Integration Edition.

  • Специалист по WebSphere Application Server и WebSphere Studio Application Developer.

    Специалист по WebSphere Application Server отвечает за создание и размещение служб, используемых для автоматизации обработки претензий. Мы употребили для создания служб WebSphere Studio Application Development Integration Edition.

  • 3.2.2 Области ответственности и разработка по контрактам

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

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

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

    Мы выбрали подход, в котором бизнес-аналитик документирует бизнес-процесс с помощью WebSphere Business Integration Modeler и рассматривает модель как спецификацию для программирования. Архитектор и ИТ-специалисты могли произвольно использовать, дополнять и изменять модель в соответствии с целями реализации. Модель не является жестким и стабильным описанием работы процесса.

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

    На рис. 3.6 иллюстрируется три разных способа понимания взаимосвязи между бизнес-моделью и ИТ-моделью.

    (рис 3.6) Разные подходы к реализации бизнес-модели
  • Бизнес-аналитик разрабатывает модель процесса и экспортирует ее (на рисунке пункт А). ИТ-архитектор рассматривает модель процесса как спецификацию требований к процессу и может импортировать для помощи в разработке ИТ-модели всю модель, ее часть или вообще ничего не импортировать.
  • Бизнес-аналитик разрабатывает модель процесса и экспортирует ее (на рисунке пункт В). ИТ-архитектор импортирует модель, а затем продолжает разработку этой модели. Бизнес-аналитик может снова импортировать ИТ-модель, поскольку во всех случаях используется общий язык – BPEL, и принять ИТ-детализацию. Существует опасность, что ИТ-детализация сделает ключевые элементы модели непонятными для бизнес-аналитика.
  • При подходе С у нас есть общее представление бизнес-компонентов и процессов, над которым бизнес-аналитик и ИТ-архитектор работают вместе. Цель в том, чтобы найти разные абстракции одних и тех же бизнес-процессов и компонентов, подходящие для моделирования как бизнес-аналитику, так и ИТ-архитектору.
  • Это почти зрелая модель технологии моделирования автоматизированных бизнес-процессов. Пункт (А) соответствует обычно используемым графическим технологиям, от рисунков на клочках бумаги к Visio и к организованным инструментам моделирования бизнес-процессов, таким, как WebSphere Business Integration Modeler. Пункт (В) соответствует существующим инструментам, основанным на исполняемых языках процессов, таких, как BPEL, и отражает собой современный уровень технологии. Пункт (С), возможно, отражает путь, по которому технология пойдет дальше.

    Три контракта

    Мы идентифицировали три главные фазы разработки архитектуры на основе детализации модели решения (рис. 3.7). Это дало нам три контракта. Первая фаза рассматривается в лекции 4, "Бизнес-процесс", и представляет собой разработку модели бизнес-процесса. Такая бизнес-модель называется "моделью, независимой от вычислений" (Computationally Independent Model, CIM). Она пишется на BPEL, который служит языком описания процесса.

    (рис 3.7) Контракты между ролями, задействованными в реализации процесса
  • Бизнес-модель (CIM) формирует контракт между бизнес-аналитиком и архитектором решения, который отвечает за разработку архитектуры решения. Здесь мы определяем, какие части бизнес-модели наиболее подходят для программной автоматизации. Этот выбор согласовывается между тем, кто принимает решения, бизнес-аналитиком и ИТ-архитектором. При принятии решения учитывается стоимость, время ввода в эксплуатацию и стратегические цели (см. раздел 1.2, "Бизнес-цели").

    Разработка архитектуры описывается в лекции 5, "Архитектура системы", и в лекции 6, "Архитектура решения". Показывается, как архитектор решения включает бизнес-модель, созданную в WebSphere Business Integration Modeler, в платформо-независимую модель (platform independent model, PIM), разработанную в Rational Software Architect.

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

  • Модель PIM формирует контракт между архитектором решения и бизнес-аналитиком, который проверяет, реализует ли архитектура решения бизнес-модель.

    Архитектор с помощью ИT-специалистов и архитектора инфраструктуры переводит PIM в платформоспецифическую модель (platform specific model, PSM), используя технологии, имеющиеся в компании LGI. Переходу решения к PSM посвящен конец главы 5 и вся глава 6. Модель PSM должна быть утверждена архитектором ИТ-инфраструктуры и просмотрена ИТ-специалистами.

  • Модель PSM формирует контракт между архитектором решения, архитектором инфраструктуры и ИТ-специалистами, которые отвечают за разработку реализации решения.
  • 3.2.3 Сбор бизнес-требований на семинарах по моделированию

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

    Еще одно преимущество подхода с использованием семинаров состоит в том, что такой подход играет важную роль объединении всей команды, задействованной в руководстве проектом, в создании решения и в конечном счете в его применении. При этом создается работоспособное решение, и используются выгоды, которое оно дает. Существует ряд опасностей, возникающих, когда проблемы программных инженеров приобретают слишком большой вес при построении решения, и это хорошо описано в работе Алана Купера (Alan Cooper) "The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity"Издательство "Macmillan, 1999, ISBN 0-672-31649-8".. Раннее вовлечение в обсуждение всех, кого касается изменение бизнес-процесса, является ключом к успеху.

    Чтобы такое участие было эффективным, оно должно быть организовано и должно приниматься всеми представителями заинтересованных сторон. Существует ряд книг, специально посвященных переработке бизнес-процессов, в которых уделяется внимание сбору информации о существующем бизнес-процессе и выполнению задачи по его совершенствованию. Можно начать с книги серии Redbooks под названием "Continuous business process management", SG24-6590, которую можно найти по адресу http://www.redbooks.ibm.com/abstracts/sg246590.html?Open.

    В этой книге описывается один из методов разработки бизнес-процессов, специально ориентированный на платформу WebSphere версии 4.

    Разработка нового бизнес-процесса и его автоматизация – это лишь часть общей задачи по перестройке бизнеса. Разработка нового бизнес-процесса должна быть частью более обширной задачи реализации изменения. Модель процесса – это эффективный способ организации обсуждения бизнес-процесса с руководителями и пользователями бизнес-процессаСуществует очень хорошо описанный пример, предлагаемый Chris Booth из Strategic Thought в книге автора Charles Brett под названием "Five Axes of Business Application Integration". Этот пример основывается на работе с Criterion Assurance, и он показывает пользу применения моделей процесса на семинарах, посвященных требованиям, для общего успеха проекта..

    3.2.4 Создание базовой архитектуры

    Создание высокоуровневой архитектуры начинается с самых ранних стадий проектирования решения. Как показано в модели на рис. 3.8, спецификации архитектуры со временем переходят от исходных, самых высокоуровневых концептуальных представлений к детальным, специфическим представлениям физического уровня. Стадии, через которые мы проходили, пронумерованы цифрами от 1 до 4.

    (рис 3.8) Использование шаблонов и активов в жизненном цикле
  • Наш архитектурный процесс начинается с использования шаблонов для электронного бизнеса (Patterns for e-business) для создания базовой архитектуры. Шаблоны для электронного бизнеса очень полезны при создании высокоуровневой архитектуры. Ключевым свойством этих шаблонов является четко определенный процесс выбора шаблонов. Процесс выбора шаблонов ускоряет работу по проектированию и обеспечивает возможность проследить ход работы от бизнес-требований до принятия решений по архитектуре. Процесс выбора шаблона начинается с анализа небольшого числа архитектурно-значимых требований и движущих сил. Эта информация образовывает высокоуровневую топологию приложения и рабочей системы, удовлетворяющую нуждам бизнеса и интеграции. Использование метода Patterns for e-business описывается в следующем разделе и рассматривается в разделе 5.1, "Выбор архитектурных шаблонов".
  • Документирование базовой архитектуры с помощью UML с использованием Rational Software Architect. В базовой архитектуре определяются технологии, которые будут применяться, а также компоненты, которые будут создаваться и размещаться. Эта информация необходима для того, чтобы архитектор инфраструктуры мог планировать физическое размещение, а ИТ-специалисты могли определить, какие технологии нужно использовать для создания компонентов.
  • Третий этап – это анализ взаимодействий и интерфейсов с целью предоставления ИТ-специалистам UML-модели решения, WSDL-определений интерфейсов и BPEL-описаний бизнес-процесса. Мы выполним эту детализацию в лекции 6, "Архитектура решения".
  • Этапы, связанные с проектированием, реализуют ИТ-специалисты, и мы расскажем о них в следующих главах, посвященных реализации.
  • 3.2.5 Многоуровневая модель активов Patterns for e-business

    Значительная часть проектирования архитектуры выполняется с помощью много-уровневой модели активов Patterns for e-business.

    Шаблоны для электронного бизнеса (Patterns for e-business) позволяют архитекторам создавать успешно работающие решения для электронного бизнеса на основе повторного использования компонентов и элементов из зарекомендовавших себя решений. Данный подход основывается на наборе многоуровневых активов, который может применять любая существующая методология разработки. Эти активы организованы так, что каждый следующий уровень детализации строится на основе предыдущего. Эти активы включают в себя:

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

    (рис 3.9) Многоуровневая модель активов Patterns for e-business

    Web-сайт Patterns for e-business

    Web-сайт Patterns for e-business предоставляет простой способ навигации по многоуровневой модели активов с целью определения активов, наиболее подходящих для конкретной ситуации.

    За справками обращайтесь на сайт Patterns for e-business: http://www.ibm.com/developerWorks/patterns/

    3.2.6 Процесс использования модели активов Patterns for e-business

    Подход, который мы используем в главе 5, "Архитектура системы", при разработке решения для работы с внешними оценщиками, включает применение процесса выбора шаблонов Patterns for e-business (рис. 3.10).

    (рис 3.10) Процесс выбора шаблонов Patterns for e-business и многоуровневая модель активов

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

    Недавно был разработан метод на основе UML2 для применения процесса выбора шаблонов к шаблонам интеграции процессов.

    Принципы процесса

    На рис. 3.11 дается общий обзор подхода Process Integration Design Approach (PIDA)Подход PIDA был защищен патентом в бюро патентов Великобритании (GB920040072GB1 – METHOD AND APPARATUS FOR INTEGRATING ELECTRONIC SYSTEMS). См. также презентацию автора этого патента, Paul Verscheuren, "Business Integration Patterns", которую можно найти по адресу http://www-106.ibm.com/developerworks/patterns/library/w19.pdf . В этом подходе выделяется несколько характерных аспектов.

    (рис 3.11) Подход к разработке решений по интеграции процессов
  • Основное внимание в нем уделяется интеграционным аспектам архитектуры решения.
  • Он основывается на UML2 и в первую очередь связан с анализом кооперации (collaboration) и интеграции.
  • В нем особо подчеркиваются функциональные аспекты решения: что происходит, когда компоненты взаимодействуют друг с другом.
  • Очень много внимания уделяется использованию нефункциональных требований в процессе выбора компонентов.
  • Данный метод анализа можно применять итеративно и рекурсивно, с учетом того факта, что аспекты интеграции бывают простые и сложные, и это дает возможность итеративно разделять и перестраивать сценарий, связанный с интеграцией, до тех пор, пока он не станет понятным до достаточного уровня детализации. (Обратите внимание на символы, отражающие итерацию на рис. 3.11.)
  • Мы выбрали этот метод проектирования интеграции в силу ряда причин:

  • Команда ранее использовала Patterns for e-Business для проектирования архитектуры интеграции и сочла этот метод эффективным.
  • Метод UML-моделирования мы, напротив, посчитали сложным для применения к моделированию интеграции существующих решений. В литературе, как правило, основное внимание уделяется построению новых решений с разработкой компонентов и классов с нуля и существует очень мало практических руководств по использованию UML для моделирования добавления одной-двух возможностей в сложную систему. Сочетая применение Patterns for e-Business и UML, подход PIDA позволяет использовать UML для моделирования интеграции уже существующих сложных систем.
  • Кооперация и взаимодействие

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

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

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

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

    (рис 3.12) Фрактальное разделение взаимодействия

    Важный момент состоит в том, что представление вверху не менее правильно, чем представление внизу. Оба они отражают одну и ту же модель, но по-разному. Можно представить себе UML-редактор, способный переключаться между такими представлениями.

    Соответственно любая концепция, которую мы используем при поведенческом анализе таких систем, должна быть независимой от масштаба ; она должна работать независимо от того, обращаемся ли мы к очень большой системе или к любой из ее частей. Этот принцип лежит в основе описания архитектуры системы в модели, которую затем можно передать ИТ-специалистам для реализации, при полном сохранении той модели, которая была исходно создана архитектором.

    Важные термины

    Приведенные ниже концепции важны для понимания технологии Patterns for e-business.

    Кооперация (Collaboration) Под кооперацией понимается выполнение любого набора вычислительных операций, распределенных в определенном пространстве (компьютерной сети) и времени.
    Примечание. Выполнение кооперации управляется программными артефактами (программами, объектами и компонентами), но эти артефакты не являются кооперацией.
    Взаимодействие (Interaction) Взаимодействие – это кооперация, являющаяся результатом одной операции или события.
    Контекст (Context) Данные (включая данные о состоянии, программы и правила выполнения), связанные с кооперацией, образуют контекст.
    Качество обслуживания (Quality of Service) Кооперация может подчиняться набору требований качества обслуживания (QoS), которые ограничивают ее выполнение.
    Фрактал (Fractal) Кооперация является фракталом, если и разделение и объединение коопераций дают в результате кооперации.

    Проблемы существующей и будущей системы

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

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

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

    Качество обслуживания

    Разница между функциональными и нефункциональными требованиями в ИТ-методологии осознается уже давно. Однако термин "нефункциональные" не слишком хорош, поскольку имеет негативный оттенок (он относится к тем требованиям, которые нельзя определить в виде конкретной бизнес-функции). Фактически нефункциональные требования часто в значительной мере определяют выбор конкретной рабочей среды и продуктов и влияют на топологию системы. Характерной особенностью этих требований является то, что они охватывают всю систему. Они обычно связываются с совокупными показателями, а не с какими-то конкретными взаимодействиями, их часто можно изменить в глобальных статистических показателях, и они отражают общее качество, а не бинарные свойства (да/нет). Поэтому вместо термина "нефункциональные свойства" появился термин "качество обслуживания".

    Критерий QoS: управление

    Из-за своей очевидности такая характеристика QoS, как управление, часто недооценивается. Управление определяет, как система формируется из частей в различных областях внутри компании и за ее пределами. Управление оказывает существенное влияние на дизайн со многих точек зрения. Оно влияет не только на компонентизацию (система редко состоит из одного компонента, находящегося в общем пользовании разных областей), но также существенно влияет на выбор технологии, определяя, какие части можно менять вместе при выпуске новой версии решения и какие части должны существовать вместе в разных версиях.

    Выявление функциональных требований

    Что касается функциональных требований, то они определяются прецедентами использования (Use Case) на уровне дизайна системы. Прецеденты использования описывают желательное поведение системы, которое выражается на уровне бизнеса через бизнес-сценарии и бизнес-процессы. В контексте интеграции процессов функциональное содержание в первую очередь выражается связями-взаимодействиями, которые, в свою очередь, определяют топологию системы. Так что мы можем назвать функциональные требования топологическими требованиями.

    Итак, существует два типа требований к системе:

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

    Рабочие продукты и метод работы

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

    Мы не предполагаем, что рабочие продукты и метод, которые мы здесь описываем, будут использоваться как процесс, которому необходимо следовать. Идея, лежащая в основе такого подхода, состоит в том, что этот подход включается в вашу конкретную методологию и информирует вас о том, как на практике следует выполнять различные задачи, например выбор подходящего шаблона для электронного бизнеса, если вы используете дизайн на основе Patterns for e-business. Мы применяем данный подход в контексте применения многоуровневой модели активов Patterns for e-businessСуществует ряд внутренних исследований IBM, в которых показывается, как данный подход работает в сочетании с IBM Global Services Method, с Rational Unified Process (RUP) и с методами корпоративной архитектуры (EA), такими, как Technical e-Business Architecture Method (TeAM). Обращайтесь по адресу swithers@uk.ibm.com .

    Данный метод включает в себя следующие задачи:

  • Определение границ решения в терминах, описывающих возможности, поведение и технические аспекты:
  • определить целевой контекст (состояние), который мы хотим получить в будущем;
  • определить текущий контекст (состояние), которое мы имеем сегодня.
  • Уделить внимание кооперациям в том контексте, в котором они возникают. Главная задача интеграции процессов состоит в том, чтобы перераспределить кооперации в новом контексте, а не создавать новые.
  • Использовать фрактальную природу модели в процессе детализации:
  • Изучать взаимосвязи между компонентами. Чтобы рассмотреть их более подробно, разделите компонент на составляющие и изучите связи между составляющими. Сам компонент при этом является "черным ящиком".
  • Границы между компонентами, т. е. интерфейсы, являются наиболее важным аспектом, информация о котором передается из одной стадии детализации в другую. Архитектор отвечает за определение уровня детализации и решает, что следует передавать ИТ-специалисту или разработчику приложений для дальнейшей детализации.
  • Передача такой информации формирует контракт, соответствующий понятию "проектирование по контракту".
  • В соответствии с таким понимание природы проблемы работу архитектора следует организовать согласно простому шаблону, называемому Distribute-Recurse-Converge (Разделение-возврат-слияние):
  • Начните с двух схем – текущего и будущего контекста.
  • Разделение. Применяйте к системе различные сценарии и прецеденты использования, чтобы выявить необходимые кооперации:
  • создайте список коопераций для дальнейшего анализа;
  • определите общую топологию решения.
  • Возврат. Проанализируйте каждую кооперацию до взаимодействий. Кооперации первого уровня будут превращаться в более детальные кооперации до тех пор, пока мы не доберемся до единичных событий – взаимодействий.
  • На каждом уровне анализа добавьте требования QoS к каждой кооперации.
  • Слияние. Сведите вместе разные ветви анализа, убедитесь, что они совместимы и что получающаяся система хорошо сбалансирована в плане удовлетворения разных требований.
  • Фрактальное мышление

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

    Такая проверка на реалистичность должна также присутствовать для того, чтобы принимать во внимание существующие компоненты ("черные ящики"). Еще одним граничным условием является учет доступных для нас продуктов. Не откладывайте на самый конец анализа проверку того, можно ли объединить в целое изученные вами кооперации.

    Короче говоря, фрактальное мышление стимулирует нас принимать во внимание все аспекты на всех уровнях анализа сразу.

    Решения, принимаемые на разных уровнях

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

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

  • известны все значимые элементы;
  • проявились все внешние ограничения, влияющие на решение.
  • Решения принимаются на том уровне анализа, на котором они могут быть полностью оправданы. Этими уровнями могут быть:

  • очень ранняя стадия, например если заказчик выбрал для построения интеграции WebSphere Application Server;
  • верхний уровень коопераций, например если бизнес требует двух разных режимов работы – прямого доступа клиентов и пакетных заданий;
  • в момент выбора продуктов, например если мы не можем использовать продукт Х из-за того, что требуются компенсаторные транзакции;
  • это может быть даже стадия окончательного слияния, например если мы должны использовать кластеры для обеспечения выполнения требований по высокой доступности системы.
  • Метод с проведением семинаров и разработкой по контракту вполне поддерживает применение данного подхода.

    3.2.7 Использование разработки, управляемой моделями

    Примечание. В этом и следующем разделе мы ссылаемся на книгу серии IBM Redbooks под названием "Patterns: Model-Driven Development Using IBM Rational Software Architect", SG24-7105Имеется русский перевод этой книги – "Шаблоны: управляемая моделями разработка в среде IBM Rational Software Architect". М., 2006 г. Примеч. пер .: http://www.redbooks.ibm.com/redbooks.nsf/RedbookAbstracts/sg247105.html?OpenS_TACT=105AGX46S_CMP=SPLT

    Использование средств моделирования и работы с метаданными для продвижения по стадиям архитектурной детализации и для управления сложностью разработки программного обеспечения являются одним из аспектов разработки, управляемой моделями (Model Driven Development, MDD)Сравните с методом, который мы использовали для сценария работы с внешними оценщиками, описанном в серии статей "On demand business process life cycle: Build reusable assets to transform an order processing system", которую можно найти по адресу http://www-128.ibm.com/developerworks/webservices/library/ws-odbpsum.html . В недавно вышедшей книге серии Redbooks разработка, управляемая моделями, определяется следующим образомВзято из главы "MDD and Patterns Overview", написанной Tracy Gardner, которую можно найти по адресу http://www.redbooks.ibm.com/redbooks.nsf/RedbookAbstracts/sg247105.html?OpenS_TACT=105AGX46S_CMP=SPLT. Следующий раздел о преимуществах MDD также оттуда. стиль разработки программного обеспечения, при котором главными артефактами являются модели, а не код.

    MDD – это подход, при котором:

  • основное внимание при разработке новых программных компонентов уделяется моделям, ориентированным на прикладную область, а не коду или другим артефактам, связанным с платформой;
  • модели используются не как наброски или чертежи, но как основные артефакты, по которым можно сгенерировать работающую реализацию.
  • MDD предлагает подход, при котором бизнес-аналитик может зафиксировать биз- нес-процессы в модели, независимой от вычислений (Computation Independent Model, CIM). ИТ-архитектор создает модель, независимую от платформы (Platform Independent Model, PIM), а затем, в сотрудничестве с ИТ-специалистом, модель, специфичную для платформы (PSM). Модель PSM превращается разработчиками в код. Различные стадии являются инкрементными и итеративными и показаны на рис. 3.13.

    (рис 3.13) Архитектура, управляемая моделями

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

    Артефакты, создаваемые на каждом этапе, должны быть определены командой разработки с использованием модели процесса, например Rational Unified Process (RUP). Хотя в данном курсе основное внимание уделяется области разработки, не менее важны и другие области – тестирование, удобство использования и управления системой, а также вопрос внедрения решения в пользовательское сообщество. Должно ли решение продаваться, предлагаться как часть обслуживания или как часть специальной разработки в пределах конкретного предприятия? Люди, работающие над этими аспектами, должны постоянно участвовать в процессе разработки, чтобы разработка, тестирование и удобство использования находились в связи с наиболее важными аспектами решения.

    Основные преимущества, которые дает тщательное следование подходу MDD, следующие:

  • Повышение производительности.

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

  • Адаптируемость.

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

  • Согласованность.

    MDD способствует тому, чтобы артефакты генерировались согласованно.

  • Повторяемость.

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

  • Совершенствование общения с заинтересованными сторонами.

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

  • Совершенствование общения при проектировании.

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

  • Фиксация опыта.

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

  • Модели как долгоживущие активы.

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

  • Возможность отсрочки технологических решений.

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

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

    3.2.8 Цепочки инструментов

    Разработка, управляемая моделями? – это подход к разработке, при котором главными артефактами являются модели (а не программы). Модели могут поэтапно трансформироваться, пока не будет создан базовый код. На рис. 3.14 показан пример трансформации PIM в PSM от Object Management Group (OMG).

    (рис 3.14) Трансформация моделей

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

  • Теряется ли информация?
  • Интерпретируется ли модель по-другому?
  • Может ли модель передаваться от инструмента к инструменту в любом направлении или существуют ограничения, вносимые в модель, которые препятствуют ее повторному импорту, например в WebSphere Business Integration Modeler?
  • Идеалом является создание двунаправленной метамодели. Пример может выглядеть так:

  • Создание модели процесса в WebSphere Business Integration Modeler.
  • Импортирование модели в WebSphere Studio Application Development Integration Edition для реализации модели процесса, в ходе которой будут внесены изменения, включающие:
  • переименования;
  • побавление новых элементов;
  • изменение маршрутизации соединений;
  • изменение существующих элементов.
  • Повторный импорт в WebSphere Business Integration Modeler, включающий:
  • сравнение с исходной моделью;
  • повторное выполнение эмуляции;
  • изменение новой модели и повторное выполнение разработки.
  • В настоящее время имеющаяся цепочка инструментов поддерживает только однонаправленный (или каскадный) подход к MDD. Обращение модели процесса – дело будущего. Так что при принятии решения о том, как использовать эти инструменты, важно принимать во внимание, что после того, как модель была экспортирована из одного инструмента в другой, внесение изменений в вышестоящий инструмент будет требовать больше времени и средств. Изменения, внесенные в вышестоящий инструмент, также должны вручную быть переработаны в нижестоящих инструментахТехнология, решающая эту проблему, называется трансформацией моделей..

    Это одна из причин, по которым вас следует четко понимать области ответственности и рабочие продукты всех ролей, задействованных в процессе разработки. Мы предлагаем контрактную модель как хороший способ управления взаимодействиями между бизнес-аналитиком и ИТ-архитектором и между ИТ-архитектором и ИТ-специалистами (см. рис. 3.7).

    На рис. 3.15 показана цепочка инструментов, на которой мы основывали нашу разработку. Бизнес-процесс фиксируется в инструменте для бизнес-моделирования бизнес-аналитиками. Эта модель используется двумя способами (см. пункт А на рис. 3.15). Она применяется для генерации определений процессов для оркестровки рабочих потоков, а также для моделирования архитектуры решения. Модель архитектуры решения содержит шаблоны, интерфейсы, модель размещения и схемы последовательностей. В оркестровке рабочих потоков процесс и архитектура рабочих потоков объединяются с последовательностью, потоками и выбранными сообщениями. Архитектурные модели и оркестровка рабочих потоков используются инструментами создания кода. На рис. 3.16 показана цепочка инструментов, которую мы применяли в этом курсе.

    (рис 3.16) Цепочка инструментов(рис 3.15) Цепочка инструментов, использованная в данном курсе

    Используемая нами цепочка инструментов не имеет возможности для автоматического включения в модель шаблонов Patterns for e-business. Мы применили инструменты с Web-сайта Patterns for e-business для выбора шаблонов, которые потом перенесли в Microsoft Visio. После того как мы согласовали шаблоны, мы перенесли получившуюся схему размещения в Rational Software Architect.

    Ниже приводится суммарный список использованных нами инструментов.

  • Бизнес-процесс был разработан при помощи WBI Modeler.WBI Modeler.
  • Существующие системы, такие, как Assessor Management System (Система управления оценщиками) и Document Handler (Обработчик документов), были разработаны в WebSphere Studio Application Developer.
  • ESB-службы, такие, как служба рассылки оценщикам запросов о готовности к работе, были разработаны с помощью WebSphere Business Integration Message Broker Workbench.
  • Рабочие потоки на FDL были импортированы в WebSphere Business Integration Modeler из WebSphere MQ Workflow Buildtime.
  • Для создания архитектуры системы и решения использовался Rational Software Architect. Для целей нашего проекта Rational Software Architect дает следующие преимущества:
  • в нем есть возможность указывать артефакты, которые были разработаны в Business Integration Modeler для создания архитектуры систем;
  • он может импортировать существующие приложения из WebSphere Studio Application Developer в качестве входных данных для разработки новой архитектуры.
  • На основе входных данных, полученных из WebSphere Business Integration Modeler и интерфейсов имеющихся реализаций, Rational Software Architect позволяет архитектору создать интерфейсы для всех приложений, схемы классов для различных компонентов, схему последовательностей и схему размещения.

    Главные артефакты, которыми архитекторы обмениваются с инструментами ИТ-специалистов, является код BPEL, FDL и WSDL. Эти спецификации интерфейсов являются входными данными для инструментов программистов. Мы использовали Web-Sphere Studio Application Developer, WebSphere Studio Application Development Integration Edition, WebSphere MQ Workflow build time и WebSphere Business Integration Message Broker workbench. Выбор инструмента зависит от того, на какой рабочей платформе ИТ-специалист будет выполнять размещение.

    3.3 Заключение

    В этой лекции описан подход, который мы применяли при разработке и интеграции нового процесса работы с внешними оценщиками с существующим процессом обработки претензий и существующей ИТ-архитектурой.

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

    Вернуться к учебному плану