Про BPEL — различия между версиями
Материал из YourcmcWiki
(Новая страница: «* BPEL: Business Process Execution Language, XML-язык описания бизнес- и интеграционных процессов ** (Ключевое…») |
(нет различий)
|
Текущая версия на 14:26, 26 января 2016
- BPEL: Business Process Execution Language, XML-язык описания бизнес- и интеграционных процессов
- (Ключевое различие: бизнес-процесс длителен и даже может требовать участия человека, интеграционный - краткий и автоматический)
- Процессы описываются сервисами, преобразованиями и логическими блоками
- Все обрабатываемые данные хранятся в произвольном количестве XML-типизированных переменных
- Есть обработка ошибок, автоматические повторы, полный автоматический persistence и работа в active-active кластере
- (большое преимущество BPEL и OpenESB)
- Логические блоки стандартные - ветвления, циклы, параллельное выполнение, ожидание, ловля исключений
- Простые преобразования производятся через XPath (для многого вполне достаточен), сложные - XSLT и даже JavaScript в случае необходимости
- XPath редактируется визуально (BPEL Mapper), поэтому разработчик может даже не догадываться, что это именно XPath :)
- Сервисы описываются WSDL и бывают In-only, Out-only и In-out. Взаимодействие с каждым сервисом осуществляется соответствующим JBI-компонентом OpenESB
- Процесс всегда начинается с получения сообщения от какого-либо сервиса
- Типы входных и выходных данных сервисов описываются XML Schema
- Есть возможность визуальной отладки процесса, запущенного в экземпляре ESB, прямо из IDE с установкой контрольных точек, просмотром значений переменных и т.п.
- BPEL вместе с описаниями сервисов собирается в типе проекта "BPEL модуль" и включается в проект типа "интеграционное приложение"
- Интеграционное приложение разворачивается в OpenESB