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

motif

One of the more common usages of 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 , or even .

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.

BPM/Rules System

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:

BPMJBoss jBPM, Drools Flow, Activiti, Bonita, OSWorkflow

Business Rules/CEPDrools, Esper, Prova, Jess

In part 2 of this post, I will discuss what Mule has to offer for integrating with some of these tools.


We'd love to hear your opinion on this post


8 Responses to “Modeling your Business Logic: BPM, Rules, and CEP (Part 1)”

  1. 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?

  2. That is the topic of part 2 of this post, so stay tuned. 🙂

  3. That’s great! I’m looking forward to it!

  4. Not sure Business Rules and CEP should lumped together like that.

  5. 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

  6. 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.

  7. […] part 1 of this post, I gave an overview of BPM, Rules, and CEP and the way they compliment an integration platform such […]

  8. […] 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 […]