Business Process Execution Language (BPEL) is a XML-based language used to define enterprise business processes within Web services. Every company has its unique way of defining its business process flow. The key objective of BPEL is to standardize the format of business process flow definition so companies can work together seamlessly using Web services. BPEL extends the Web services interaction model and enables it to support business transactions. BPEL is based on Web services in the sense that each of the business process involved is assumed to be implemented as a Web service. Processes written in BPEL can orchestrate interactions between Web services using XML documents in a standardized manner. These processes can be executed on any platform or product that complies with the BPEL specification.
BPEL supports two different types of business processes:
• Executable processes: Models the actual behavior of a participant in a business interaction. They follow the orchestration paradigm and can be executed by an orchestration engine.
• Abstract processes: Uses process descriptions that specify the mutually visible message exchange behavior of each of the parties involved in the protocol, without revealing their internal behavior.