BPEL script

BPELscript is a language to specify BPEL processes. It provides a compact syntax inspired by scripting languages such as JavaScript and Ruby and a full coverage of all features provided by BPEL.

History
The Business Process Execution Language (BPEL) is an XML-based language to specify business processes with the intention to "act as the central controller of the business process". It provides a standardized way for programming in the large in a service-oriented world (SOA). BPEL is a programming language and does have a graphical representation. Mappings from graphical languages such as the Business Process Modeling Notation (BPMN) to BPEL are available, but programmers familiar to syntax like Java, C, ... are disregarded. Therefore, especially for prototyping or teaching, it would be nice to have a programming language which omits the XML-overhead of BPEL but offers the same features as BPEL. One option is to force the programmers to learn a completely new syntax. The other option is to introduce a new syntax to BPEL.

Therefore, the "BPEL Simplified Syntax" called SimPEL was recommended by the Apache ODE Group, referring to the a mix of both options. However, SimPEL is not equivalent to BPEL and its aims of specifying business processes. In order to come up with an easy scripting syntax, BPELscript is introduced, referring to the second option. BPELscript forks directly from SimPEL aiming on big closeness to BPEL. In contrast to SimPEL, BPELscript supports all of BPELs constructs including the correlation.

Design goals
BPELscript provides:
 * 1) a compact syntax inspired by scripting languages such as JavaScript and Ruby
 * 2) the full coverage of all features provided by BPEL
 * 3) a translation from WS-BPEL 2.0
 * 4) a translation to WS-BPEL 2.0