BPEL script
Encyclopedia
BPELscript
BPELscript is a new language to specify BPEL processes.It provides a compact syntax inspired by scripting languages such as JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
and Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
and a full coverage of all features provided by BPEL.
History
The Business Process Execution Language (BPEL) is an XMLXML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
-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
Programming in the large
In software development, programming in the large and programming in the small describe two different approaches to writing software. The terms were coined by Frank DeRemer and Hans Kron in their 1975 paper "Programming-in-the large versus programming-in-the-small" Fred Brooks identifies that the...
in a service oriented world (SOA
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...
). BPEL is not a programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
at all and does not 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
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, ... 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
Apache ODE
Apache ODE 'executes' or 'runs' one or more business processes which have been expressed in the Web Services Business Process Execution Language . It principally communicates with one or more Web services, sending and receiving messages, manipulating data and handling exceptions as defined by any...
Group , referring to the a mix of both options. However, SimPEL is not equivalent to BPEL and its aims of specifying business process
Business process
A business process or business method is a collection of related, structured activities or tasks that produce a specific service or product for a particular customer or customers...
es. In order to come up with an easy scripting syntax
Syntax
In linguistics, syntax is the study of the principles and rules for constructing phrases and sentences in natural languages....
, 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.
BPELscript Design Goals
BPELscript provides:- a compact syntax inspired by scripting languages such as JavaScript and Ruby
- the full coverage of all features provided by BPEL
- a translation from WS-BPEL 2.0
- a translation to WS-BPEL 2.0
See also
- Business Process Execution LanguageBusiness Process Execution LanguageBusiness Process Execution Language , short for Web Services Business Process Execution Language is an OASIS standard executable language for specifying actions within business processes with web services...
- BPEL4PeopleBPEL4PeopleBPEL4People is the WS-BPEL Extension for People as proposed in a joint white paper by IBM and SAP in July 2005.- History :In June 2007, Active Endpoints, Adobe, BEA, IBM, Oracle, and SAP published the BPEL4People and WS-HumanTask specifications as a follow-up to the whitepaper, describing how human...
- Business process managementBusiness process managementBusiness process management is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to...
- Business Process Modeling Notation (BPMN)Business Process Modeling NotationBusiness Process Model and Notation is a graphical representation for specifying business processes in a business process model. It was previously known as Business Process Modeling Notation....
- Web Services Conversation Language
- WS-CDLWS-CDLThe Web Services Choreography Description Language is a W3C candidate recommendation. It is a language for describing how peer-to-peer participants collaborate...
http://www.w3.org/TR/ws-cdl-10/ - WorkflowWorkflowA workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work...
- XML Process Definition LanguageXPDLThe XML Process Definition Language is a format standardized by the Workflow Management Coalition to interchange business process definitions between different workflow products, i.e...
- Yet Another Workflow LanguageYAWLThis article is about the workflow system. For the sailing craft, see yawl.YAWL is a workflow language based on the Workflow patterns. The language is supported by a software system that includes an execution engine, a graphical editor and a worklist handler...
External links
BPELscript WebsiteStandards