BPEL

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

<pageby nominor="false" comments="false"/>

Definition

Business Process Execution Language (BPEL), short for Web Services Business Process Execution Language (WS-BPEL) is an executable language for specifying interactions with Web Services. (Wikipedia)

“Web service interactions can be described in two ways. Executable business processes model actual behavior of a participant in a business interaction. Abstract business processes are partially specified processes that are not intended to be executed. An Abstract Process may hide some of the required concrete operational details. Abstract Processes serve a descriptive role, with more than one possible use case, including observable behavior and process template. WS-BPEL is meant to be used to model the behavior of both Executable and Abstract Processes.(Business Process Execution Language, retrieved jan 5 2009).”

The language

History

According to Wikipedia (retrieved 11:14, 30 June 2010 (UTC)), IBM and Microsoft had each defined their own similar business execution languages: WSFL and XLANG XLANG. With the popularity and advent of BPML, and the growing success of BPMI.org and the open BPMS movement led by JBoss and Intalio Inc., IBM and Microsoft decided to combine these languages into a new language, BPEL4WS. In April 2003, BEA Systems, IBM, Microsoft, SAP and Siebel Systems submitted BPEL4WS 1.1 to OASIS for standardization via the Web Services BPEL Technical Committee. Although BPEL4WS appeared as both a 1.0 and 1.1 version, the OASIS WS-BPEL technical committee voted on 14 September 2004 to name their spec WS-BPEL 2.0. This change in name was done to align BPEL with other Web Service standard naming conventions which start with WS - and accounts for the significant enhancements between BPEL4WS 1.1 and WS-BPEL 2.0. If not discussing a specific version, the moniker BPEL is commonly used. In June 2007, Active Endpoints, Adobe Systems, BEA, IBM, Oracle and SAP published two extensions, i.e. BPEL4People and WS-HumanTask, which describe how human interaction in BPEL processes can be implemented.

Principle

BPEL is an orchestration language, i.e. it defines the behavior of a single actor (participant, business unit) in terms of an execution of a business process, sequentially or not. “BPEL is used to define the coordination of a process flow as well as related semantics, including parallelism, sophisticated exception handling, data transformation, and transaction compensation facilities. [...] Asynchrony, parallelism, sophisticated exception handling, long-running processes, and a need for compensating transactions change the fundamental nature of what we think of as an application. In order to support the required executable behavior, BPEL provides constructs for control-flow (conditionals, sequencing, parallelism, loops), variables, and constructs for manipulating them; event handlers, timeouts, exceptions, and forward recovery; and nested scoping units of work.” (Process-Centric Realization of SOA, retrieved June 30 2010).

The WS-BPEL Metamodel
Simplified WS-BPEL 2.0 Meta model. Source: WS-BPEL 2.0

Tools

Visual design tools
  • BPMN is an example of a visual design language that in principle can compile into PBEL
BPEL applied to e-science
  • OMII-BPEL, OMII-BPEL brings an industrial standard, BPEL (Business Process Execution Language) to scientific workflow modeling and Grid services orchestration.

In education

Karampiperis and Sampson argued that BPEL (or rather a graphical representation language) could be used to design learning designs/ pedagogical scenarios that then can be compiled into IMS Learning Design Level A Representations.

Links

Introductions
Standards
Tools

Bibliography

  • P. Karampiperis and D.Sampson: "Towards a Common Graphical Language for Learning Flows: Transforming BPEL to IMS Learning Design Level A Representations", in Proc. of the 7th IEEE International Conference on Advanced Learning Technologies (ICALT 2007), ISBN: 9780769529165, pp. 798-800, Niigata, Japan, IEEE Computer Society, July 2007.