ILOG JRules User Guide > Creating Rule Projects > Concepts > Business Object Model (BOM) > The Purpose of the BOM

The BOM enables you to make business rule editing user-friendly by providing tools to set up a natural-language vocabulary. With this vocabulary, policy managers can describe their business logic in a business rule language.

A BOM contains the classes and methods that rule artifacts act on. As an object model, the BOM is very similar to a Java object model. It consists of classes grouped into packages. Each class has a set of attributes, methods, and possibly other nested classes.

A BOM to XOM mapping defines the correspondence between the BOM and the Execution Object Model (XOM) used at runtime.

Business Object Model and Vocabulary

System BOM

By default, the BOM always includes classes that map to specific JDK classes, and basic date and time-related classes. This set of classes is called the System BOM. For example, to compare the parts of a date, the System BOM contains the following classes, which map to the parts of a java.util.Date, and have associated value editors:

If you have a BOM member of type java.util.Date, you can simply change that type to one of the System BOM date types, and the mapping is done automatically.

BOM Entries

A business object model is made of one or several BOM entries. A BOM entry defines a set of business elements in the business object model.

BOM entries may be ordered so that if you have two business elements with the same name in two BOM entries, the one in the first BOM entry in the path overrides the other.

A BOM entry is a group of three files:

BOM Files

The BOM can be manipulated by API with the package ilog.rules.bom, which mainly contains interfaces.

Related Concepts

Overview: A Vocabulary for Rule Editing
Execution Object Model (XOM)
Vocabulary
Domains
Collections
Object State Update
Custom BOM Properties

Related Tasks

Working With BOM Entries
Working With Business Elements
Defining a Vocabulary
Defining Categories
Setting Up Automatic Variables

Related Reference

BOM Editor
New BOM Entry Wizard
ilog.rules.bom

Related Samples and Tutorials

Tutorial: Defining a Vocabulary