Some of the main concepts found in the Object Model Classes are:
- Command - a group of operations on an object or collection of objects. Commands are used to contain logic that does not 'belong' to a single business object. The commands contain many of the functions and procedures for an application or framework. They can be distributed to either clients or servers and can be targeted to affect either individual entities or collections of entities.
- Entity - the independent, shareable, objects (persons, things) that are used in the operation of the business. Entities are often associated with the data that is core to an application or framework. An entity may be persistent (associated with an underlying persistent storage mechanism on a server) or transient. Entities may also be used for temporary caching of data on clients while processing is taking place. The methods associated with each entity generally deal with getting and setting the state (attribute) values or business logic that involves only a single object. A subtype of entity called dynamic entity allows property/value pairs to be associated with the entity at execution time. This provides great flexibility in customizing entities to specific business requirements.
- Dependent - provides a way to have objects with less system overhead than entities. Dependent objects can not exist outside of the scope of an entity. This means they can not be shared, referenced, or take part in transactions, independently. Dependents often contain additional information about their owning entity.
- Collection/Iterator - provide grouping and traversal over sets of objects. Collections are used to group objects together. Some collections are structured so that individual elements may be accessed by a key. Others function as a set of elements. Iterators associated with the collection are used to access the elements and traverse across the collection. For example, an iterator may provide a next method to enable scrolling through a collection.
- Factory - manages the instances of the objects during framework execution. The Factory provides the functions needed to manage the instances of the business objects. This includes functions such as creating and deleting entities, commands, and collections. Different implementations of the factories will allow application developers to target different platforms and persistent storage mechanisms with minimal or no change to the business objects themselves.