BPEL will not survive, long live BPMNPosted: May 11, 2012
Note: the article depicts my personal view on role of BPEL in evolution of SOA and BPM.
BPEL is for Business Process Execution Language, one of approved OASIS standards almost 10 years ago. It was promising standard for executable business processes in process automation at that time. Now future of BPEL is under question.
BPEL is applicable for 2 areas: services composition (ESB) and process orchestration (BPM). For ESB, it is usualy easier to use either 3rd gen languages like Java or C#, or, use ESB capabilities which usually are not BPEL based. For instance, TIBCO ESB – BusinessWorks use proprietary modeling notation for ESB/SOA, and BPEL support is optional plugin. Oracle ESB supports BPEL, though it also may be implemented w/o BPEL.
Role of BPEL for process automation is more interesting. One case may utilize BPEL as transport format between BPMN models and execution environment. There are issues. Sample scenario use Oracle BPA (Business Process Analysis) Suite for process modeling, which is ARIS-based BPMN modeling toolset and BPMN2BPEL conversion to execute processes on ESB:
The problem is that BPMN and BPEL are incompatible to such extent, that it may be easier to re-do all changes in BPEL rather than use converted models from BPMN. The other issue is need for BPEL developers in process automation team, since a lot of technical details such as data mapping between inputs and outputs are not modeled in BPMN.
Another option is to hide BPEL from design time, as Apache ODE based BPMN suites do (one of them is Intalio):
In this option, BPEL is not used in design time anymore, it is internal language specification for execution. The engine compiles BPMN to BPEL and no one is editing BPEL anymore. If so, why bother what is inside the engine? Is it important whether BPEL is used as executable model, or MSIL byte code is executed instead? No.
In modern BPM suites main modeling language for process modeling will be BPMN (2.0 or next) minimum for next 10 years. BPEL will not be used in BPM a lot.
While BPEL may still be used in services composition on ESBs, its role in BPM will be reduced over time significantly.
I would consider BPEL as temporary thing in evolution of process automation, not future or mainstream language.