BPEL - Использование параллельного потока
В этой главе мы поймем, как работает параллельный поток в BPEL.
Что такое Flow Activity?
Операция потока обычно содержит множество операций последовательности, и каждая последовательность выполняется параллельно. Действие потока также может содержать другие действия.
Например, два асинхронных обратных вызова выполняются параллельно, так что одному обратному вызову не нужно ждать, пока другой завершится первым. Каждый ответ хранится в отдельной глобальной переменной.
В действии потока код BPEL определяет количество параллельных ветвей. Однако часто количество необходимых отделений различается в зависимости от доступной информации.
Что такое FlowN Activity?
Действие flowN создает несколько потоков, равных значению N, которое определяется во время выполнения на основе доступных данных и логики процесса. Каждый раз, когда создается новая ветвь, индексная переменная увеличивается, пока индексная переменная не достигнет значения N.
Действие flowN выполняет действия с произвольным количеством элементов данных. По мере изменения количества элементов процесс BPEL корректируется соответствующим образом.
Ветви, созданные flowN, выполняют одни и те же действия, но используют разные данные. Каждая ветвь использует индексную переменную для поиска входных переменных. Переменную индекса можно использовать в выражении XPath для получения данных, специфичных для этой ветви.