IT|Redux

What is BPEL good for?

Tuesday, December 13th 2005 | Ismael Ghalimi

A lot of people have complained that BPEL is not appropriate for the modeling of business processes and does not provide support for human workflow. They are right! But instead of complaining about it, they really should rejoice that BPEL, as an execution language for business processes, is a pretty darn good specification that does a great job at what it was supposed to do: executing business processes.

BPEL is not a business process modeling language, first and foremost because there should not be such thing (our naming of BPML was misleading in this respect). Business analysts do not use languages, they use notations. As such, BPEL is not usable by business analysts, but the Business Process Modeling Notation  (BPMN) is, and BPEL is a great execution language for business processes because one can go from the BPMN notation to the BPEL execution automatically, without having to manually write code. Nobody said it’s easy, but it’s possible.

BPEL does not provide support for human workflow because it should not. Human workflow is just an other type of process — some would say a process pattern, and as such can be modeled as yet an other BPMN process. As a result, and as long as the software vendor has done a good job of supporting the BPMN and BPEL specifications, one can come up with pretty much any workflow pattern known to man, design it in BPMN and get it deployed in BPEL. What is needed is a set of standard workflow patterns that can be described in BPMN, translated into BPEL and support interoperability with existing workflow engines. BPEL4People is one such pattern, and even though it’s not complete yet, it’s definitely a step in the right direction.

In and by itself, BPEL is not of much use to anyone getting into BPM. What is needed is the combination of BPMN, BPEL and workflow patterns such as BPEL4People. This 3B combo really forms a stack of standards for BPM, and a BPMS that can support it sure beats any proprietary product out there.

Entry filed under: BPM 2.0, SOA, Standardization

2 Comments - Add a comment

1. Leo  |  April 23rd, 2006 at 11:14 pm

Ismael,

I agree with you that BPEL does what it is intended to do. But don’t you think that instead of having multiple workflows for different services, we should have all those features in BPEL? Then it becomes easier for orchetrating business processes. I think that’s what stops its faster adoption…

2. Ismael Ghalimi  |  April 24th, 2006 at 2:16 pm

Leo,

I agree with you that the lack of support for human workflow in BPEL has been slowing adoption down, but I’m not sure that I agree with the fact that it should be baked into the BPEL specification. Instead, I believe that having a set of standardized workflow services built on top of BPEL would give people what they need, without having to make any change to the BPEL specification itself, much like access control for a relational database can be built with custom user tables and standard SQL statements, without having to make any changes to the SQL specification itself.

Trackback this post  |  Subscribe to the comments via RSS Feed

Leave a Comment

Required

Required, hidden