Business Process Execution Language (BPEL)
Definition - What does Business Process Execution Language (BPEL) mean?
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.
Techopedia explains Business Process Execution Language (BPEL)
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:
- Executable business processes, a model of actual human behavior
- Abstract business processes, a partially specified process not intended to be executed, but with some of the required concrete operational details hidden
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:
- Define business processes that interact with Web-service operations
- Define business processes that employ an XML-based language
- Define a set of Web service orchestration concepts to be used by both the abstract and the executable views of a business process
- Provide and implement both hierarchical and graph-like control regimes
- Provide for data manipulations as needed to define process data and control flow
- Support an identification methodology for process instances as defined by partners, while recognizing that they may change
- Support the implicit creation and termination of process instances
- Define a long-running transaction model based on proven techniques
- Use Web-based services as a model for process decomposition and assembly
- Build on Web service standards