BPEL bopped, for the umpteenth time

The world has been having a love/hate relationship with BPEL -- Business Process Execution Language. It is seen as the glue that will make all the moving parts of SOA work together, but often criticized as laden with vendor extensions and lacking flexibility.

The world has been having a love/hate relationship with BPEL -- Business Process Execution Language. It is seen as the glue that will make all the moving parts of SOA work together, but often criticized as laden with vendor extensions and lacking flexibility.

BPEL 1.1 'never really worked as advertised,' and may not be compatible with BPEL 2.0.

A couple of months back, Web services guru David Chappell branded BPEL as "bytecode" (with all the limitations that go with it), adding that he's "not convinced that BPEL has much of a future as an executable language."

Lately, SOA industry champion Dave Lithicum and ActiveBPEL founder Fred Holahan have had a go-around on the viability of BPEL.

In a recent post at his InfoWorld blog, Dave Linthicum said "the dirty little secret is that BPEL 1.1 never really worked as advertised, and the amount of custom and proprietary extensions required making the technology useful meant that the money, time, and effort was pretty much wasted if standards and portability was the goal."

If BPEL 1.1 was bad, then the latest incarnation, WS-BPEL 2.0, is even worse, Linthicum says. "With huge investment in BPEL by the larger SOA players out there, enter WS-BPEL 2.0, and another opportunity for vendors to get BPEL right...." But he notes, "WS-BPEL 2.0 has considerable differences to its previous 1.1 version," including syntax changes to the language, inclusion of new features including parallel for-each, and modifications to the semantic of existing constructions, such as compensation handling... So, what if I already implemented orchestrations using BPEL 1.1, what do I do now? In short, you purchased Beta and the world is moving to VHS."

Fred Holahan, chairman and founder of Active Endpoints (parent company of the open source ActiveBPEL engine), responded to Linthicum's criticisms, noting that as is the case with many standards, "BPEL is a work in progress," and that BPEL 1.1, "while certainly imperfect, provides a rich grammar for expressing a broad range of service orchestrations. BPEL 1.1 (with or without vendor extensions) has been used as the cornerstone of many deployed SOA applications.... Like it or not, BPEL is rapidly achieving 'de facto standard' status." 

And BPEL 2.0? The new standard "represents a meaningful step forward, adding important constructs and resolving prior ambiguities." He also observed that many of the BPEL 1.1 users he's worked with "have generally been mindful of the reality that they're building orchestrations based on an evolving standard, and they've factored some rework effort into their plans." There have been no major issues encountered with BPEL 1.1 to 2.0 migrations among ActiveBPEL users, he said.