Business Process Execution Language

April 17, 2012

The Business Process execution language (BPEL) is an XML (eXtensible Markup Language) based language, initially developed by IBM and Microsoft to standardize business processes execution. In 2003, other contributors from BEA Systems, SAP and Siebel joined IBM and Microsoft to create BPEL4WS (BPEL for Web Services) Version 1.1. They submitted BPEL4WS to OASIS(Organization for the Advancement of Structured Information Standards) for standardization. OASIS is a global organization that drives the adoption of e-business and web service standards. BPEL Version 1.1 gathered momentum and attention from major vendors, thus leading to numerous BEPL based orchestration engines created for commercial use. The official WS-BPEL 2.0 (Web Service BPEL) was released in April 2007 under the stewardship of OASIS. Lately modern ERP (Enterprise Resource Planning) software vendors are adapting to BPEL standards and building their applications using BPEL engines. One example is Oracle’s new Fusion application. Oracle spent lot of time and money to convert its existing ERP applications into business process based applications by using Oracle’s BPEL engine and JDeveloper development tools to build Fusion applications.

BPEL was created in an effort to standardize business process execution. It is a standard for assembling a set of discrete services into an end-to end process flow. It provides a framework for a standard business processes and business interaction protocols. The modern e-business application performs machine to machine interaction using Web Services and it has become an industry standard to communicate between two independent computer systems over the internet. The framework used to deploy the Web Services is called SOA (Service Oriented Architecture) architecture. BPEL complements the Web Services interaction model and enables it to support business transactions. All external communication which happens in the BPEL is through Web services.

BPEL process consists of one or more web services orchestrated in a specific order in which the web services should be invoked. Web services invoke can be in a parallel or a sequential order. Conditional statements can be added to invoke the web services. We can add process looping, assign variables, exception handing etc. Using all these logics a complex business process can be constructed in an executable way.

A typical BPEL process, first receives a request, then the process invokes the orchestrated web service and gets the response from the remote system, Based on the response and condition defined, it executes the next step in the business process. Each step in the BPEL process is called an activity. Examples of some of the activities are;

  • Invoking Web Services
  • Receiving a request.
  • Generate response and reply.
  • Manipulate variables.
  • Handle exceptions
  • Waiting
  • Terminate the process. etc.

BPEL is a standard programming language like Java, but it not as powerful as Java. It is much simpler to use and well suited for business process definition. BPEL is not a replacement but it is a supplement to present programming languages like Java. BPEL do not have standard graphical notation. The OASIS committee decided to stay away from creating notation for BPEL. Some vendors have created their own notation and others have proposed to use BPMN (Business Process Model and Notation) to design and document BPEL processes. IT vendors such as Oracle developed IDE (Integrated Development Environment) tool called JDeveloper to build business processes. The IDE has pre-build functionality to develop BPEL process by drag and drop of BPEL elements/activity and connect them together based on the business process. These products are mostly used by technical developers and technical architects rather than business analysts. BPEL tools radically reduce the costs and complexity of process interaction initiatives and increase business agility.

By: Dhinakaran Gurusamy

References :

Bpel.xml.org

http://www.softcare.com/whitepapers/wp_whatis_bpel.php

http://www.theserverside.com/news/1364554/BPEL-and-Java

http:// oasis-open.org

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

www.oracle.com

Advertisements

2 Responses to “Business Process Execution Language”

  1. This technology allows one to efficiently develop applications utilizing web services that are currently in use. Thank you Dhina for this blog. This technology is definitely worth exploring to further leverage what has already been accomplished in the realm of web services for business processes. Why “reinvent the wheel” when it is already spinning – simply speed up!

  2. Blane McCarthy said

    Good post. After researching SOA I want to get a better understanding of the tools related to that architecture. This was helpful.

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: