Welcome!

Java Authors: Roger Strukhoff, Yeshim Deniz, Dana Gardner, Liz McMillan, Elizabeth White

Related Topics: SOA & WOA

SOA & WOA: Article

WS-BPEL 2.0: Not Backward Compatible?

Orchestration is a necessity

Let's face it, WS-BPEL 1.1 was not a great standard, and left so much out that many end users and vendors found it useless. In response, the vendors put a ton of proprietary extensions in their BPEL 1.1-based products, thus diluting its value to the point of "Why bother?" This was a dirty little secret in the world of SOA. Considering that BPEL 2.0 is on the horizon, I think it's time we began to talk about what's really there, how you can fix it, and what you need to do to get from point A to point B.

What's most frustrating about the issues here is that orchestration is indeed a core feature of SOA...the configuration component that makes orchestration that part of the architecture providing agility. Orchestration, at least the notion, is a necessity if you are building an SOA. It's the layer that creates business solutions from the vast array of services and information flows found in new and existing systems. Orchestration is a god-like control mechanism that's able to put our SOA to work, as well as provide a point of control. Orchestration layers allow you to change the way your business functions, as needed, to define or redefine any business process on-the-fly. This provides the business with the flexibility and agility needed, and is the core value of SOA.

Ranting
While I've been ranting and raving about this for some time, Dave Chappell does a much better job of explaining the limitations (from his blog www.davidchappell.com/blog/2005_11_01_weblog).

"Promoting BPEL's portability helps significantly in the first of these goals, since customers like the idea of not being locked in to a single vendor. But actually making customers successful has typically required extending BPEL in proprietary ways, which works against the language's promised portability. While BPEL purists might argue that all of these extensions should be provided via programming language-neutral web services interfaces, this isn't what's actually happening in the products."

With huge investments in BPEL by the larger SOA players out there, the dirty little secret is that BPEL 1.1 never really worked as advertised, and the amount of custom and proprietary extensions required to make the technology useful meant that the money, time, and effort was pretty much wasted if "standards and portability" were the goals.

The hype behind the standard, and the larger vendors supporting it, has really pushed the notion of BPEL in the last few years. However, those who have had to build solutions using the base 1.1 technology have run into many roadblocks, and thus the vendors have responded with their own unique extensions and toolsets. Are we employing a standard that's living and breathing, allowing us to protect our investment in our work, or just an instance of a vendor's tool? This is now a key question to answer.

