Tuesday 20 September 2011

what is idempotent in bpel

Hi BPEL Experts,
what is Idempotent in BPEL? how to use it? how it is useful or where it is been used?

How to make a Synchronous BPEL to continue its operation after successfull completion of 2 operations out of 4?

For Ex:

A customer has taken a Tour Package from a travel agencey.

1) His Package is confirmed with the date details and the way of travel and the no of days stay all those details.

2) His Hotel is Booked.

3) His Rental Car is Booked.

4) His Flight got cancelled. it has delayed for 3 hours.

How to continue the process flow, after the successful completion of the two facilities and to continue with the other with out stopping the process in a synchronous way?

Should have been explained bit clear, Please understand the scenario and explain the various possibilities on this.


Adding further ...making Idempotent to false at the partnerlink make's a process to commit the existing transaction and start a new one and by default it is set to true.

Now considering your use case these properties help to choose if a call to an external process needs to be maintained in a single global transaction or to have multiple transactions in the sample process.

Now in your case all the calls to extrenal vendors like flight,Hotel,car ..needs to be maintained in a single transaction...so that say at the end if there is no flight available or if there is some system error calling the flight services ..all other services like hotel,car which are already booked can be cancelled.

 

No comments:

Post a Comment

xslt padding with characters call template for left pad and right pad

  Could a call-template be written that took two parameters ?   a string, and a   number) return the string with empty spaces appended t...