Where does the overwhelming urge to turn every if statement into a JRules business rule end?

Introducing ILOG JRules Business Rule Management System (BRMS) is a very comprehensible piece of writing that I recommend anyone to read. It takes no more than 5 minutes of reading and outlines the potential of introducing BRMS and ILOG JRules to your enterprise. With ILOG JRules (or whatever BRMS system you have a pleasure to work with) being able to “accommodate an increasing rate of change in the applications” of yours and “enable business users to manage business policies directly with limited dependence on the IT department” is what almost every customer is willing to pay for and without a doubt a way to follow.

One sentence caught my attention and drain my brain constantly reminding of its existence: “Business rules are an expression of business policy in a form that is understandable to business users and that can be executed by a rule engine”. Worth remembering.

The completely new architectural approach to business decisions with BRMS keeps me struggling with my understanding its proper use from a developer’s (not a business user’s or architect’s) point of view. And here comes the hitch:

Am I right that BRMS with ILOG JRules boils down to executing a ruleapp (with a set of rules bundled as ruleset and orchestrated by ruleflow) on Rule Execution Server (RES) that operates on input parameters with a sole purpose to change their state? Is these objects’ state in turn used in the application to make further decisions? So,

  SomeType inoutParam = ...
  if (inoutParam.isX()) {


Should the if block be part of the ruleset, too? What are the criteria to externalize rules as JRules-managed ones? Where does the overwhelming urge to turn every if statement into a JRules business rule end? When is it a burden and when is it not? With all the doubts there’s no doubt that the more I read about the concepts of BRMS and ILOG JRules as its realization, the more conceptual troubles I’m running into. Help appreciated.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s