Учебники

Использование событий и таймаутов в процессах BPEL

Асинхронные веб-службы обычно возвращают ответ в течение длительного времени, и поэтому компонент службы процесса BPEL должен иметь возможность тайм-аута или прекращения ожидания и продолжения работы с остальной частью потока через определенное время. Вы можете использовать операцию выбора для настройки потока BPEL либо для ожидания определенного количества времени, либо для продолжения выполнения своих обязанностей. Чтобы установить срок действия для времени, вы можете использовать операцию ожидания. Для управления сообщениями могут использоваться события, особенно когда бизнес-процесс ожидает обратных вызовов от партнерских веб-служб.

События

BPEL поддерживает два типа событий —

Сообщение События

Эти события инициируются входящими сообщениями посредством вызова операций на типах портов.

Тревожные события

Эти события связаны со временем и инициируются либо по истечении определенного периода времени, либо в определенное время.

  • Однако часто бывает полезнее дождаться более одного сообщения, из которого будет получено только одно.

  • Аварийные события полезны, когда вы хотите, чтобы процесс ожидал обратного вызова в течение определенного периода времени, например 15 минут.

    • Если обратного вызова не получено, поток процесса продолжается, как было запланировано.

    • Полезно в слабосвязанных сервис-ориентированных архитектурах, где нельзя полагаться на постоянную доступность веб-сервисов.

Однако часто бывает полезнее дождаться более одного сообщения, из которого будет получено только одно.

Аварийные события полезны, когда вы хотите, чтобы процесс ожидал обратного вызова в течение определенного периода времени, например 15 минут.

Если обратного вызова не получено, поток процесса продолжается, как было запланировано.

Полезно в слабосвязанных сервис-ориентированных архитектурах, где нельзя полагаться на постоянную доступность веб-сервисов.

Пик Активность

Пик деятельности имеет 2 ветви —

  • onMessage — код в этой ветви равен коду для получения ответа до добавления тайм-аута.

  • onAlarm — это условие имеет код на время ожидания в одну минуту.

onMessage — код в этой ветви равен коду для получения ответа до добавления тайм-аута.

onAlarm — это условие имеет код на время ожидания в одну минуту.

Ожидание активности

Операция ожидания позволяет процессу ожидать в течение заданного периода времени или до тех пор, пока не будет достигнут лимит времени. Точно один из критериев истечения должен быть указан.