Probably the most important promise of Service Oriented Architectures (SOA) is the ability to define business processes as a composition of web services in a relatively easy way, which closes the gap between business process definitions and their actual realization in information systems.
Traditionally business processes have been defined in specialized visual languages which have not been executable meaning that a well defined business process had to be implemented in the information system using a combination of programming languages or specialized business process management (BPM) solutions (almost always vendor specific). Implementation of business processes has been complex, and so have been the modifications. This was the major reason that information systems could not keep pace with the changing requirements of business processes and have thus not been adaptable enough.
The solution for this problem is called BPEL (Business Process Execution Language, also known as WS-BPEL or BPEL4WS). BPEL addresses the above mentioned problems and has the ability to express business processes in a standardized way, using a commonly accepted language.
Within enterprises, BPEL is used to standardize enterprise application integration and extend the integration to previously isolated systems among business partners. Between enterprises, BPEL enables easier and more effective integration with business partners. BPEL stimulates enterprises to further define their business processes, which in turn leads to business process optimization, reengineering, and the selection of the most appropriate processes, thus further optimizing the organization. Definitions of business processes described in BPEL do not impact on existing systems, thus stimulating upgrades. BPEL is the key technology in environments where functionalities already are or will be exposed as services.
IBM, BEA, and Microsoft developed the first version of BPEL in August 2002. Since then SAP and Siebel have joined, which has resulted in several modifications and improvements and adoption of version 1.1 in March 2003. In April 2003, BPEL was submitted to OASIS (Organization for the Advancement of Structured Information Standards) for standardization purposes where the WSBPEL TC (Web Services Business Process Execution Language Technical Committee) has been formed. Many vendors have joined the WSBPEL TC since. This has led to even broader acceptance in industry.
With BPEL, business processes can be described in two distinct ways:
- We can specify the exact details of business processes. Such processes are called executable processes and follow the orchestration paradigm. They can be executed by an orchestration server.
- We can specify the public message exchange between parties only. Such processes are called abstract business protocols. They do not include the internal details of process flows and are not executable. They follow the choreography paradigm.
A BPEL process specifies the exact composition order of participating web services. This can be done sequentially or in parallel. With BPEL, we can express conditional behavior, construct loops, declare variables, copy and assign values, define fault handlers, and so on. By combining all these constructs, we can define complex business processes in an algorithmic manner. We can describe deterministic as well as non-deterministic flows and address advanced features such as support for long-running transactions, fault and event handling, compensation, message correlation, etc.
Because BPEL has been designed specifically for definition of business processes, it provides good support for most specifics of business processes. BPEL is platform independent and can be used with Java EE, .NET, or any other platform. Today BPEL servers from several prominent vendors exist, such as Oracle BPEL Process Manager, Microsoft BizTalk 2004, IBM WebSphere Business Integration, and open source implementations, such as ActiveBPEL Engine. With the support provided by the BPEL servers we can develop portable business processes which can be shared among partners no matter which software platform they use and this, together with the capabilities of BPEL, are the main reasons why we should start using BPEL.
More on this topic
Windows brought drop-and-drag computing to the masses. Now Microsoft wants to do the same for business process automation ...
BPM-1 is finished. The second generation of Business Process Management software is coming ...
Most web services projects are missing out on choreography, a vital extra layer ...
By Matjaz Juric, Benny Mathew and Poornachandra Sarang. A comprehensive guide to BPEL, covering the BPEL standard and two BPEL servers — Oracle BPEL Process Manager and Microsoft BizTalk Server 2004. It shows how to use BPEL by examples and is aimed at architects and developers in the design phase of advanced service oriented architectures.