Mark Proctor, he of Drools fame, posted today on his vision for unifying rules and processes. Not content with describing me as “large” and “infamous” in a previous post, now he has to get my blood pressure up with this new post! Seriously, though, I am going to disagree with Mark’s basic premise.
For starters, the reason for focusing on stateless decision services is that such a model is a good fit with how companies handle decision-making in operational systems. Decisions:
- Are not always tightly coupled with processes
- Often change on a very different cycle than the processes that use them
- Often have a very different complexity level
- Are managed/understood by users quite differently
While it may, intellectually, be interesting to consider them both forms of declarative programming, I am not sure such a collapsed view of the world is useful. After all, if I must be able to unify rules and process, why not unify user interface and database too? Why propose only a partial platform? Why not just endorse the Oracle-platform-for-everything approach?
If the “superficial” level of integration he mocks is not enough, are we to assume he dislikes SOA as an architectural approach? Surely the level of integration between business processes and services implicit in the decision service approach is the same as that between services in SOA? Would he argue that we need a unified model across all services? Isn’t that what we already tried when we built monolithic applications? I believe that both business process management and decision management are part of what is needed to build composite applications on a service-oriented framework. Collapsing the two seems both unnecessary, in a composite world, and unhelpful.
I don’t disagree that many processes could benefit from the inclusion in the process engine of a more robust rules capability. I just don’t think this replaces the need for decision services managed and developed independently from the process. As Jim Sinur, said when he was at Gartner “Rules that are encased inside business processes are stealing business opportunities that depend on speed of change”.
This is a regular topic on my various blogs so here are some other links with my POV:
- Business Rules, Business Decisions, Intelligent Processes, Enterprise Decision Management
- Why you SHOULD loosely couple processes and rules
- BPM in 2007 and beyond
- Don’t over-synchronize processes and rules
- Live from Business Rules Forum – Business Process Management with Business Rules and Business Intelligence
- Separating rules and process (Sandy Kemsley)
What do you think?