inrule technology logo

The Premier Rule Engine for .NET

Search Home | Contact Us
Products
 
 
 
 
InRule Product Components
 
 
 
 
 
 
Start here Ruler
Use InRule Technology 'Ruler' to help you decide which product to download

irAuthor — Feature Guide

irAuthor has been modeled after real-world business processes and achieves the critical balance between structure and flexibility. Business analysts and IT personnel use irAuthor's user-friendly, rule-based approach to transform complex rule scenarios into simple instructions which result in less time to encode business logic, reduces or eliminates rule-based defects, and produces consistent rule standards.  Some of irAuthor's features that directly contribute to ROI include:

Flexible Schema Definition

irAuthor supports the ability to define your rule XML schema in multiple ways. In some cases, existing classes or database schemas already contain the structure that you want to base your rule sets on. In other cases, it is up to the author to define this structure. irAuthor allows you to import, export or directly define data schemas. Users can seed their rule data structures from a .NET assembly, one or more database tables, an XSD document, or an XML instance document.

Schema Def


If your data schema for a given transaction is already defined in a set of database tables, .NET Assembly, or XSD file, irAuthor can easily import these definitions into the tool to make the authoring process faster and easier. In addition, to maintain integrity between the rule schema and other process (e.g. database) schema structures, irAuthor can be instructed to synchronize an existing rule application schema against its source.

Nested Conditions and Decision Trees

With InRule, there are two primary rule types. The first type is a Simple Rule where there is a condition and a set of nested actions and rules. When that condition evaluates to true, the rule engine executes the rules and actions under that condition. The second type is an Exclusive Rule that can also be thought of as an if-then-else or select-case rule. With this type of rule, there is an "otherwise" or "default" condition that executes if the other conditions in the Exclusive Rule do not evaluate to true. The condition portion of the rule is an expression similar to a calculated expression. The expressions can refer to any other input field, calculation, or variable as input to the condition. With either rule type, other rule types can be nested within them to provide more complex and/or granular decision making. Rules can be disabled at a number of different levels provided the rule application's "Allow Rule Inactivation" has been turned on.

 

Sophisticated Expression Building

Using InRule, more often than not, 100% of the condition and calculation expressions necessary for your rules can be expressed directly in the tool.

Because calculations and rules are expressed in a free-form environment, the syntax is evaluated for correctness as the user moves through the expression building process without limiting their capability to handle complexity.

Expression Builder

The following is an example of an expression that might be used in a condition:

(Age = < 18 or ((Age >18 And Age <= 25) Or InCollege=true)) And (IsSecondaryDriver)

The condition above is checking to see if the secondary driver is under 18 or still in college in order to approve them as a driver on their parents' policy. This rule would be difficult to express without the use of an expression builder that supports complex "And"ing and "Or"ing within the condition. An expression can also contain any or all of the following: functions, references to other fields and calculations, operators, and constants. You can use parentheses to control the order in which an expression is evaluated. InRule also provides Intellisense prompting of fields and functions when composing expressions. InRule comes with a number of built-in functions including aggregate functions that can be used for collection manipulation such as "sum all the line items from an invoice whose amount is greater than 250".

Versioning Capability

By turning on version support, users can modify calculations and rules over time while still maintaining prior versions of the calculation. If a user wants to execute a set of rules as of a certain date, they only need to specify the effective date for processing. Using this functionality, a forward effective date can be set for rules to take effect.

Rich Set of Supported Actions

The following is a list of actions currently supported by the engine:

  • Set Value
  • Declare a Variable
  • Execute SQL Query
  • Raise Event
  • Add/Remove Collection Member
  • Execute Method/Action/rule set
  • Fire Notification
  • Send Mail

Home | Contact Us | Site Map | Legal | Privacy | Copyright 2008 InRule Technology Inc. All rights reserved.