The purpose of life is not to win. The purpose of life is to grow and to share. When you come to look back on all that you have done in life, you will get more satisfaction from the pleasure you have brought into other people's lives than you will from the times that you outdid and defeated them.

BPEL vs XPDL

BPEL:

BPEL is an execution language for Business Process which it achieves via Web service interactions.

Pros:

1. BPEL is powerful since it is based on orchestration mechanism. Since there are lot of WS* specifications, BPEL is tipped to support WS* specs more effectively than XPDL, due to the fact that BPEL itself is based on Web service interactions.
2. Even though XPDL and BPEL are open standards, BPEL is embraced by more vendors, like IBM Websphere Process Server, Oracle BPA, jBPM.
3. BPEL evangelists claim that a BPEL generated by one tool can be executed in any of the process engines. I'm not sure whether this is possible always.

Cons:

1. BPEL spec is too difficult to understand and complicated.
2. The time taken to develop a BPEL process takes more time than BPMN+XPDL process.
3. Not human friendly - however BPEL4People/WS-HumanTask are intended to help BPEL.

BPMN + XPDL:

XPDL schema transforms BPMN representation to process engine executable language.

Pros:

1. BPMN is human readable. Captures, process semantics and graphical details.
2. XPDL is easily extendable. Provides more scope for BPM product vendors since, XPDL is easily extendable to provide proprietary add-ons.
3. Even though not embraced like BPEL, its immensely popular among the best selling BPM products, like Savvion, Aqua Logic, iProcess, Global 360, EMC, Adobe, Cape Vision.

Cons:

1. Vision for support on WS* specs are very poor.
2. XPDL is becoming very product dependent, since product vendors extend it by putting add-ons.

My personal opinion is both XPDL and BPEL are still immature and we have to wait and watch, which among these two become widely adopted. BPEL process getting executed on any process engine is still not a reality. Its like EJB being deployable on any App server promised by J2EE spec, but the reality is lot deviated from the stated premise.

Why BPEL Matters?

No comments: