Tuesday, June 16, 2009

Business Knowledge Life Cycle

When talking about integration and unification of business processes, rules and event processing, people kinda understand quite rapidly what we are talking about at the runtime level (just imagine making business decisions inside your process as the most simple case). However, when we start talking about unifying or harmonization of the entire life cycle, it sometimes becomes more difficult to explain.

Over the last few days, I've been trying to find a simple figure that shows the most important phases in the life cycle of your business knowledge. You know, starting from design, followed by deployment, execution and monitoring, after which the results are analyzed, leading to a continuous optimization loop. Various research papers and industry white papers in the BPM area have their own definition (and I'm not allowed to just steal those ;)). So I decided to combine the most important steps, not to create the most complete life cycle that everyone should use as a reference (I'll leave that to the core researchers), but just to show some of the most important phases.

Now, if you take a look at the figure below, you'll notice that these phases are not only applicable for process, but for rules as well.

Business Knowledge Life Cycle
(Click on the image for a larger version)

The point that I'm trying to make is that, from the perspective of the end user, all these stages are pretty similar, whether you are using processes, rules or event rules to describe your business knowledge. The underlying technologies to achieve those steps might be completely different (for example rule analysis and process analysis are based on completely different theories), from the perspective of the end user, they usually behave pretty similar (in this case, warnings and errors about possible problems in your knowledge).

That is why we believe that you shouldn't be integrating a process-oriented, a rules-oriented and an event-oriented product and burden the end user with having to manage a completely different solution for each stage in the life cycle. We believe in having APIs and tooling that already unifies or harmonizes all these stages for you (and at the same time provides advanced integration), so the end user can simple select the most appropriate paradigm to specify their business knowledge (and combine if necessary).