BPEL 2.0
Enter WS-BPEL 2.0, and another opportunity for vendors to get BPEL right. You can find the draft specification on the OASIS site (http://docs.oasis-open.org/wsbpel/2.0/wsbpel-specification-draft.pdf), which I read, and discovered that this spec was much improved, but many issues still remain. For instance, there are considerable differences in WS-BPEL 2.0 compared to its previous 1.1 version. The major differences include syntax changes to the language, the inclusion of new features including parallel for-each, and modifications to the semantics of existing constructions, such as compensation handling. There are a few more, and I urge you to read both the 1.1 and 2.0 specs before diving into BPEL, or assessing how deep you're in already.

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. I thought that this article by BEA's Alexandre Alves (http://webservices.sys-con.com/read/155617_1.htm) did a good job of summing things up.

"For all but the simplest business processes, migration from BPEL 1.1 to BPEL 2.0 is not an easy task. Some of the syntactic changes can be automated as shown [in the Alexandre Alves article], however the semantic differences, especially when dealing with links, messaging, compensation handling, and data manipulation, will demand a comprehensive and time-consuming process."

What bothers me most about this issue is not the fact that the standard, at least in some respects, is letting SOA down, but that orchestration is such a powerful need within SOAs, and there are few other alternatives that offer a better approach, standardized or not. Thus, end users who are tasked with building solutions using emerging SOA standards such as BPEL should begin to lean on their vendors now, as well as get more involved with their respective standards organizations.

I suspect the BPEL sales guys will get some angry calls around Christmastime from their users, perhaps more so considering the use of many proprietary extensions to get around the limitations of BPEL 1.1. Not a good way to start a standard. I guess that's why my old boss told me never to buy products until release 3.0.

More Stories By David Linthicum

Dave Linthicum is Sr. VP at Cloud Technology Partners, and an internationally known cloud computing and SOA expert. He is a sought-after consultant, speaker, and blogger. In his career, Dave has formed or enhanced many of the ideas behind modern distributed computing including EAI, B2B Application Integration, and SOA, approaches and technologies in wide use today. In addition, he is the Editor-in-Chief of SYS-CON's Virtualization Journal.

For the last 10 years, he has focused on the technology and strategies around cloud computing, including working with several cloud computing startups. His industry experience includes tenure as CTO and CEO of several successful software and cloud computing companies, and upper-level management positions in Fortune 500 companies. In addition, he was an associate professor of computer science for eight years, and continues to lecture at major technical colleges and universities, including University of Virginia and Arizona State University. He keynotes at many leading technology conferences, and has several well-read columns and blogs. Linthicum has authored 10 books, including the ground-breaking "Enterprise Application Integration" and "B2B Application Integration." You can reach him at [email protected] Or follow him on Twitter. Or view his profile on LinkedIn.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Ron Ten-Hove 12/20/06 01:00:32 PM EST

There is no such thing as WS-BPEL 1.1. There is a rather poor proprietary specification, called BPEL4WS 1.1, which was submitted to the OASIS WS-BPEL technical committee (I am a member of that committee). BPEL4WS 1.1 was a starting point; given its many limitations and ambiguities, backwards compatibility was never a realistic option. Also, backwards compatibility of a public standard with a proprietary specification is rather absurd, unless that specification enjoys "de facto" standard status, which certainly isn't the case for BPEL4WS 1.1.

The members of the WS-BPEL TC at OASIS put together a lot of experience in the world of business process and workflow automation. A lot of work was put into making WS-BPEL better defined that BPEL4WS, to ensure portability of process definitions, and no need to resort to vendor extensions to perform tasks beyond the "hello world" level of complexity. In the process, many features of BPEL4WS were revised or replaced, in order to make the language more useful. Alexandre Alves was absolutely correct when he observed that conversion from BPEL4WS 1.1 would be challenging.

There is no doubt many applications running in a services-based environment will feature orchestration; we see this already with the use of BPEL4WS 1.X and other proprietary process languages in production environments, today. In fact, there are those who claim that the very definition of ESB must include orchestration.

Fred Holahan 11/13/06 04:15:39 PM EST

Dave,

You really need to develop some new material. This column is just a warmed over quacking of the two posts you made at InfoWorld back in September: http://weblog.infoworld.com/realworldsoa/archives/2006/09/wsbpel_20_not_... and http://weblog.infoworld.com/realworldsoa/archives/2006/09/more_on_the_bp....

Incidentally, citing Dave Chappell’s year-old blog post doesn’t help your credibility. Chappell’s assertion that “BPEL executable processes are likely to be of limited use” has already been proven wrong by numerous real world SOA applications that use BPEL for core orchestration.

BPEL is an open spec that is about to become a standard; it has no “dirty little secrets”. While it’s true that vendors have implemented extensions to make BPEL suitable for enterprise use, the same can be said for many (if not all) successful standards. Oracle extended SQL with PL/SQL, and Sybase did so with Stored Procedures, each of which is non-portable. Do those extensions render SQL itself worthless? Let me help you here … the correct answer is “no”. The essential value of any standard is knowledge portability. SOA Web Services Journal readers who made the investment to learn SQL will understand the enormous value of that investment, and the type of payback they can expect for the investment in learning BPEL.

With regard to migrating from BPEL 1.1 to 2.0, I will only say that we at Active Endpoints have made this migration automatic. You can open any 1.1 compliant process definition in the ActiveBPEL Designer and save it as a 2.0 process definition; all syntactic and semantic migration is handled automatically. The Designer is available for free download at http://www.active-endpoints.com/active-bpel-designer.htm.

Dave, you represent yourself as objective voice in the industry dialog surrounding BPEL. I find no such objectivity in your comments. The IT community deserves to have a complete, objective picture of BPEL as this critical standard reaches mainstream adoption. I’d suggest that you get on board to that reality.

Fred Holahan
Active Endpoints, Inc.

Steve Hoffman 11/06/06 08:51:56 AM EST

Still spreadin' the FUD, eh, Dave?

Please elaborate on your claim that "the dirty little secret is that BPEL 1.1 never really worked as advertised". Is there a specific functionality that the spec describes but implementations don't, or can't, support?

And what about those "alternatives that offer a better approach"?

It sure would be nice to see a little constructive criticism. Otherwise, you're bound to dismissed as just another counter-productive "naysayer".

Steve