Index Changes

Difference between version and version     

Back to M Eprocessing And Property Propagation, or M Eprocessing And Property Propagation Info


At line 63 changed 1 line.
!Correlating Messages (In or InOut) and atomic=yes
!By Example
Receive - Activity-1-Activity-2- - - - Activity-n
\\
Business process has Receive activity  with createInstance=yes followed by Activity-1 to n WS-BPEL activities.
\\
Default behavior - BPEL-SE receives message from partner (BC or SE)executes Receive activity (creates a BP instance) and sends ACK to its partner and continues to execute Activity-1 to n. On receiving ACK message delivery is complete from Partner's perspective.
Let us assume system crashes while executing Activity-1. It will result in message loss.
User has two options address this issue
* Enable persistence on BPEL-SE - BPEL-SE persists the BP instance state to database before it sends ACK to partner.
* set BP "atomic" property  to yes. - BPEL-SE does not send ACK till it executes all the activities in BP instance.
We recommend option-1 for long running process. option-2 for short lived (What is "short-lived" business process? there is no easy way to explain or categorize this. Rule of thumb, if Activity-1 to n is Receive, Pick and Event handler activities, it is not short-lived.
) business processes.
Why? When BP is marked (atomic-yes) ACK behavior is altered only for first Receive activity and no change for 2nd (other) Receive activity(ies), it is implementation choice to keep complexity under control. So there is potential loss of message associated with 2nd Receive if the system crashes after 2nd Receive activity.
In documentation "2nd Receive Activity" and "Correlating Receive Activity" used interchangeably as it is mandatory to define correlation on it.
High level there are 3 simple rules
# Message loss is OK - No configuration is required
# At-least-Once - BP has 2nd Receive activity - configure BPEL-SE persistence. BP has no 2nd Receive activity - set BP atomic - yes. No persistence to database will boost throughput at least 10 times faster.
# Once-only-once - Use partner BC(s) and SE(s) that support transaction.

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-29) was last changed on 18-Nov-08 16:16 PM, -0800 by Murali