Wednesday, June 19, 2013

Difference between BPEL 1.1 and BPEL 2.0

Hi Guys,

In my project there was a requirement to work with BPEL 2.0.I had experience of working with BPEL 1.1 only so it was something new for me.There are some minor differences in both the two.I will explain the basic differences between them

  • FlowN activity in BPEL 1.1 is replaced by <forEach> activity which can be invoked both serially and parallel.
  • RepeatUntil activity is added. Use this activity if the body of an activity must be performed at least once. The XPath expression condition in the repeatUntil activity is evaluated after the body of the activity completes. The condition is evaluated repeatedly (and the body of the activity processed) until the provided boolean condition is true.(Same as do while in programming languages).
  • The switch activity in BPEL 1.1 is replaced by <if> <elseif <else> activity in BPEL 2.0.
  • Terminate activity is chqanged to Exit Activity.
  • CompensateScope activity added - This activity enables you to start compensation on a specified inner scope that has already completed successfully. This activity must only be used from within a fault handler, another compensation handler, or a termination handler.   
  • A new activity Rethrow has been added to fault handlers.This activity enables you to rethrow a fault originally captured by the immediately enclosing fault handler.
XPath expressions are simplified by using the ‘$’ notation for variable access in BPEL 2.0, for example, $inputVariable.payload/ns1:firstname.

  • In BPEL 2.0, if you are working with synchronus BPEL process and in the BPEL code you have not used reply activity to send bcak the response.You will get below error where as, in BPEL 1.1 no error occurs.
These are the main differences in terms of process flow and new/modified activities. For more information you guys can refer below links:
Hope this helps you.Guys please do share your comments as well,if you find any of my post useful.

Happy Learning.
Cheers !!!

1 comment:

  1. could you give me the answers for below questions....or snd me to
    I have a scope 3 scopes table not found,connection refused,record not found,
    how to add that perticular scope? how many catch blocks do we need?
    how many campansation handlers? where u r to be compansation handler?
    two inserts 1st insert suceess,2nd fail how to handle?
    If there 10 files and 5 files are corrupted then how will u send only uncorrupted files?
    Internal Bpel Process Starts where?
    what is the compensation handler and rollback handler?