Wednesday, December 12, 2007

"Seven Fallacies of BPM" a Must-Read

An excellent post over at InfoQ. Jean-Jacques Dubray makes some very valid points about BPM. I agree with what he says, but my concern is less about the gaps between BPMN and BPEL and more about the duality of the REST (Resource) view and the SOAP/BPEL (Process) view. My thoughts began to go in that direction once more.

I've created a diagram to show how SOAP/BPEL and REST are two views of the same system.

If you don't agree with my last statement, what do you think of these two sentences: "The blacksmith hammers a piece of metal" and "The piece of metal is flattened into a plate"? Most people would agree they are both describing the same situation, one from the viewpoint of the "actor" (the blacksmith) using active verbs, and the other from the viewpoint of the iron itself using passive verbs. The first is operation-oriented and describes a process (SOAP/BPEL), the second is resource-oriented and describes a lifecycle (REST). Thanks to Jean-Jacques Dubray for nudging me towards that insight.

1 comment:

JJ said...


I really like your example, but IMHO you are not asking the question in the right terms. It is not SOAP/BPEL vs REST, the question is what is the relationship between a resource (and its lifecycle) and its "interface".

Is a uniform interface enough?
Is there actions in an interface in addition to idempotent verbs like GET and PUT?
Is there events in such interface (both published and subscribed)?

For me ROA, EDA and SOA are one and the same. Breaking them appart is a terrible mistake (I don't think you argue with that).

WS-* is laking Resource and weak on event
REST is lacking contract for actions and events
EDA, well EDA is not really defined.

The solution is in combining all in one unified model, taking advantage of all strength.

This is wsper (