Edit or add pages to this section of the BPEL Wiki Knowledgbase.
The Web Services Business Process Execution Language (WS-BPEL) provides a language for formally describing business processes and business interaction protocols. WS-BPEL (pronounced 'bee-pell', 'bipple', or 'bepple') was designed to extend the Web Services interaction model to support business transactions.
WS-BPEL 2.0 was approved as an OASIS Standard in April 2007. It defines a model and a grammar for describing the behavior of a business process based on interactions between the process and its partners. The interaction with each partner occurs through Web services interfaces. The WS-BPEL process defines how multiple service interactions with these partners are coordinated to achieve a business goal, as well as the state and the logic necessary for this coordination.
Think of a WS-BPEL process as a reusable definition that can be deployed in different ways and in different scenarios, while maintaining a uniform application-level behavior across all of them. WS-BPEL introduces systematic mechanisms for dealing with business exceptions. This is essential because not all transactions are straightforward and simple. WS-BPEL lets you define how you want activities to be compensated in cases where exceptions occur or a partner requests reversal.
WS-BPEL separates the public aspects of business process behavior from internal or private aspects--and supports both. The standard can be used both for executable processes, which describe the actual behavior of participants in business interactions, and for abstract processes, that may be used to represent publicly observable behaviors. Abstract processes serve a descriptive role and allow for more than one possible use case.
By providing a language for specifying both executable and abstract business processes, BPEL extends the Web services interaction model to help better support business-to-business transactions. This protects business partners from the need to reveal all their internal decision making and data management to one another. Separating public from private processes also provides companies with the freedom to change confidential aspects of the process implementation without affecting the observable behavior.
WS-BPEL leverages other Web services standards such as SOAP and WSDL for communication and interface description. By describing the inbound and outbound process interfaces in WSDL, BPEL enables them to be easily integrated into other processes or applications. In turn, this allows consumers of a process to inspect and invoke a BPEL process just like any other Web service, thereby inheriting all other aspects of a Web service such as quality of service policies.
- Frequently Asked Questions (FAQ)
- WS-BPEL 2.0 Primer
- BPEL4WS Design Goals
BPEL4People version 1.0 introduces a BPEL extension to address human interactions in BPEL as a first-class citizen. It defines a new type of basic activity which uses human tasks as an implementation, and allows specifying tasks local to a process or use tasks defined outside of the process definition. This extension is based on the WS-HumanTask specification.
Web Services Human Task (WS-HumanTask) version 1.0 introduces the definition of human tasks, including their properties, behavior and a set of operations used to manipulate human tasks. A coordination protocol is introduced in order to control autonomy and life cycle of service-enabled human tasks in an interoperable manner.
The following specifications have not yet been submitted into the open standards process:
Note on spec names/versions: Although BPEL4WS appeared as both a 1.0 and 1.1 version, the OASIS WS-BPEL Technical Committee voted to name their specification 'WS-BPEL 2.0.' This change in name was done to align BPEL with other Web services standard naming conventions which start with WS- and accounts for the significant enhancements between BPEL4WS 1.1 and WS-BPEL 2.0.
- BPEL4People — How People Interact with Business Processes by Ivana Trickovic
BPEL4WS 1.1 was contributed to the OASIS WS-BPEL Technical Committee, where it was advanced through an open process. The following list summarizes the major changes the Committee incorporated in WS-BPEL 2.0.
- Design Goals of the BPEL4WS Specification
The Business Process Execution Language for Web Services (BPEL4WS) was first conceived in July, 2002 with the release of the BPEL4WS 1.0 specification, a joint effort by IBM, Microsoft, and BEA. This document proposed an orchestration language inspired by previous variations, such as IBM’s Web Services Flow Language (WSFL) and Microsoft’s XLANG specification.
Joined by other contributors from SAP and Siebel Systems, version 1.1 of the BPEL4WS specification was released less than a year later, in May of 2003. This version received more attention and vendor support, leading to a number of commercially available BPEL4WS-compliant orchestration engines. Just prior to this release, the BPEL4WS specification was submitted to an OASIS technical committee so that the specification could be developed into an official, open standard.
The OASIS WS-BPEL Technical Committee was active from April 2003 to May 2007. It was co-chaired by Diane Jordan of IBM and John Evdemon of Microsoft. The Committee's email archives remain publicly accessible.
In April 2007, WS-BPEL version 2.0 was approved as an OASIS Standard. More than 37 organizations collaborated to develop WS-BPEL, including representatives of Active Endpoints, Adobe Systems, BEA Systems, Booz Allen Hamilton, EDS, HP, Hitachi, IBM, IONA, Microsoft, NEC, Nortel, Oracle, Red Hat, Rogue Wave, SAP, Sun Microsystems, TIBCO, webMethods, and other members of OASIS.
In January 2008, OASIS issued a Call for Participation in the BPEL4People Technical Committee. The group works to define a WS-BPEL extension enabling the definition of human interactions ("human tasks") as part of a WS-BPEL process.
- OASIS press release: 'Members Approve WS-BPEL 2.0 as OASIS Standard' April 2007
- OASIS press release: 'Members Form WS-BPEL Technical Committee' April 2003
- WS-BPEL 2.0 Primer