Object definitions

A business object is an entity that is stored on the WebSphere Commerce Server, but is represented in the Management Center user interface in a way that a business user can understand. This can be a different representation than you would see in the WebSphere Commerce Server itself. A business user can create, update, and delete a business object using the Management Center. For example, a product is a business object which a Product Manager or Category Manager authors and maintains, using the Management Center.

A model object is the client-side (Management Center) representation of a business object. Do not directly instantiate the wcfModelObject class since the client side model will instantiate and destroy instances of this class, as required. All business object properties are instances of wcfModelProperty and are owned by a single instance of wcfModelObject.

The wcfObjectDefinition class is the base class of all business object definition classes and describes the characteristics of a business object in the Management Center. Do not directly instantiate the wcfObjectDefinition class. Instead, instantiate the classes that extend from it, such as wcfChildObjectDefinition and wcfOrganizationalObjectDefinition.

It is important to understand the types of objects that the Management Center framework supports and their hierarchy and class inheritance. Here is a diagram to illustrate this inheritance:


Business objects showing inherited object definition classes
wcfObjectDefinition
At the top level is the business object definition (as defined in the wcfObjectDefinition class).
wcfPrimaryObjectDefinition
The wcfPrimaryObjectDefinition class is a direct subclass of the wcfObjectDefinition. A primary object definition describes a top level business object that exists as its own entity, independent of other objects. To declare that a Business Object Editor should manage a primary object, create an instance of that primary object definition as a child of wcfBusinessObjectEditor. For example, a product is a primary object for the Catalogs tool.
wcfOrganizationalObjectDefinition
The wcfOrganizationalObjectDefinition class is a direct subclass of the wcfObjectDefinition. An organizational object describes a node within the Management Center explorer view. It has no representation on the WebSphere Commerce Server. Organizational objects are available only for the purpose of organizing the display of business objects and is typically used to group objects within the explorer view. For example, the Campaigns node within the explorer view for the Marketing tool is an organizational object.
wcfChildObjectDefinition
The wcfChildObjectDefinition class is a direct subclass of the wcfObjectDefinition. A child object definition describes a secondary business object. A child object must have a parent object. The parent object can be a primary object or another child object. To declare that an object has child objects of a specific type, create an instance of the child object definition as a child of the parent object definition. For example, a product can have multiple product descriptions. The product description object definition is instantiated as a child of the product object definition.
wcfTopObjectDefinition
The wcfTopObjectDefinition class is a direct subclass of the wcfOrganizationalObjectDefinition. The top object definition is an organizational object definition that describes the root object for an instance of wcfBusinessObjectEditor. This root object is the starting point for populating the Management Center explorer tree. When the Business Object Editor is initialized, the objects in the tree are populated using the top object definition's template declaration and its get children service declarations. Only one top object definition can be declared for each Business Object Editor.
wcfReferenceObjectDefinition
The wcfReferenceObjectDefinition class is a special type of wcfChildObjectDefinition that describes a type of relationship between two primary objects. For example, a merchandising association that describes a cross-sell between two products is modeled using a reference object definition.
wcfParentReferenceObjectDefinition
The wcfParentReferenceObjectDefinition class is a direct subclass of wcfReferenceObjectDefinition. A parent reference object definition describes a parent-child relationship between two primary objects. A child object can only have one parent. For example, there is a parent-child relationship between categories and products.
wcfCollectionReferenceObjectDefinition
The wcfCollectionReferenceObjectDefinition class is a direct subclass of wcfReferenceObjectDefinition. A collection reference object definition describes a parent-child relationship between two primary objects. The parent object is the collection object and the child object is a member object in the collection. A member object can belong to more than one collection object.