Our ILOG BRMS product experts answer a variety of questions from this series.
About ILOG's Business Rule Management Systems (BRMS's)
ILOG BRMS Versions
ILOG BRMS and Integration with Other Products: Statistical Analysis and Risk Management
How to Use ILOG JRules: General Questions
- What kind of restrictions on values can I specify with ILOG JRules? For example, I've seen restrictions where a charge must be a multiple of five. Would a business analyst have to keep that kind of restriction in mind?
- I noticed ILOG JRules allows users to work with Java. If an existing data model is encapsulated as a Java object, is it available through this GUI? If so, are the methods translated so they read in natural English language as well?
- Where did ILOG JRules’ "plain English" elements come from? Are they defined from within the system or do they point to an external data structure or database?
- Are graphs or other visual representations of the rules available?
- Where can I find and assign values, such as "the deductible" or "the vehicle,” used in rule evaluations?
- Will the error-checking feature tell me if I have created rules that contradict each other?
How to Use ILOG JRules: Decision Tables
- What about ranges that have “like” values in two adjacent rows, such as “5,000–10,000” or “10,000–20,000?”
- Is there a way to import or export the decision tables that can be used for rule definitions (e.g. to export a decision table to an Excel spreadsheet for backup or integration with other business processes)?
Storing and Sharing Rules: Deployment
How does automating a business rule allow for increased precision?
Automation does not in itself allow for increased precision, but the use of a business rule management system (BRMS) helps to ensure your policies are defined with increased precision; your decisions associated with those policies are automated. With a BRMS, your your non-technical business users can easily express these kinds of rules (and simulate their effects), allowing a level of precision that not previously possible e with operational systems. Many of our customers have been able to automate sophisticated decisions they otherwise would have handled manually.
What about ranges that have “like” values in two adjacent rows, such as “5,000–10,000” or “10,000–20,000?”
Just as we saw with automatic gap detection in ranges, ILOG JRules can identify overlaps. The example provided in this question may not actually contain an overlap, based on how the upper and lower bounds are defined; it is possible to express a range as “greater than,” “greater than or equal to,” “less than,” or “less than or equal to,” for example.
Can I link my rule engine to a monthly statistics report of loss, and then adjust the rating?
The example shown in the demo is a simplified version of a real-world scenario. It is easy with ILOG JRules to segment product or pricing decisions to any level of detail. Simulating the outcome of business rules can draw information from external sources in order to test the rules against actual data.
What kind of restrictions on values can I specify with ILOG JRules? For example, I've seen restrictions where a charge must be a multiple of five. Would a business analyst have to keep that kind of restriction in mind?
Restrictions on values can be defined as part of the business vocabulary, so business analysts do not have to keep this kind of information in mind.
I noticed ILOG JRules allows users to work with Java. If an existing data model is encapsulated as a Java object, would it be available through this GUI? If so, are the methods translated so they read in natural English language as well?
Java objects and methods are available through the ILOG JRules development environment Rule Studio, an Eclipse plug in. These objects and methods are given natural language verbalization, which are the business terms displayed in the various ILOG JRules editors and displays. The next session of the “BRMS in Action” series will show how developers use Rule Studio to build rule-based applications.
Where did ILOG JRules’ "plain English" elements come from? Are they defined from within the system or do they point to an external data structure or database?
The language elements come from the rule application’s business object model (BOM), from which the rule vocabulary is defined. The next webcast in the “BRMS in Action” series will demonstrate how ILOG JRules generates vocabulary and makes it available to non-technical business users.
Are graphs or other visual representations of the rules available?
During the Intellinsure demonstration, as we generated a quote using the insurance quoting application, we walked through the link to a rule report, which is a much more detailed look at how the quote was calculated. The report contained such things as the raw input and output data, and which rules were executed.
For the purposes of the demonstration, we put the output into a report and made it available to end users, but the detailed data could be stored in a database or other kind of audit log in order to capture the history of the transactions that were run through the business rules.
Does the "what if" simulation run against live production data or does one set it up on a test database?
During the Intellinsure demonstration, we showed rules running against test data that was stored in an Excel spreadsheet. “What if” simulations can also be made to run against production data, test data, or any other data store.
Do I have to deploy the rules every time I change them?
Rules go through a “deploy” step before going into the production system. Most of our customers find that it is an important step. ILOG JRules also allows “hot deployment” of business rules, where the rules are deployed directly into a running system without the need for code changes, server restarts, or other cumbersome technical tasks.
You've demonstrated that one can deploy business rules from the ILOG JRules GUI. Does ILOG JRules support multiple levels of environments, so I can deploy first to an integration test environment, then to a system test?
Yes. ILOG JRules supports any number of multiple levels of environments. Most of our customers find that it is important for their rules to go through a validation step before they are deployed into the production system or other environments. ILOG JRules also allows “hot deployment” of business rules, in which rules are deployed directly into a running system without any code changes, server restarts, or other technical tasks.
Where can I find and assign values, such as "the deductible" or "the vehicle,” used in rule evaluations?
During the Intellinsure demonstration, we specified values for the driver, the vehicle and the coverage amount. This data was passed to the business rule engine, where the data is evaluated and the appropriate action is taken. In our example, we specified an automobile that was a sedan. One of the rules said “If the type of the vehicle is a sedan, then add a $10.00 surcharge.” Since we specified a sedan in our data, the rule added the $10.00 surcharge.
Will the error-checking feature tell me if I have created rules that contradict each other?
Yes. The error-checking feature looks for several different types of rule inconsistencies, including rules that are in conflict, rules that are self conflicting and many others
How similar are ILOG Rules for .NET and ILOG JRules?
The fundamental difference between ILOG Rules for .NET and ILOG Jrules is that they have been engineered to closely match their respective native platforms. For example:
Rule Maintenance: ILOG Rules for .NET leverages Microsoft Office applications like Word and Excel, and (optionally) Sharepoint for rule collaboration. ILOG JRules uses Rule Team Server.
Developer Environment: With ILOG Rules for .NET the integrated development environment (IDE) is based in Microsoft Visual Studio, but in ILOG JRules the IDE is based in Eclipse.
Rule Execution: ILOG Rules for .NET relies on the .NET Framework and other Microsoft system management components; ILOG JRules leverages Java application servers.
Is there a way to import or export the decision tables that can be used for rule definitions (e.g. to export a decision table to an Excel spreadsheet for backup or integration with other business processes)?
ILOG JRules currently supports copy/paste from Excel into and out of decision tables. If you have an existing set of Excel spreadsheets you want to convert (or vice-versa), this can be done programmatically. Currently, our .NET-based Rule Solutions for Office provides better support for this type of integration with other business processes. Business rules can be stored natively in Microsoft Word and Microsoft Excel documents. Watch a demonstration of Rule Solutions for Office.
Are rules stored in a format where they can be accessed directly outside of the user interface (UI)? Does the business rules format conform to a standard, or is it proprietary?
Business rules are stored either as files or in a database. They can be accessed outside of the UI in several ways, depending on your requirements.
For example, we provide Web-based components that allow you to create a custom GUI if you do not want to use the Rule Team Server interface. Alternatively, you can access rules directly from the database or through a published application programming interface (API). Several other approaches are available depending on your exact requirements. Currently there is no industry standard format for rule representation or rule interchange, although there are a few under development. ILOG supports these efforts.
Are there triggers to alert me when there is a loss in a given example?
The example we showed was interactive in nature. You can create triggers to alert you when there is an anticipated loss. Since this is highly dependent on your business and your data, some customization and configuration is needed to set this up.
Is it possible to export your rules in Business Process execution Language (BPEL) and then use it in a commercial enterprise service bus (ESB)?
Rules will not be represented in BPEL, but the decision services that the sets of rules represent can be called through standard integration techniques that commercial ESBs use.

