Current Topic: 7.2.3. Working with Spreadsheets and Decision Tables
You have a privilege to create a quiz (QnA) related to this subject and obtain creativity score...
Working with Spreadsheets and Decision Tables
Rules represent a set of conditions and a conclusion.
Business analysts often use spreadsheets to place conditions in the columns of the spreadsheets.
One rule will look like a row in the spreadsheet.
Several rules will be conveniently placed in a spreadsheet as several rows.
Such a spreadsheet effectively makes a decision table.
Rules Engine in Drools can read Excel Spreadsheet and retrieve the rules expressed as decision tables. [1] In some cases, the rules engine can be connected to the semantic model. The semantic connection helps to automatically verify that components of a rule are present in the enterprise model, provides the hints to similar and related elements, simplifies the process of creating the rules, and allows business analysts to directly participate in development. [2]
For example, the Business State Store Customer Profile from the Web might need to determine person’s identity in the case when input data partially matches an existing profile. For example, if the incoming name and social number are the same as in an existing profile but the address is different, the question is which address or generally speaking which person’s identity is the right one. This is a very common task, which can be potentially be reused by multiple applications.
Let’s take a look at this example. In the Determine Person Identity rule family, the rules are present as the rows in the decision table. Each row contains a separate rule, which considers several conditions for the following data attributes, which are shown in the columns: SSN, Person Name, Person Address, and Person Account Status. Each row ends (or terminates) with a conclusion based on the conditions.
In this example, the rules (rows) will check if a new profile duplicates any existing profile. If the name and SSN received from the web match these values in an existing profile, but the address does not, then the program will look for a Person Account Status to decide if the existing profile is valid.
Setting Conditions and Conclusions for Decision Table Rules
Of course, a real set of rules is more complicated than that. An actual rule family would likely include many more rules and therefore rows. Each rule in the decision table provides a situational description with the conditions and a conclusion. [2]
When to use or not to use Decision Tables?
This is not so much a technical question as a matter of convenience. Business partners of IT might have an understandable template and feel comfortable in writing rules that follow this template. Excel spreadsheet does not check for logical errors or connections to the enterprise data model, although this can be done via semantic mechanisms, for example provided in BASE (Business Analytics Sandbox for Enterprise) [2].
On the other hand, if the rules are written in the Drools language and managed by Jboss BRMS, syntax check and connections for data model is done automatically.
Was it clear so far?
Exercise 1 (split into teams):
Use the same Business Requirements line as before:
When a user searches for a product, check for a previous search attempt, stored in cookies, and offer a related product.
Create a spreadsheet with the rule.
Exercise 2 (split into teams):
Create a similar Business Requirements but not the same:
Create a spreadsheet with the rule or two.
Email the resulting spreadsheet as CSV file with the name of a team lead.
Include the requirements in the spreadsheet.
References:
1. Drools Expert User Guide
2. http://itofthefuture.com
Assignments:
1. Answer QnAs
2. Propose 2 QnAs related to the subject and email to an instructor in a proper format.