Business Process Execution Language
Definition: Business Process Execution Language (BPEL) is an XML-based web service standard designed to
define the way in which business processes utilise web services.
BPEL is a convergence of IBM’s Web Service Flow Language (WSFL) and Microsoft’s XLANG. IBM, BEA,
SAP, Siebel, and Microsoft jointly developed BPEL in 2002.
Basics of BPEL
The vast majority of modern business processes make at least some use of computer systems and
applications, whether it is to
perform a transaction, process data or one of any number of other tasks.
In recent years we have seen 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
unutilised, 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.
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.
The BPEL Engine (such as IBM’s WebSphere 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.
Benefits of BPEL
The use of BPEL tools to access the functionality of web services offers a wide range of benefits, including:
Improved Access to Data and Services:
Process designs succeed or fail on their ability to efficiently perform repeatable tasks. By enabling
access to disparate applications – both within the enterprise and in the form of web services – it is
possible to reduce the time necessary to complete a single unit of work, thus reducing the time cycle
of the process as a whole.
Additionally, access to web services can enable the increased automation of steps in a business process,
reducing the burden on staff members and further increasing efficiency.
Increased Business Agility:
The process of implementing new in-house applications and
infrastructure can represent an enormous drain
on enterprise resources. Just as damaging is the fact that technology rollout can take many months to complete.
Enterprises demand high levels of flexibility from their IT systems, and the slow implementation of
in-house applications doesn’t stand up to the task. Conversely, the implementation of web services
using BPEL tools is relatively immediate, allowing enterprises to instantly respond to changing market
conditions by simply modifying business processes to utilise new web services.
Naturally, this ability to respond quickly to market changes can offer enterprises a new core competency
and competitive advantage.
Reduced Integration Expense:
One of the problems that service-oriented architecture sets out to solve is that of poor technology
integration. For business processes to effectively utilise
business intelligence assets within an
enterprise it is necessary to ensure that applications can communicate and share data. However, many
IT architectures suffer from poor integration and islands of information.
The Service-oriented architecture model reduces the financial burden on enterprises to integrate
their computing environment by enabling access to standards-based web services. By relying more
heavily on web services an enterprise can reduce the need to invest in a costly EAI program.