JRules, the Java version of ILOG's BRMS (business rules management system), has always run on Microsoft platforms -- and it's done so quite well. Now, with the latest version of original ILOG Rules, ILOG demonstrates that it's truly taken a large gulp of Kool-Aid, having partnered with Microsoft to build a product set that completely embraces .Net.
Built from the ground up with .Net in mind, ILOG Rules for .Net Version 3.0 is a full-featured BRMS that closely follows the Microsoft paradigm: Based on Windows Communication Framework (WCF), it looks and acts just like an enterprise-class application straight out of Redmond -- and delivers tight integration with MS products such as Office and SharePoint. Rules for .Net borrows many of the best features of JRules and is well suited to Microsoft shops.
This latest version extends the feature set of its predecessors with the introduction of the Rule Execution Server (RES) and Rule Studio for .NET, already present in JRules. Rule Studio is an environment for software developers. RES is the place where business logic is executed. Both products both also boast an environment for non-technical users to maintain rules.
Here, the similarities end, however. Each product is maintained by a separate team within ILOG, and the only component code that is shared is the rule engine itself. Interestingly, ILOG has used a Java-to-C# translator to produce the .Net version of the rule engine. This gives the .Net version of the engine the benefit of the many years of development that went into JRules. They also graciously donated the translator source code to the open source community.
Installation on Windows Server 2003 was straightforward, but there are a number of dependencies. Installing all the prerequisites took the better part of two days, and the process entailed a bit of backtracking: Turns out you need to perform required upgrades in a certain order -- one that doesn't happen to be documented. That said, any shop already using .Net will have gone through this pain, and can probably start using Rules.Net with less trouble than I encountered.
Enter the Studio
Based on Microsoft Visual Studio, the Rule Studio provides developers a place to model a business domain and to create and maintain rules. ILOG has added templates, menus, and project types that extend this environment to support creation of business-rule projects, much the same way the company did with Eclipse environment for JRules. Developers familiar with modeling their business domain in VisualStudio can continue to use these tools and easily import .Net class libraries into a rule project. The process of creating business-user friendly terminology, called "verbalization," is straightforward and is, in some ways, easier than in JRules.
Nearly every feature available in the JRules Rule Studio is available in Rule Studio for .Net. In some cases, I found the .Net versions of these features easier to use than their JRules counterparts. The rule-flow editor, for example, is simpler to use, allowing drag-and-drop onto a palette; by comparison, the JRules version has an awkward point-move-click paradigm. A minor issue, but illustrative of the fact that these really are two separate product lines.
There are a few notable features lacking in the .Net version of Rule Studio, among them templates and the ability to trace rule execution in VisualStudio. Templates allow developers to set up different classes of rule types, which business analysts can then customize. Rule execution tracing allows developers to watch as rules are being executed. Both of these features are very useful in JRules.