Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Business Process Execution Language (BPEL) is an Organization for the Advancement of Structured Information Standards (OASIS) executable language for exporting and importing business information using only the interfaces available through Web services.
BPEL is concerned with the abstract process of "programming in the large", which involves the high-level state transition interactions of processes. The language includes such information as when to send messages, when to wait for messages and when to compensate for unsuccessful transactions. In contrast, "programming in the small" deals with short-lived programmable behavior such as a single transaction involving the logical manipulation of resources.
BPEL was developed to address the differences between programming in the large and programming in the small. This term is also known as Web Services Business Process Execution Language (WS-BPEL), and is sometimes written as business process execution language for Web Services.
Microsoft and IBM both developed their own programming in the large languages, which are very similar and called XLANG and WSFL respectively. In view of the popularity of a third language, BPML, Microsoft and IBM decided to combine their two languages into another called BPEL4WS. After submitting the new language to OASIS for standardization, it emerged from a technical committee in 2004 as WS-BPEL 2.0.
Web services interactions in BPEL are described in two ways:
Both models serve a descriptive role and have more than one possible use case. BPEL should be used both between businesses and within a given business.
The BPEL4People language and WS-Human Task specifications were published in 2007 and describe how people can interact with BPEL processes.
The 10 original design goals of BPEL are: