Features

  • Revolutionary web interface. With Web Rule control, 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 team name is "Thrashers" then buy tickets else watch the game on TV". 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, store them in XML format, and execute them in any .NET environment.
  • Parentheses! For complex rules, Web Rule employs parentheses to prioritize evaluation of equations. Anyone who understands the difference between (A + B) x C and A + (B x C) can now create rules. No "priorities" or "saliences".
  • Automatic rule validation. Web Rule automatically highlights invalid rule elements and even displays a short description of the problem on mouse hover 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 create and execute an invalid rule using our demo.
  • In-rule methods. Equations within the rule can be as simple as "see if the first name is John" or as advanced as "get phone by address and check if it's local", where the "get phone by address" is a method of any public .NET class. The "Age" and "Prior bankruptcy" in the rule execution demo and "Years in business" in the rule evaluation demo are 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 ASP.NET 3.5 and up. Right out of the box, Web Rule supports classic post-back and ASP.NET update panel and can even be used as pure JavaScript object. Download our demo ASP.NET project to see implementation of Web Rule using these technologies.
  • No installation required. Web Rule is implemented as a single self-contained .NET assembly less than 300KB 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 a help string that detects what's already in the rule and automatically describes the next possible action. It also suggests the next possible 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 just pay per domain name where your copy of Web Rule will be actually used. No need to worry about licensing simply because your team got bigger or you moved your domain to a server with larger number of CPUs.
  • Multilingual support. Each element of your source object can be decorated with optional attributes. Web Rule provides attributes for properties, methods, parameters, return values, etc. Almost each attribute has the DisplayName property which is used by the browser to display the specified value instead of the property, method or parameter name. For example, the action "Reject with message" of the execution demo actually represents the Reject method of the Applicant class. These display names are not stored in rule XML and have nothing to do with rule execution. Therefore, a single rule can be 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.

Test new features of version 2.0 beta at Test.CodeEffects.com.

 

Web Rule Component

Web Rule is the only ASP.NET server control on the market today that allows creation, modification, validation and execution of complex business rules with unprecedented easy of use.

It takes only minutes to include Web Rule control into your ASP.NET project and begin authoring rules. To do that, complete at least these simple steps:

  • Create or choose your source object. This must be a .NET public class that rules will be evaluated against. In other BRM engines it's often called "fact object", "fact source" or simply "facts". For rules of execution type, decorate the source object with SourceAttribute and set its RuleType property to Execution. Use ExcludeFromEvaluationAttribute to exclude any public property or method from being used in rules. Optionally, use more than a dosen of attributes provided by Web Rule to customise your source. View examples of source objects on the demo page or download and try our demo ASP.NET Web Application.
  • Download Web Rule assembly and reference it in your ASP.NET project. If your source object is defined in a separate assembly, make sure it's referenced as well.
  • Add Web Rule server control to your .aspx page. Set its SourceAssembly and SourceType properties to the source object's asembly name and type full name. View ASP.NET HTML samples on the demo page.
  • Build the project and run the page.

Architecture

Business rules are widely used to validate or filter incoming data objects or monitor or interact with various processes. Such processes may be as complicated as filtering calls to a proper handler in a call-center, or validating loan application objects in real time and acting upon the result, or periodically reporting the current state of equipment or inventory. Or they can be as simple as validating a web form used on our demo page.

For those of you who may be new to business rules, here is a 50,000 feet view on architecture of a business process that validates incoming itinerary objects against corporate travel policies.

  • Using Web Rule control (control) hosted in a corporate ASP.NET web application (site), business users create or modify travel policies (rules). The site stores those rules as XML types in a database or as XML files in a file repository (storage).
  • Optionally, the site can use Web Rule to allow users to debug and test new rules against test itinerary objects (source objects). Storage can also provide rule versioning and enforce access to existing rules either by itself or through the site.
  • A separate always-on .NET Windows service (service) exposes a WCF or SOAP endpoint that is used by travel agents, mobile apps or any other data origination locations to send source objects to. The service receives these objects and deserializes them. For each source object, the service retrieves an appropriate XML rule from the storage and calls only one Web Rule method to apply it.
  • For the execution type rule, that call will look like this:
    Evaluator.Execute(policyXml, itineraryObject);
    In this case, the further processing of source object in question will be carried over by rule actions during the execution of the rule.
  • For the evaluation type rule, the processing is slightly different:
    Result result = Evaluator.Evaluate(policyXml, itineraryObject);
    The Result class contains the result of rule evaluation that is used by the service to further process each source object.
Irina Projects ©  · Web Scheduler · CodeEffects.com
Current version 1.5.2.8 · Built on October 29, 2011
Terms and Conditions · Privacy Policy