Modeling your Business Logic: BPM, Rules, and CEP (Part 1)

One of the more common usages of Mule is as the integration piece of a larger SOA architecture. Mule has traditionally never attempted to offer a complete SOA suite/stack of products as some of its larger competitors do, but has rather focused on the thing it does best, which is integration. Other aspects of an SOA architecture (messaging backbone, data storage, governance, etc.) are generally provided by other best-of-breed solutions for those areas, and Mule allows you to integrate with as many different options as possible.
When it comes to modeling your SOA application’s business logic, you could just code it all up in Java and keep stateful information in an RDBMS. However, if your business logic has a considerable amount of complexity to it, is frequently changing, or is defined/maintained in large part by functional/business analysts, you might consider modeling parts or all of it with a BPMS/Process Engine, Business Rules, or even CEP.
Since these are not exactly household terms, let’s provide a bit of definition:
What is BPM?
A Business Process Management (BPM) system (sometimes referred to as a Process Engine) is used to model an enterprise’s business processes and the interactions among them. These processes may be completely automated or they may involve human intervention. When human intervention is involved, the term “workflow” is often used instead of “process”.
What are Business Rules?
Business Rules are a more declarative approach to modeling business logic where the logic is defined in a ruleset as opposed to a process. Changes to relevant data cause one or more rules from the ruleset to execute.
What is CEP?
Complex Event Processing (CEP) refers to an application where a stream or cloud of multiple events is analyzed by business rules in order to detect complex patterns or relationships within those events, generally in real-time.
Although some SOA vendors will make it sound like BPM competes with an integration software such as Mule, they are actually quite complimentary tools since a Process or Rules engine tends to focus on modeling your business logic while Mule focuses on integrating your business logic with the outside world (internal/external systems, datastores, other applications, services in the cloud, etc.)
There is a case to be made for using each or none of these tools based on the business logic you need to model and other organizational considerations, but it is beyond the scope of this post to explain all of those considerations here.
As to be expected, there are some excellent open source solutions available for these areas, just to name a few here:
BPM – JBoss jBPM, Drools Flow, Activiti, Bonita, OSWorkflow
Business Rules/CEP – Drools, Esper, Prova, Jess
In part 2 of this post, I will discuss what Mule has to offer for integrating with some of these tools.
Hongchao Nie
April 25th 2011
Great post. Process, rules, and CEP is the exact point emphasized by JBPM5. Does this post mean JBPM5 integration in Mule is on the way?
Travis Carlson
April 25th 2011
That is the topic of part 2 of this post, so stay tuned. 🙂
Hongchao Nie
April 25th 2011
That’s great! I’m looking forward to it!
a
April 29th 2011
Not sure Business Rules and CEP should lumped together like that.
Ken
May 20th 2011
Any idea when part 2 will be published? This is a great topic and something which I have an urgent need to explore!
Many thanks,
Ken
s.Daniel
May 23rd 2011
JBoss jBPM is the new name of Drools Flow so they are basically the same, did you mean Drools Guvnor? http://www.jboss.org/drools/drools-guvnor
“…but it is beyond the scope of this post to explain all of those considerations here…”
Your thoughts on this topic or examples when to use which technology in a future post could benefit a lot of people.
From the Mule’s Mouth » Modeling your Business Logic: BPM, Rules, and CEP (Part 2)
June 14th 2011
[…] part 1 of this post, I gave an overview of BPM, Rules, and CEP and the way they compliment an integration platform such […]
From the Mule’s Mouth » Announcing Mule 3.2.0, Milestone 1
July 6th 2011
[…] with a powerful, best-of-breed open source business rules engine. For more details, see parts 1 and 2 of our series on business rules […]