Alana Boltwood

Certified Management Consultant and Visual Artist – Metimea Inc.

Menu

Skip to content
  • Consulting
    • Resume on LinkedIn
    • Skills
    • Consulting Blog
    • Poverty Reduction Model
  • Art
    • Meta-Diagrams
    • HexaSexual
    • Intersectionality
    • Art Blog
    • Photography on Pixels.com
  • Contact

Rules Engine basics

Posted on April 21, 2009 by Alana Boltwood

I am reading up on Rules Engines, software for managing business rules and making them easily changeable within software applications.  Some gleanings and thoughts (a little knowledge is a dangerous thing, so please comment):

Rules software includes a registry, to define, classify and version-control the rules.  The classification and version-control would be useful even if you don’t have the resources to convert the rules to pseudocode and drive an application from them.

  • You may already own a CASE tool, metadata repository or content-management system repository that can store rules as snippets of text, assign them to a classification taxonomy, track versions, and maybe even control who can change the rules.
  • The PowerDesigner CASE tool includes Business Rules and links them to Processes.

A rules engine goes further than a register:  it implements rules at run-time, so they don’t have to be hard-coded in applications.  This reduces maintenance costs for systems that change rules frequently (such as for complex legislation, pricing or eligibility criteria).  Up-front costs increase:  the rules engine must be procured, paid for and integrated, and each rule must be codified.  (This barrier must be significant, since I have yet to see a rules engine in action.)

The application’s performance may be slower, since it has to talk to the rules engine.  (I wonder if rules registries can output application code, to be compiled whenever the rules change, for higher performance.  This is reasonable for web applications, or client-server applications that get updated overnight.)

A good rules engine should:

  • Handle both “if-then-else” and “event-condition-action” rules
  • Help define rules in a rigorous language, with a graphical interface
  • Check the logic of each rule, and consistency between rules
  • Relate a rule to other rules, business & system processes, data elements, application components
  • Help test the applications when rules change

I would also want architecture that elegantly handles the potential overlaps between rules engines and:

  • code development environments and code repositories
  • CASE tools and other metadata repositories
  • lookup tables in the database
  • workflow or BPM engines
  • parameterization of SOA components

For instance, if your existing application has some logic based on a lengthy database table, will that now be handled by the rules engine, perhaps still using a database query?

JDJ lists some current rules engines on the marketplace.  The demos of Blaze Advisor were informative.

Related

This entry was posted in Consulting Blog and tagged Blaze Advisor, BPM, business rules, CASE tool, complexity, flexibility, metadata repository, repository, rules engine, SOA, Technology. Bookmark the permalink.

Post navigation

← The i* modeling language
The Business Doesn’t Care About the Data →
Follow Alana Boltwood on WordPress.com

Images and text copyright Metimea Inc., 2008-2019, unless otherwise specified.

Read more of…

  • Announcements
  • Art Blog
  • Client Projects
  • Consulting Blog
  • Politics
  • University
  • Volunteering

Recent Posts

  • Upcoming Toronto workshops about systems modelling
  • Tips for using Kumu for large system maps
  • Adapting the notation of Causal Loop Diagrams
  • Scope of a model: breadth, depth and detail
  • Balancing scope and capacity in modelling projects

See more about…

Announcements art art exhibit Art Works assemblage black blue business analysis business architecture collage colonialism complexity Consulting Blog consumerism contemporary art data model diagramming e-waste eccentric electronics enterprise architecture environment events feminism gender binary graphic design green hexagons hexasexual intersectionality management math art meta-diagram metamodel methodology notation Observations orange painting photography project management purple red sculpture speaking strategy systems toronto white yellow
Blog at WordPress.com.