Rule Designer API
Business rules are an expression of business policy in a form that is comprehensible to business users and executable by a rule engine. From a business perspective, a business rule is a precise statement that describes, constrains, or controls some aspect of your business. From the IT perspective, business rules are a package of executable business policy statements that can be called from an application.
The APIs documented here provide the means to automate and extend business rules-driven applications.
Rule Designer
The Rule Designer API, also known as Rules Development Tooling (RDT), allows Eclipse developers to create, edit, and customize rule artifacts inside the Eclipse platform.
Because RDT is intended to be a first class citizen in the Eclipse platform, it makes use of many of the platform extension points and frameworks. A prerequisite of using the Rule Designer API is to understand the concepts of plug-ins, extension points, workspace resources, and to have a basic knowledge of the Eclipse Modeling Framework (EMF). EMF is the standard framework used in Eclipse to define advanced models such as the Business Rules Model.
You can use RDT to:
- Manage rule artifacts. For example:
- configure rule projects
- create business rules
- define rule applications
- change properties
- navigate the rule model
- Generate ruleset archives from the platform
- Create and add new generators for Java projects from rule applications
- Add new callbacks and extensions to customize Rule Designer
You can use this API in:
- Eclipse plug-ins. The plug-ins should be deployed and launched accordingly to Eclipse Plug-In Development Environment (PDE) guidelines. An Eclipse workbench UI is needed to run these plug-ins.
- Headless external programs. These programs run in the Eclipse platform infrastructure and can be automated. The Eclipse UI is not visible.
Using embedded data models and web components to author rules outside of Rule Designer
APIs and schemas are also provided to support writing rules in external applications. In such cases, the data model can be in the embedding application. Before you can write rules in an external application you must:
- Define a
vocabulary from an external source or asset, for example you could extract the
terms used in a COBOL program. The
vocx.xsdschema and a read/write API is provided for this purpose: - Create a set of global variables to help authors use the vocabulary and write rules in the Business Action Language (BAL). Use IlrBRLVariableProvider to declare your variables.
- Provide a rule authoring environment for BAL by integrating a web-based editor, for example decision table components, into your web application.
You can then write structured business rules that represent the application logic in BAL, instantiate a BAL parser, and import these rules into Rule Designer to implement an executable rule application.
To track the rule artifacts in Rule Designer, you can use an extension model to add a dedicated rule property to store the ID. Use the following API to manage the vocabulary:
Managing both the terminology life cycle and keeping it up-to-date with your rules poses the major problem with authoring rules outside of Rule Designer. See Reviewing a rule project to manage rule project items and run queries and reports on them using the features provided in Rule Designer. The following choices are available:
- Accept that your rules and your terminology become desynchronized, and fix the errors when they occur.
- Refactor the rules systematically when your terminology changes.
- Prohibit modification/deletion of any terminology element that is used by a rule.
- Deprecate terms and phrases and put in place a build system to report deprecated element usage. Use the getVocabularyElements method to collect all vocabulary elements used in your BAL rules.
Decision Validation Services
Decision Validation Services provides business rule testing and simulation solutions to developers and business users.
You use the DVS API to:
- Run an existing scenario suite (a test suite or simulation).
- Create key performance indicators (KPIs) to display the business outcomes of simulations.
- Customize the scenario providers, which determine how input data is provided to the test invalid input: '&' simulation engine for execution.
- Read and write test and simulation data using Excel formats.
The main packages and classes for this group are:
| Package Name | Description | Main classes |
|---|---|---|
| ilog.rules.dvs.excel | Provides the classes and intefaces to read and write test and simulation data using the default Excel formats. |
IlrExcel2003ScenarioSuiteReaderFactory IlrExcel2003ScenarioSuiteWorkbookFactory IlrExcel2003ScenarioSuiteWriterFactory |