Часто при разработке приложений возникает необходимость во взаимодействии различных сервисов, баз-данных и других протоколов.Для этого существует язык BPEL.
BPEL (англ. Business Process Execution Language) — язык на основе XML для формального описания бизнес-процессов и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия веб-служб и включает в эту модель поддержку транзакций.
В этой статье я хочу рассказать о установке расширений для работы с BPEL и о компонентах BPEL в JDeveloper.
Примечание: Работать с BPEL\BPM процессами можно только в версиях Oracle JDeveloper 11g Release 1 (11.1.1.x).
Начнем.
1. Установите и запустите JDeveloper версии 11.1.1.x
2. Подключите расширения SOA как указано на рисунках ниже :
3. Создайте BPM приложение
1. Установите и запустите JDeveloper версии 11.1.1.x
2. Подключите расширения SOA как указано на рисунках ниже :
3. Создайте BPM приложение
После выполненных действий, JDeveloper сгенерировал следующие файлы:
- <Название процесса>.bpel - алгоритм исполнения бизнес-процесса.
- <Название процесса>.wsdl - описание интерфейсов для обмена сообщениями
- <Название процесса>.xsd - описание структур данных проекта (XML Schema).
- composite.xml -описание всей композитной сборки служб, сервисных компонентов, и ссылок .
composite.xml
В графическом режиме файл composite.xml разделяется на три секции:
-<Название процесса>.bpel
- Exposed services (в этой секции отображаются сервисы и JCA адаптеры, которые обеспечивают точку входа для будущего композитного SOA приложения .)
- Components (в этой секции отображаются добавленные нами компоненты(в нашем случае нам нужен только Bpel Process)
- External References (в этой секции отображаются добавленные нами внешние сервисы и JCA адаптеры( к БД, FTP, BAM и др.)).
-<Название процесса>.bpel
В графическом режиме файл <Название процесса>.bpel разделяется на 2 секции:
- Partner links (отображение сервисов и JCA адаптеров)
- Блок схема процесса(собственно самая важная секция в которой происходит разработка bpel процесса)
Коротко об основных компонентах:
- Invoke - компонент для вызова сервиса(partner link).Имеет входящие и исходящие переменные.
- Receive - компонент для принятия данных из сервиса(partner link).Имеет только входящие переменные
- Reply - компонент для принятия отправки данных в сервис (используется в синхронных bpel процессах для формирования ответа сервиса)
- Assign - компонент для работы с данными(копирование и изменение их при помощи xpath)
- Wait - компонент останавливает выполнение процесса на установленное время
- Flow - компонент для распараллеливания процесса
- Switch - компонент для разветвления процесса
- While - цикл повторяет вложенные компоненты до того как логическое условие в "Condition" не станет false. Он похож на цикл в любом другом языке, как C, C + +, Java и т.д.
Комментариев нет:
Отправить комментарий