SOA, BPM, CEP and business rules
Several articles, not at first obviously related, caught my eye this morning. First there was an interesting article by David Cameron on Complex Event Processing today in DM Review - A New Approach to Automating Real-World Business Processes. Then I saw one by Doug Henschen in Intelligent Enterprise talking about the BEA/Fuego acquisition - In Focus: BEA-Fuego and the SOA/BPM Convergence. Finally a second article by Doug, In Focus: Clouds on the SOA/BPM Horizon? came by.
All three of these articles are talking about different ways to manage how an organization's systems work and enable the organization to deliver value. All three approaches - BPM, SOA and CEP - are about developing flexible, easy to modify and manage systems of one kind or another. They differ in the kinds of things they are good for - BPM is good for fairly predictable processes, CEP for responding to events (BAM is another word used here) - while SOA is an approach which can underpin and improve both CEP and BPM as well as offering other benefits. I see all these approaches converging as part of a future architecture but what strikes me is not the differences but the similarities - for any of these approaches to work and to deliver the rapid-response enterprise of the future, decisions must be automated.
- If I am using BPM to automate a process, I need to automate decision points within it to get straight through processing, I cannot always refer to a person.
- If I am using CEP or BAM to respond to an event then I need to decide which events are significant, which are not and what to do about the significant ones. Again, I cannot always refer them to a person.
- If I am adopting SOA as an approach to architecting my systems then some of the shared services are going to be decision services - which cross-sell offer to make, is a transaction fraudulent, what price to offer etc.
Regardless of how many of these approaches I use I must automate decisions. If I do then I should worry about the precision of those decisions (how accurate are they), their consistency, my agility in changing them in response to changing needs, how fast I can make them and how much it costs me to make them. These 5 dimensions are what an article in the Harvard Business Review called Decision Yield. Business rules management systems and predictive analytics are the best technology I see today for this kind of automation.
So perhaps the right approach is to be fairly relaxed about which overall approach is going to be best for a given project, and just make sure you get control of the decisions that underpin it.