0 votes
717 views
in Integrations by (30.6k points)

1 Answer

0 votes
by (30.6k points)

The delayed response pattern couples a BPD (BPMN, human-centric) with a BPEL process (BAW Advanced / WPS, system-centric) asynchronously: the BPD calls the BPEL process and continues (or waits at an event) instead of blocking a thread until the long-running BPEL work is done; the BPEL process later sends the result back as an event that the BPD receives.

  1. The BPD invokes an Advanced Integration Service (AIS) implemented by the BPEL process; the AIS is declared asynchronous (the call returns immediately with an acknowledgement / correlation id).
  2. The BPD reaches an intermediate message event (or a receive task) that waits for the reply, correlated by the instance id or a business key.
  3. When the BPEL process finishes, it sends the response: either the AIS response message routed by BPM's SCA binding back to the waiting event, or an explicit event message to a UCA (<eventmsg> XML on the event queue) that the intermediate message event consumes.
  4. The BPD continues with the result; timeouts are handled by a timer boundary on the waiting event (escalate if no reply in N hours).
BPD:  [Submit order] -> (AIS "Fulfil order", async) -> ( wait: intermediate message event "Order fulfilled", correlation = tw.local.orderId )
                                                        \-> timer boundary 24h -> [Escalate]
BPEL: receive(order) -> invoke ERP -> invoke logistics -> reply / send "OrderFulfilled" event {orderId, status}

Why: BPEL work may take hours (waiting for other systems), and a synchronous call would hold BPM threads and fail on timeouts; the delayed response keeps the human process responsive and restart-safe (both sides are persisted). Without BAW Advanced the same pattern is built with any long-running system: call REST / MQ, wait at a message event, receive a UCA-triggered event (questions 2741, 2573).

References

Related questions

0 votes
1 answer 1.1k views
0 votes
1 answer 1.5k views
0 votes
2 answers 2.4k views
0 votes
1 answer 874 views
0 votes
1 answer 859 views
0 votes
1 answer 1.3k views
0 votes
1 answer 2.1k views
+1 vote
2 answers 6.6k views

723 questions

807 answers

98 comments

4.9k users

Join BPM Community Discord Channel

Welcome to BPM Tips Q&A, Community wiki/forum where you can ask questions and receive answers from other IBM BPM experts and members of the community. Users with 2000 points will automatically be promoted to expert level.
Created by Dosvak LLC
Our Youtube Channel
...