Web Rule Business Rules Engine

  • Revolutionary web interface. With Web Rule, business users can write complex rules simply by selecting rule elements from the context-sensitive menu. The end result literally looks like a spoken sentence: If customer home state is Georgia then add no shipping cost else add shipping (9.95). No IT personnel is required to author business rules and no code re-compilation is needed if the rule is modified.
  • Execute rules from any .NET code. Create business rules online using Web Rule's editor, store them as XML in a database or file system, and evaluate them in any .NET environment by executing a simple statement:
    Evaluator<SourceObject> e =
    	new Evaluator<SourceObject>(ruleXml);
    bool success = e.Evaluate(sourceObjectInstance);
  • It's fast! Web Rule is capable of evaluating a collection of millions of complex source objects in just milliseconds, filtering out the ones that didn't make it through the rule.
  • Parentheses. For complex rules, Web Rule employs parentheses to prioritize evaluation of rule conditions. Anyone who understands the difference between (A + B) x C and A + (B x C) can now create business rules of any complexity.
  • Automatic rule validation. Web Rule automatically highlights invalid rule elements and even displays a short description of the problem for each invalid rule element if the rule author tries to save an invalid rule. This guarantees that each saved or modified rule is valid and ready for testing or deployment. To see this in action, simply try to save an invalid rule using the demo Web Rule editor.
  • Reusable rules. Save any group of repetitive conditions as evaluation type rule and reuse it in any other rule as if it was a regular field. The Sample Rule pre-loaded in the demo editor demonstrates this feature by using the Reusable Rule.
  • In-rule methods. Sometimes your rule requires some external data during evaluation. Or you need to calculate values of certain fields before the evaluation can continue. Web Rule allows you to use static or instance methods of any public .NET class as if they were plain rule fields, as long as they return value types. The Is Today and Full Name used in the sample rule on the right are examples of such in-rule methods.
  • Supports all major browsers. Firefox, Chrome, Safari and Opera on Mac and Windows; IE 7 and up on Windows.
  • Runs on .NET 4.0 and up. Web Rule supports ASP.NET 4.0 and MVC 3 and can even be used as a pure JavaScript object in Ajax web applications. Download our demo projects to see implementation of Web Rule using these technologies. The older version of Web Rule that supports .NET 3.5 is also available.
  • No installation required. Web Rule is delivered as a single self-contained .NET assembly less than 400Kb in size. It requires no GAC installations, no background processes, no dependency on third-party scripting frameworks, and no need to give a special write access to folders. Web Rule runs fine even on bare-bones shared hosting accounts.
  • Built-in help. By default, Web Rule displays the Help String that detects what's already in the rule and automatically describes the next possible action. It also suggests the next selection with context menu as you create new or navigate through the existing rule.
  • Simple licensing. Nothing beats the price of the free version if your project doesn't really need high performance. For more demanding environments, you pay per domain name where your copy of Web Rule will be actually used. Or purchase the Unlimited license that allows you to use Web Rule anywhere and even distribute it with your own product, no strings attached. Neither license is dependent on the number of developers in your company or CPUs in your servers.
  • Customization. Almost all members of your source object can be decorated with optional attributes. They instruct Web Rule how to render its UI, display rule elements and evaluate rules. Web Rule provides attributes for properties, methods, parameters, return values, etc. Use them to change the default behavior of Web Rule. You can set date and time formats, min and max for numeric values, the type of values rule authors should be allowed to input, and so on. For example, the action Register with Message used by the sample rule actually represents one of the overloads of the Register method of the Patient class. Its display name was changed by the Action attribute.
  • Multilingual support. By default, Web Rule uses the built-in Help XML file to render its elements in the browser. This file contains English display names for all Web Rule elements. It can be easily customized for other cultures. The default or custom display names are not stored in rule XML and have nothing to do with rule evaluation. Therefore, a single rule can be easily displayed in multiple languages.
  • Styling. Use built-in CSS themes or change appearance of any or all elements of Web Control with your own CSS classes.

Basics

Web Rule is the only ASP.NET and MVC business rules engine on the market today that enables organizations to create, edit, validate, and evaluate complex business rules with unprecedented easy of use.

Web Rule supports two types of business rules: execution and evaluation. The execution type invokes an action at the end of rule evaluation. It can be expressed like this: If condition evaluates to true then execute action. The evaluation type only determines if the entire rule evaluates to true. The evaluation type doesn't use rule actions and else if or else flow elements but it can be used in other rules as a reusable rule.

Rules created with Web Rule can be evaluated against any .NET class or collection of classes. Such classes are called source objects.

Web Rule engine implements many unique features. Start exploring it now with the Web Rule Basics documentation article or download ASP.NET or MVC demo project (Visual Studio 2010).

Demo

Web Rule 3.0 beta is released. Tons of new cool features. Details are posted here.

The rule editor below is pre-loaded with a fictitious sample rule that uses the Patient class as its source object. The Test Patient Form located below the rule editor allows you to create an instance of the Patient class and test it against the rule that is currently loaded in the Rule Area.

  • To edit the current rule: Click any rule element and select new value from the menu.
  • To create a new rule: Click the Rules button and select the type of the rule. Click anywhere inside the Rule Area and begin selecting rule elements from menus.
  • To save the updated rule: Type rule's name and optional description into the Tool Bar. Click the Save button.
  • To load previously saved rule: Click the Rules button and select the name of the rule.
  • To delete the current rule: Click the Delete button.
  • To test the current rule: Fill out the Test Patient Form. Click the Test button.
Web Rule Settings
 
Select theme:
Web Rule Editor
 
*
Test Patient Form
 
First Name
Last Name
Date of Birth (MM/DD/YYYY)
Gender
Home Street
Home City
Home Postal Code
Home State
Pulse
Temperature, F°
Allergies?
Headaches?
Code samples:  Patient class · ASP.NET · MVC
 
Code Effects Software ©  · Web Scheduler · CodeEffects.com
Current version 2.0.1.4 · Built on March 27, 2012
Terms and Conditions · Privacy Policy