BPEL, which stands for Business Process Execution Language is being defined as a language used to indicate the flow of control in the business process in Web Service or WS. In other words, it offers a platform to properly stipulate business and interactive protocols. WS BPEL supports the specifications of both Executable as well as the Abstract business protocols. BPEL also outlines an interoperable integration model that will help in the growth of automated process integration in intra-corporate as well as the business-to-business spaces.
The roots of BPEL lay in the application languages like WSFL and XLANG which were merged together to form BPEL4WS. It is an orchestration language which is to say that BPEL spells out an executable protocol which includes exchange of messages with other systems in a way that the sequence is in control of the designer. Apart from the message exchange provision, BPEL also provides other facilities such as writing expressions and queries in different languages made possible because of an extensible language plug in model. It also possible to type variables in XML and WSDL besides being able to encapsulate logic fault-handlers, event-handlers, compensation-handlers and local variables due to a scoping system. Finally it also facilitates structured programming that will encompass all the loop commands like if-then-else, etc. and the flow of control.