Thursday, December 14, 2006

Introduction to BPEL

The buzz word in the A2A (Application to Application) and B2B or B2C markets these days is BPEL.Technology grows at a rapid pace and so are the ideas. The concept behind BPEL is simple - process oriented orchestration.

BPEL stands for Business Process Execution Language. The base on which the BPEL stands is Web Services and the language used is XML.

BPEL is a concept of orchestrating or composing a list of Web services and produce a process or a flow between those Web services. The final output is again another Web service (called as a BPEL Flow) is an orchestrated form of Web services which combined process flow gives great results.

I will try to explain this in a layman terms with an example:

As seen in the picture, ABC Limited is a manufacturing company. This company has DEF as a partner who supplies the raw materials and XYZ is another supplier supplying the same material. ABC gets the material from one of these suppliers who quote less price. GHI as a customer (another partner) will purchase the goods, and PQR is a partner who is outsourced the work to maintain the material management.



Automation of communication of data flow between these entities before BPEL evolved:
ABC Ltd has to know the following for an effective and automated way of communication with the partners:
a) datamodel of each of the partners mentioned above, for example, it has know how XYZ provides the quotation and how XYZ can understand the data sent by ABC.
b) ABC has to know how to interact with each of these, for example, which URL to contact, what programming interface each of them use, which protocol is used for communication, security concerns over those protocols, etc.

ABC has to acquire high skilled programmers or consultants to implement this architecture. Imagine what if is no need to bother about the programming language, no need to bother about the protocols and security communication.

This is where the BPEL comes into the picture. It is standard based on XML, so language and platform nuetral. It is a plain ASCII file, so can pass through any of the firewalls and with a bit of encryption we get lot of security.

We can define a business process flow using BPEL which will get the data from different sources and get the end-result in a single step. Not only composing the process, but BPEL will also support looping, if structures, switch structures to carry out the flows in a different manner based on different scenarios.

BPEL is a standard or a specification which many vendors have implemented. Out of those many vendors, Oracle BPEL is one of the implementations of BPEL.

This is a 10,000 feet birds view of BPEL. We will go down more in next sessions.

No comments: