The Server-Side Pad

by Fabien Tiburce, Best practices and personal experiences with enterprise software

Case Study: Narrow-casting Using a Business Rules Engine

leave a comment »

The information age has allowed unprecedented access to information.  However simply broadcasting all available information to all users of a system, regardless of responsibility, department, geographic location or language, is counter-productive.  To engage the user, the information must be relevant. Narrow casting allows an organization to disseminate content to a narrow audience.  The following case-study discusses how Betterdot used a business rules engine to implement a corporate narrow casting application.

Imagine a page consisting of four quadrants.  Each quadrant is self-contained and hosts a widget or control.  Each widget may display an instructional video, operational tips or information concerning an upcoming promotion.  In this model, the view (presentation layer) is simply a template that binds widgets to the presentation layer.  The template does not know which widgets will be displayed, simply that a widget may be placed in each quadrant.  In this sense, the template is merely a wire frame.

The application server simply instantiates (enables) four  empty quadrants and passes these empty quadrants along with a reference to the logged-in user to the business rule engine for processing.  When done, the application server does little more.  It simply passes the request along to the view for display purposes.  There is no logic nor programming on the back-end, nor is there logic on the front-end.  

The business rules engine allows complex rules to be declaratively written for each user and each quadrant.  A rule might state that a user with a certain responsibility or geographic location sees an instructional video while another user sees information about an upcoming promotion.  The rules can be arbitrarily complex, nested and/or recursive.  More importantly, the rules are soft-coded and can be extracted from a text file or Excel document.  The rules are not bundled with the system, they qualify its output.

Business rule engines are powerful allies in an enterprise stack.  They allow the rules that govern the operations of a business to be captured efficiently by technical and non-technical resources.  They allow rules to be changed quickly and cheaply (no software development cycles, no compilation, no deployment) .   They allow rules to be reused accross systems.

We used the Drools rules engine for the above implementation, a great tool with an unfortunate name.  Drools was developed under open source by JBoss.

Advertisements

Written by Compliantia

January 13, 2009 at 5:26 pm

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

%d bloggers like this: