Build EDA without BPM?

Reading Time: 2 minutes

There is increasing hope for a conceptual “IT supercollision” around the corner. From Business Architecture and Business Modeling, via Model-Driven Engineering and its mappings to BPM (primarily for human-oriented workflow) and Business Rules (primarily for decision automation), with an underlying SOA infrastructure of flexible re-usable services, with EDA from various systems being processed through CEP (for straight-through processing and BAM as well as real-time BI and analytics), software technologies just “seem” to be coming together.

One example of this view is Michael Dortch from BPM In Action: blogging on what he calls the “big mash-up”. I liked Michael’s comment on business core needs as 2 points:

1: The ability to base every business action, decision, and process on the most accurate, consistent, secure, and timely information available, without fail.

2: The ability to answer the “Journalism 101” questions about that information – who’s using what, when, where, why, and how – accurately and completely, on demand at any time.

The first need points to BPM (for human-oriented or workflow processing) and CEP (for timely a.k.a. event-driven decisions and processes). The second points to BAM and “situation assessment” – these also probably utilizing CEP, as well as things like MDM and BI. And, of course, you drive the development of processes and rules in 1. from the results of 2.

Where we might disagree with Michael (and not suprisingly, as his view is primarily BPM-focussed), is when he says “even if you could build an EDA or an SOA without BPM, I’m not sure I’d want to see the results.” Now BPM is “event driven” (usually in terms of orchestrated workflows) and represents simple/singleton event processing, but EDAs are usually associated with straight-through-processing or monitoring of events in an automated fashion, for which CEP may be more appropriate. And BPM features like BPMN (with its current semantics) do not apply to event processing technologies like CEP. I could use BPM to determine which events get processed automatically in a CEP system, but in reality the real-time nature of most events means that I am far more likely to do things the other way round. In other words, use CEP to determine which events / identify the appropriate “complex events” that get processed manually by BPM or in particular processes. In other words, use CEP as a preprocessor to BPM.

So we’d probably reword Michael’s statement as: even if you can build BPM without an EDA or an SOA, I’m not sure it would be complete.