О начале обучения |
Вопросы интеграции
WebSphere Business Integration Modeler в настоящее время поддерживает экспорт моделей для импортирования в XDE моделей с примененным профилем Business Modeler. В этом приложении описывается философия, требования, проектирование и реализация интеграции между моделями WebSphere Business Integration Modeler/BOM (Business Object Models) и Rational Software Architect/UML2.
Интегрирование WebSphere Business Integration Modeler и Rational Software Architect
Интеграция WebSphere Business Integration Modeler и Rational Software Architect/Rational Software Modeler основывается на преобразовании BOM-моделей в UML2. В этом преобразовании BOM-модели рассматриваются как контракты, в которых указывается, какие реализации должны быть выполнены в Rational Software Architect. Модели WebSphere Business Integration Modeler рассматриваются не как что-то, что нужно разработать или реализовать, а как формирование контракта о том, что должна делать реализация, но не о том, как она должна это делать.
Контракт состоит из двух частей. Статическая часть, или контракт об использовании, определяет, что должны знать клиенты, чтобы применять службы, реализованные на UML2 с помощью Rational Software Architect. Это задачи, которые вызываются в BPEL-процессе, сгенерированном в WebSphere Business Integration Modeler. Из WebSphere Business Integration Modeler они извлекаются через роли, назначенные задачам в бизнес-процессах. Для каждой задачи процесса, которой была назначена роль, мы создаем интерфейс этой роли и добавляем операцию, соответствующую вызванной задаче. Обратите внимание, что реализуется не весь бизнес-процесс и не всем операциям во всех ролях необходима непосредственная реализация. Однако если процесс является автоматизированным (и следовательно, ему соответствует BPEL-процесс, который выполняет оркестровку областей ответственности ролей), то все задачи этого процесса должны иметь какую-нибудь реализацию. То есть они должны иметь реализацию в Rational Software Architect, даже если эта реализация состоит только в отправке электронного письма, SMS-сообщения, помещения элемента в расписание заданий, выводе всплывающего окна предупреждения или помещения записи в корзину входящих рабочего потока. Поэтому интерфейсы, соответствующие ролям BOM, являются хорошим способом фиксации контракта на использование в Rational Software Architect.
Реализующий контракт – это сам бизнес-процесс. Лучший способ моделирования его на UML2 – это создать кооперацию (Collaboration), содержащую операцию (Activity), которая представляет собой UML2-версию бизнес-процесса. Роли в кооперации соответствуют ролям (requiredRole) BOM-модели. Это те роли, которые назначены каждой из задач в бизнес-процессе. В UML2 ролям соответствует InputPin (Входной контакт), который является целью для CallOperationAction. Имя входного контакта представляет собой имя требования ресурса BOM, а его тип – это интерфейс, соответствующий роли, содержащей вызванную операцию. В CallOperationAction:: operation также задается операция интерфейса роли.
Прецеденты использования (use cases), соответствующие бизнес-процессам из BOM-модели, также создаются так, чтобы сформировать высокоуровневое представление бизнес-требований и место для указания нефункциональных характеристик. Эти прецеденты использования реализуются кооперациями, сгенерированными для бизнес-процессов BOM. Не нужны никакие дополнительные нестандартные зависимости, и нет никаких непрослеживаемых связей между моделями BOM и UML2.
Кооперация (Collaboration) теперь может иметь любое количество классификаторов (Classifier), содержащих вхождения коопераций (CollaborationOccurrences), которые связывают в кооперации ее части с ролями, формируя реализацию, выполняющую указанный контракт. Нет никаких ограничений по способам организации классификаторов. Обычно им приходится иметь дело с прецедентами использования других систем, архитектурными и нефункциональными вопросами, выходящими за рамки функциональных требований, указанных контрактом в кооперации. В результате существует высокая степень свободы в том, как одна реализация моделируется и трансформируется в другую. Но в окончательной реализации необходимые интерфейсы, указанные в контракте и сгенерированные на основе необходимых ролей BOM-модели, будут каким-то образом реализованы. В результате BPEL-код, сгенерированный из BOM-модели, сможет легко вызывать необходимые задачи.
Этот подход более сложен, чем тот, который используется при импорте/экспорте материалов между WebSphere Business Integration Modeler и XDE. Однако он предоставляет формализованный способ определения интеграции между продуктами с использованием возможностей обоих продуктов при минимальном перекрытии и дублировании (и с решением проблем). Модель Rational Software Architect может напрямую ссылаться на кооперацию, интерфейсы и операции модели BOM без копирования. BOM-модель для Rational Software Architect может быть доступной только для чтения, поскольку для того, чтобы создать реализацию, нет необходимости изменять контракты. Любые изменения BOM-модели, внесенные в WebSphere Business Integration Modeler, сразу отражаются в модели Rational Software Architect, что устраняет ошибки, связанные с трансформациями или согласованиями, а также разницей во времени. Может потребоваться обновить ярлык или выйти из Rational Software Architect и войти заново. Мы рассматриваем возможность включить в модели WebSphere Business Integration Modeler, находящиеся в редакторе Rational Software Architect, автоматическое уведомление об изменениях модели. Но появление такого уведомления маловероятно.
Также отметьте, что данная стратегия интеграции совместима с профилем Enterprise Application Architecture, который используется для моделирования готовых бизнес-приложений, включая архитектурные аспекты. Поэтому WebSphere Business Integration Modeler можно применять для создания бизнес-моделей, формирующих контракты для бизнес-приложений, а EAA можно использовать для регистрации этих контрактов в стандартном UML2, что позволяет повторно употреблять появляющиеся трансформации для платформ WebSphere.
Ниже приводятся специфические требования.
- Сконфигурируйте Rational Software Architect, чтобы он мог загружать файл WebSphere Business Integration Modeler 5.1.12 resources.XMI, и преобразуйте его в UML2 при помощи применения профиля UML BM. Это устраняет необходимость в операциях импорта/экспорта и обеспечивает лучшую интеграцию инструментов.
- Автоматически примените профиль BM к импортированным моделям.
- Загрузчик прочитает файлы WebSphere Business Integration Modeler при помощи пользовательского EMF-ресурса и преобразует их в UML2, чтобы модели WebSphere Business Integration Modeler/BOM могли просматриваться в проводнике моделей Rational Software Architect и интегрироваться с другими UML2-моделями.
- Преобразованную BOM-модель можно сохранить в виде стандартного файла Rational Software Architect .emx (XMI2.1) после дополнения ее созданной в Rational Software Architect реализацией профиля UML BM (Business Modeler) из плагина com.ibm.xtools.buzmodeler.
- Разработчику не обязательно иметь установленный WebSphere Business Integration Modeler. Не требуется никаких дополнительных связей между Rational Software Architect и WebSphere Business Integration Modeler. Rational Software Architect для инсталляции не может требовать наличия метамодели WebSphere Business Integration Modeler.
- Загружайте только элементы модели BOM WebSphere Business Integration Modeler, но не схемы.
- Поддерживаются версии WebSphere Business Integration Modeler Advanced Version 5.1 и 5.1.1.
Прецедент использования Business Process and Application Development
Данный прецедент использования не предназначен для того, чтобы охватывать все аспекты моделирования бизнес-процесса, моделирования интеграции с объектами или генерации и размещения приложений. Он предназначен для того, чтобы дать представление об этих темах в контексте интеграции WebSphere Business Integration Modeler и Rational Software Architect, и представляет собой простой, но типичный сквозной процесс разработки.
Этапы прецедента использования:
- С помощью WebSphere Business Integration Modeler выявите и зафиксируйте ключевые бизнес-процессы:
- зафиксируйте элементы бизнес-данных, которыми обмениваются процессы и задачи;
- назначьте задачи ролям;
- определите необходимые ресурсы;
- организация.
- Эмулируйте бизнес-процессы, чтобы проверить их и определить оптимальную потребность в ресурсах.
- Выявите возможности для программной автоматизации.
- С помощью Rational Software Architect создайте модель реализации.
- Откройте модель WebSphere Business Integration Modeler в Rational Software Architect, чтобы увидеть бизнес-контракт.
- Выполните контракт, используя возможности Rational Software Architect.
- Сгенерируйте и разместите реализацию, созданную в Rational Software Architect.
- Сгенерируйте оркестровку процесса, используя WebSphere Business Integration Modeler.
- Свяжите задачи в WebSphere Business Integration Modeler с их реализацией, созданной в Rational Software Architect.