Business Process Execution Language (BPEL) is an XML-based standard for composing WebServices to create processes. In the stack of WebServices standards it sits on top of WSDL, SOAP and XML Schema. WSDL documents of a WebService defines the execution and behavior–parameters, types, returns, error conditions, invocation etc. BPEL interconnects two or more WSDLs. BPEL as a standard defines the notation and semantics of composing two or more individual services in order to create a process.
Why a standard for composing WebService? Why not write a program in Java, C# to integrate two WebServices ?
The answer is loose-coupling–the same reason why we have WSDL for fine-grained services. Its abstraction. The loose-coupling allows for run time typing and invocation from the WSDL to the fine-grained service. Same holds true for modelling the integration of services using BPEL. BPEL proposes the notations as to how the individual services could be executed.
On a different note–While BPEL is being developed under OASIS, parallel efforts are underway: