BPEL is used for integrating and assembling various modular service components in order to execute the business process.
BPEL stands for Business Process Execution Language. It is also known as WSBPEL – Web Services Business Process Execution Language and is maintained by the Organization for the Advancement of Structured Information Standards (OASIS).
BPEL is an XML based language that enables task sharing in a distributed computing or grid computing environment through the use of web services. BPEL is basically an amalgamation of XLANG Language (Based on block structure) and WSFL Language (Based on directed graphs).
In the jSonic BPM environment, BPEL employs web services for enabling the import and export of process information as well as execution of business process.
The main aim of BPEL is to invoke various web services in the manner as defined by the process logic. This invocation can be either sequential or parallel. BPEL constructs consist of activities (basic and structured), variables, partner links and handlers (fault and exception) to carry out its function.
BPEL basic activities include “invoke”, “reply”, “receive”, “assign”, “throw”, “wait”, “terminate” and so on. The structured activities combine these basic activities with a condition. The structure actions include “switch”, “sequence”, “flow”, “while” and so on.
The ‘Partner Link’ represents the link to a web service that is being invoked or the link used by web services to invoke a BPEL activity.
‘Handlers’ in BPEL environment are used for facing an error or exception condition.
‘Variables’ are used to map and store data in the business process. There are three types of variables – Simple, Message and Element.
BPEL supports two basic types of business processes:
•Executable Process – Contains comprehensive details about business processes and can be executed through an Orchestration Server.
•Abstract Process – Contains only the public message protocols exchanged between various parties and are not executable.
The Orchestration server provides a run time environment for executing the ‘executable process’ and can operate on any platform that supports web service development, such as Java 2 Enterprise Edition (J2EE) and Microsoft .NET, among others.