О начале обучения |
Реализация. Создание процесса Request External Reports
В этой лекции мы опишем разработку и размещение бизнес-процесса, который можно экспортировать из WebSphere Business Integration Modeler в формате Business Process Execution Language for Web service (BPEL4WS). Мы создадим наш бизнес-процесс, используя выходные данные WebSphere Business Integration Modeler, которые мы можем получить от бизнес-аналитика. Поскольку в бизнес-процессе, экспортируемом из Modeler, по-прежнему отсутствуют готовые к реализации службы и настройки, необходимые для работы с бизнес-процессом в реальной системе, мы должны модифицировать код BPEL, чтобы система работы с бизнес-процессами могла исполнять этот бизнес-процесс.
Эта лекция включает в себя следующие разделы:
- 10.1, "Общий обзор";
- 10.2, "Импортирование WSDL и BPEL в IDE";
- 10.3, "Интеграция процесса и его служб";
- 10.4, "Интеграция процесса и его служб"1Название раздела дается согласно оригиналу. – Примеч. ред . ;
- 10.5, "Контроль пути через процесс";
- 10.6, "Реализация операции для специалиста по обработке претензий";
- 10.7, "Компоновка";
- 10.8, "Тестирование и отладка процесса";
- 10.9, "Размещение процесса на сервере".
10.1 Общий обзор
ИТ-специалист по процессам с помощью WebSphere Studio Application Developer Integration Edition V5.1.1 размещает бизнес-процесс, созданный бизнес-аналитиком в WebSphere Business Integration Modeler, на платформе WebSphere Business Integration Server Foundation V5.1. На рис. 10.1 показана центральная роль ИТ-специалиста по процессу в реализации решения.
Код BPEL экспортируется из WebSphere Business Integration Modeler ИТ-специалистом по процессу, а не бизнес-аналитиком. Перед экспортом необходимо исправить технические ошибки в коде BPEL, а ИТ-специалист имеет необходимые навыки исправления ошибок. Также ИТ-специалист может получить общий вид процесса в Modeler. Экспортирование кода BPEL описано в разделе 4.5.3, "Экспорт процесса RequestExternalReports в виде процесса BPEL4WS".
В BPEL-процессе для взаимодействия с большинством внешних служб используются ссылки на партнеров. Все ссылки на партнеров, необходимые ИТ-специалисту по процессу, находятся в WSDL-файлах. Они были определены архитектором решения с помощью Rational Software Architect. Эти файлы были упакованы в один zip-файл для простоты управления. Этот zip-файл нужно импортировать в пакет Web-Sphere Studio Application Development Integration Edition.
Все необходимые дополнительные WSDL-интерфейсы можно определить в WebSphere Studio Application Development Integration Edition или в вашем любимом WSDL-редакторе.
Существует три вида служб, интеграцией которых занимается ИТ-специалист по процессу:
- Существуют простые Web-службы, вызываемые бизнес-процессом. Они все обыч-
но реализуются в виде EJB и располагаются на отдельном сервере WebSphere Application
Server.
Такие службы описаны в "Реализация. Тестирование и размещение компонентов приложения" , "Тестирование и размещение компонентов приложений".
- Существуют службы, подключенные к ESB и реализованные WebSphere Business Integration Message Broker. Запросы и ответы реализуются как отдельные службы, а Process Choreographer играет роль службы, получающей ответы от ESB. Эти службы описаны в "Реализация. Создание корпоративной сервисной шины" , "Создание корпоративной сервисной шины".
- Еще один вид связи, который нужно установить, – это связь между WebSphere MQ Workflow и WebSphere Business Integration Server Foundation. Система Wokflow имеет специальный механизм интеграции, использующий прокси-EJB, функционирующий на той же системе работы с процессами, что и бизнес-процесс. Таким образом, вызов процесса RequestExternalReports – это простая ссылка на партнера, в которой наш процесс вызывается данным EJB от имени процесса Workflow. Установка такого соединения относится к области ответственности ИТ-специалиста по Workflow.
Об этом мы поговорим в "Изменение процесса изучения претензий" , "Изменение процесса изучения претензий".
Когда ИТ-специалист по процессу закончит формирование BPEL-процесса, процесс можно протестировать либо путем импорта компонентов приложения в тестовую среду WebSphere Studio Application Development Integration Edition, либо путем связывания тестовых версий служб, работающих на своих исходных платформах. После отладки и тестирования процесса он размещается в WebSphere Business Integration Server Foundation.
10.2 Импортирование WSDL и BPEL в IDE
WSDL-код, используемый в решении для работы с внешними оценщиками, был создан архитектором решения и является частью PSM (модели, специфичной для продуктов) – контракта между архитектором решения и ИТ-специалистами. Код BPEL был сформирован бизнес-аналитиком и является частью CIM (модели, независимой от вычислений) – контракта между бизнес-аналитиком и ИТ-специалистами. В данном разделе описывается, как ИТ-специалист переносит файлы WSDL и BPEL в WebSphere Studio Application Development Integration Edition.
10.2.1 Импортирование WSDL из Rational Software Architect
WSDL-определения будут применяться для создания ссылок на партнеров, операций и переменных в BPEL-модели. Архитектор решения экспортировал готовые WSDL-определения в zip-файл (см. раздел 6.4, "Обеспечение доступа к материалам"). Теперь мы импортируем этот zip-файл в WebSphere Studio Application Development Integration Edition и создадим необходимые нам ссылки на партнеров.
- Запустите WebSphere Studio Application Development Integration Edition и откройте перспективу Business Integration (Бизнес-интеграция). Выберите пункт меню File (Файл) New (Новый) Service Project (Проект службы). Откроется мастер New Project (Новый проект) ( рис. 10.2).
- Введите уникальное имя для нового проекта (ITSOLGI) и нажмите Finish (Готово). Новый проект службы будет создан в папке Service Projects (Проекты служб) представления Services (Службы).
- Перед копированием WSDL-файла в проект службы, включающий наш новый
BPEL-процесс, создайте новый Java-пакет для организации импортированных
WSDL-файлов.
Щелкните правой кнопкой мыши по проекту службы ITSOLGI и выберите пункт меню New (Новый) Package (Пакет). Введите в поле имени пакета services и нажмите OK.
- Импортирование необходимых WSDL-файлов.
В проводнике по пакетам ( Package explorer ) щелкните правой кнопкой мыши по элементу Import (Импорт) > выберите zip-файл > найдите WSDL-файлы, упакованные архитектором решения (или используйте .\SG24-6636\RSA\ClaimsInvestigation WSDL files.wsdl), и выберите WSDL-код, применяемый службой Assessor Automation (см. табл. 10.1). Нажмите Finish (Готово).
- Если вы обнаружили ошибку до того, как начали разрабатывать и компоновать процесс, просто перенесите WSDL-файлы, используя навигатор.
- Если вы начали разрабатывать и компоновать процесс или даже перешли к размещению прежде чем проблема обнаружилась, то при переносе WSDL многие ссылки будут переработаны, но все же не на 100 %. После переработки, используя кнопку поиска, найдите все пути к предыдущему местоположению WSDL и исправьте ссылки. Проще всего открыть затронутые этой ошибкой файлы в простом текстовом редакторе. Один из файлов, который перерабатываться не будет, – это файл <имя_процесса>.bpelex. В этом файле нужно будет изменить по одной ссылке на каждую связь с партнером. При вводе нового пути к WSDL-файлам убедитесь, что путь начинается с прямого слеша (/). Отсутствие слеша приведет к ошибке компоновки процесса.
10.2.2 Импортирование BPEL из WebSphere Business Integration Modeler
Прежде чем описывать методику импортирования BPEL из WebSphere Business Integration Modeler в WebSphere Studio Application Development Integration Edition, мы должны сказать, что первый вопрос, который должен решить ИТ-специалист, будет следующий:
- нужно ли продолжить уточнение BPEL-процесса CIM в Modeler, а затем переносить его в WebSphere Studio Application Development Integration Edition
- или нужно взять модель, полученную от аналитика, как есть, когда она будет готова для экспорта?
ИТ-специалист может редактировать бизнес-процесс Request External Reports, используя любой инструмент.
Когда нужно импортировать BPEL в IDE
В Modeler бизнес-процесс отображается с использованием Business Process Modeling Notation (BPMN)2См. работу Stephen White, "Introduction to BPMN", по адресу http://www.bpmn.org/Documents/Introduction%20to%20BPMN.pdf .
В WebSphere Studio Application Development Integration Edition существует три альтернативных способа редактирования бизнес-процесса, соответствующих разным стилям моделирования бизнес-процессов. Стиль Modeler выбирается как наиболее подходящий для бизнес-аналитика и единый для разных инструментов моделирования. Поскольку этот стиль не привязан к какой-то конкретной технологии работы с процессами, так проще сравнивать бизнес-процессы, смоделированные с использованием разных инструментов. Кроме того, проще понять логику всего потока. В случае сложных потоков, возможно, стоит продолжить уточнение логики потока в Modeler, прежде чем переносить ее в WebSphere Studio Application Development Integration Edition.
Стили редактирования WebSphere Studio Application Development Integration Edition разрабатывались для того, чтобы максимально упростить связывание потока с необходимой технологией. В частности, два из этих стилей, BPEL-процесс на основе потоков и BPEL-процесс на основе последовательностей, оптимизированы для редактирования BPEL-процессов. Выбор зависит от вашего личного вкуса. В какой то момент будет необходимо отредактировать BPEL-поток с использованием WebSphere Studio Application Development Integration Edition, чтобы выполнить тонкую настройку выполнения потока.
Существуют следующие вопросы:
- В какой момент ИТ-специалист должен перейти от применения Modeler к использованию WebSphere Studio Application Development Integration Edition?
- Когда следует, принимая во внимания возможности инструментов, экспортировать BPEL из Modeler?
- Насколько детальным должно быть редактирование BPEL в Modeler?
В сценарии с работой с внешними оценщиками сделать выбор достаточно просто. Выбор основывается на нашем решении о том, что за моделирование интерфейсов и данных отвечает архитектор решения. Бизнес-аналитик определяет только модель функционирования бизнес-процесса, но не интерфейсы. Архитектор решения использует для моделирования интерфейсов Rational Software Architect. Архитектор решил выбрать Rational Software Architect, а не WebSphere Business Integration Modeler, поскольку существует требование включать интерфейсы прямо в UML-модель архитектуры. Специалист по процессам с самого начала должен работать в WebSphere Studio Application Development Integration Edition, поскольку ему нужно объединить BPEL-процесс с WSDL-интерфейсами. В Modeler нет возможности импортировать WSDL-определения интерфейсов.
В других проектах разработки, управляемой моделями, выбор может быть другим. Моделирование данных может осуществляться в WebSphere Business Integration Modeler или в каком-нибудь специальном средстве моделирования данных. Как уже обсуждалось в разделе 3.2.8, "Цепочки инструментов", прежде чем серьезно приступать к работе над проектом, важно определить, что за какие задачи отвечает, какие инструменты используются и как интегрируются артефакты, полученные в разных инструментах.
В нашем случае выбор ограничен, поскольку WebSphere Business Integration Modeler 5.1.1 не поддерживает импортирование WSDL. Однако в проекте, в котором WSDL-определения создаются в Modeler вместе с BPEL, у ИТ-специалиста есть гораздо больший простор для осуществления технической детализации модели процесса в WebSphere Business Integration Modeler до ее экспортирования в WebSphere Studio Application Development Integration Edition.
В нашем сценарии лучшим вариантом было экспортировать простое определение BPEL-процесса из WebSphere Business Integration Modeler и дать задание ИТ-специалистам использовать WSDL-определения из Rational Software Architect для завершения определения процесса и его реализации, как это описывается в оставшейся части данной главы.
Экспортирование BPEL из Modeler
Модель бизнес-процесса, созданную бизнес-аналитиком, нужно сохранить в CIM-контракте между ролями проекта, относящимися к бизнесу и к ИТ.
Затем ИТ-специалист берет на себя ответственность за дальнейшую детализацию модели.
Проверка правильности BPEL в WBI Modeler
Если переключить WebSphere Business Integration Modeler в режим BPEL, будут отображаться все ошибки и предупреждения, связанные с BPEL. Все эти ошибки необходимо исправить, прежде чем BPEL можно будет экспортировать. Предупреждения проблемой не являются. В подразделе "Проверка модели процесса" раздела 4.5.3 объясняется, как следует исправлять ошибки BPEL в процессе RequestExternalReport.
Когда ошибок в модели процесса не останется, ее можно экспортировать, а ее определения импортировать в WebSphere Studio Application Development Integration Edition. Существует несколько вариантов каталога для импорта:
- каталог данных;
- каталог процесса;
- каталог ресурсов;
- каталог организации или его содержимое;
- какой-то один процесс, бизнес-элемент, ресурс или подразделение организации.
Если экспортируется весь процесс, то вместе с ним будут экспортированы все бизнес-элементы, используемые процессом и его подпроцессами, а также все индивидуальные ресурсы и организационные подразделения, отвечающие за выполнение процесса. Бизнес-элементы, определения ресурсов, определения организации и местоположения экспортируются в формат файлов XML-схемы (XSD).
В разделе "Экспортирование процесса", описывается экспорт процесса RequestClaimsAssessor из WebSphere Business Integration Modeler и все опции, которые нужно при этом включать.
Импортирование BPEL в IDE
Чтобы импортировать BPEL в IDE, выполните следующие шаги:
- Щелкните правой кнопкой мыши по проекту службы ITSOLGI, выберите пункт меню Import (Импорт). Откроется мастер импорта. Выберите пункт File system (Файловая система), нажмите Next (Далее).
- Укажите папку-источник, куда вы экспортировали BPEL из Modeler. При работе с материалами, поставляемыми с этим курсом, импортируйте файлы из директо- рии .\SG24-6636\Modeler, как показано на рис. 10.4. Убедитесь, что в поле Into folder (В папку) указан проект служб, созданный в разделе 10.2.1, "Импортирова- ние WSDL из Rational Software Architect". Бизнес-процесс и бизнес-элементы будут импортированы в рабочее пространство. Убедитесь, что для импорта был выбран корень информационной модели, а также файлы BPEL и WSDL ( рис. 10.4).