Business Process Execution Language (BPEL)

April 18, 2012

BPEL, stands for Business Process Execution Language, and comes from a standards consortium of BEA Systems (acquired by Oracle Inc. in 2008), IBM and Microsoft. BPEL was first conceived in July 2002 with the release of BPEL4WS (BPEL for Web Service) 1.0 specifications. BPEL combines and replaces IBM’s Web Services Flow Language (WSFL) and Microsoft’s XLANG specification. It provides an orchestration engine for describing exchanges of information internally or externally. It deals explicitly with functional aspects of business processes like control flow (loop, branch, parallel), asynchronous conversations and correlation, long running nested units of work and compensation (1). In May 2003, other contributors from SAP and Siebel Systems joined and BPEL4WS version 1.1 was released. In April 2007, WS-BPEL TC (Web Service BPEL Technical committee) from OASIS (Organization for the Advancement of Structured Information Standards, a not-for-profit consortium) approved version 2.0.

BPEL is a XML (eXtensible Markup Language) based workflow definition language which allows businesses to describe inter or intra enterprise business processes that are connected via web services. It is a markup language for composing a set of discrete services into an end-to-end process flow, radically reducing the cost and complexity of process integration initiatives. It is a rich support for asynchronous interactions, parallel processing and exception management. The older technology like workflow can be replaced by BPEL, in organizations which use web services extensively.

BPEL will emerge as the leading industry standard for Web service orchestration and coordination of business processes (2). BPEL is the future of the integration space because the value is so much higher when you provide not only a way to integrate applications, but also a way to create services from them and put them into business processes (3).

BPEL is used to model the behavior of both executable and abstract processes. The scope includes:

· Sequencing of process activities, mainly Web service interactions.

· Correlation of messages and process instances

· Recovery behavior in case of exception conditions or failures

· Bilateral Web Service based relationships between process roles (4)

Some of the advantages of using BPEL are:

· Provides industry standard language for expressing business processes

· Leverage a common skill set and language

· Abstracts business logic and responsibility

· Designed to fit naturally into the Web services stack

· Expressed entirely in XML

· Uses and extends WSDL 1.1

· Portable across platform and vendor

· Uses XML Schema 1.0 type definitions for the data model

· Interoperable between interacting processes (5)

In recent years there has been the development of Service-Oriented Architecture (SOA), a framework that allows application modules to share functionality with each other, regardless of the technical differences between them. Through the use of these services it becomes possible for process designers to make use of applications both within and without the enterprise that would otherwise have remained unutilized, allowing them to design faster, more efficient processes.

For enterprises to exploit these applications, however, it is necessary to implement a language framework that enables programming in the large – that is, programming logic that encodes information such as when to send messages, when to wait for messages and when to compensate for failed transactions. This language allows process designers to write code that orchestrates the use of application modules such as web services in business processes.

The BPEL architecture allows process designers to perform these tasks using three tools: a BPEL Designer, a BPEL Engine and a process flow template.

BPEL Designer: The BPEL Designer is a graphical user interface (GUI) used to design a business process. A business process designer inputs the details of the process flow, including details of any web services required during the process. Once the process flow has been defined the BPEL designer generates a process flow template written in the BEPL language.

BPEL Engine: The BPEL Engine (such as IBM’s Web Sphere Process Server) is a tool used to execute the instruction provided by a process flow template. In addition to invoking the required web services the BPEL Engine also performs a number of related tasks such as error handling, data mapping, security, etc.

Process Flow Template: The process flow template is a set of instructions written in the BPEL standard that outlines the logic flow of a process. The process flow template generated by a BPEL designer, acts as an instructional roadmap for the BPEL engine.

Some of the BPEL engines and toolkits are ActiveVOS by Active Endpoints, Apache ODE by ASF, Oracle BPEL Process Manager and OPEN ESB by Oracle, BizTalk server by Microsoft, WebSphere Process Server by IBM, Parasoft BPEL Maestro by Parasoft, NetBeans IDE by Netbeans Community, JDeveloper by Oracle, ActiveBPEL Designer by Active Endpoints and JBoss developer.

By: Krishnan Iyer

References:

1. Softcare – http://www.softcare.com/whitepapers/wp_whatis_bpel.php

2. Gartner – http://www.gartner.com

3. Forrester Research Inc. – http://www.forrester.com

4. WS and SOA – http://www.service-architecture.com/web-services/articles/business_process_execution_language_for_web_services_bpel4ws.html

5. BPELXML.ORG http://bpel.xml.org/why-use-bpel

http://en.wikipedia.org/wiki/Business_Process_Execution_Language

http://www.oracle.com

http://www.oasis-open.org/

Advertisements

One Response to “Business Process Execution Language (BPEL)”

  1. Ronique said

    This really helps to make companies more efficient. By helping to remove bottlenecks, this saves the company money and speeds up their applied processes.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: