Date Added: Aug 2010
A BPEL application is an orchestration of (Possibly third-party) web services. These services, which can be written in a variety of languages, communicate through published interfaces. Third-party services can be dynamically discovered, and may be modified without notice. BPEL includes mechanisms for dealing with termination and for specifying compensation actions (These are defined on a "Per action" basis, i.e., compensation for booking a flight is to cancel the booking); yet, they are of limited use since it is hard to determine the state of the application after executing a set of compensations.