Business Process Execution Language (BPEL)1 defines a notation for specifying business process behavior based on Web Services. Business processes can be described in two ways:
Executable business processes model actual behavior of a participant in a business interaction.
Business protocols, in contrast, use process descriptions that specify the mutually visible message exchange behavior of each of the parties involved in the protocol, without revealing their internal behavior. The process descriptions for business protocols are called abstract processes.
BPEL is used to model the behavior of both executable and abstract processes. The scope includes:
Sequencing of process activities, especially Web Service interactions
Correlation of messages and process instances
Recovery behavior in case of failures and exceptional conditions
Bilateral Web Service based relationships between process roles