Once the programmer configures the BAL, JRules’ GUI allows business users to build rules simply by selecting canned phrases and logical operators from menus. When the rules are in place and the logic is fixed, variables -- such as the percentage for a discount -- can be changed with a click. In the end, instead of having to explain a business rule to a programmer in order to translate it into Java -- “if (order.numItems >= 2 and order.numItems <= 4)” -- the business analyst can express it in a form anyone can understand: “If the shopping cart contains between two and four items ….”
At the same time, the GUI gives programmers access to the underlying Java objects, and allows either programmers or business users to debug rules. As with any standard debugger, it allows you to set and unset breakpoints or step through the rule. The only hurdle the GUI and BAL present is the time and effort it will take programmers and analysts to define how they want the plain English version of the rule base to appear.
Another helpful addition in JRules 4.5 is the expanded capabilities for rule flow analysis. Even though rules are incrementally independent, there is typically a certain “natural flow” of rules from one event to the other. Using the Rule Flow Editor allows the business user to graphically view this sequence of events. And if there is a correction to be made, then the user may simply drag and drop a rule into a new location.
Decision Tables, another new feature, allow business analysts to write a set of rules in a familiar spreadsheet format. The rules are generated from the spreadsheet and can be modified anytime and regenerated. Decision Tables should prove invaluable in some financial settings.
Programmers also get a number of handy new features. One is the ability to view Java objects in UML (Unified Modeling Language) format and to generate Java code from that model. JRules 4.5 also provides automatic code generation for J2EE, J2SE, and Web services, as well as point-and-click deployment for various scenarios, including the BEA WebLogic and IBM WebSphere J2EE servers. While many programmers hate code generators (Reason? Pride.) this is still a very good start toward building a system. You can always change the generated code.
Performance Matters
When evaluating a rule-base engine, one of the first measures is performance. The most common benchmark is the Miss Manners test. In this test, 128 guests are invited for supper, and each may have one, two, or three hobbies. The idea is to seat boy-girl-boy-girl so that there is someone with a similar hobby on either side. When run properly, the guests and hobbies have already been determined, so the system can’t cheat nor can the system rearrange the data for better performance (see “Benchmarking the rules engine”). The data are arranged totally at random and may not be changed.
In firing all of the 8,513 rules in just over 100 seconds, JRules 4.5 proved to be about 7 percent faster than JRules 4.0 when I tested using JDK 1.3.1_07. I also ran the tests using JRules 4.5 and JDK 1.4.2 and got another 5 percent improvement. JRules 4.0 is not compatible with JDK 1.4.2, so I could not compare performance on that JVM.
I also compared JRules 4.5 and JRules 4.0 performance using the Waltz test, a far more complicated benchmark that involves determining shapes, edges, and points of juncture. Again, JRules 4.5 ran slightly faster than JRules 4.0 when run using JDK 1.3.1_07.
After implementing a rules engine, companies are often amazed to find that either their rules, as implemented in code, are wrong or that a great deal of their business logic is missing entirely. The typical mismatch between the goals of the business and the actual computer code in business applications is due to programmers not understanding the business logic and business analysts not understanding what is happening with the code. JRules 4.5 can help programmers and business people bridge the gap.
This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.
Download now »Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.
Download now »
The emergence of WLANs has created a new breed of security threats to enterprise networks.
Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation
Effectively address data protection challenges, implementing solutions that help store and protect businesscritical data while cutting costs and improving efficiency and reliability.
Download now »
Sign up to receive InfoWorld Resource Alerts
