Management Center modeling guidelines
Creating a new instance of the Business Object Editor primarily involves declaring the objects that are to be authored (that is, created, changed, or removed). To ensure that the Business Object Editor can consume object definitions and provide an effective authoring tool for different object domains, the objects must be declared consistently.
To create a business object model that can be successfully consumed
by the Business Object Editor, follow these guidelines:
- All Business Object Editors must declare a top object definition. The top object definition describes the top object which is the root of the explorer tree. The top object is a client-side organizational object that is not returned by a service call. The top object is not visible, but its children display as top level explorer tree nodes below the Active Work node. When the top object instance is instantiated, any child objects declared as part of the object definition template will be created. In addition, any declared instances of wcfGetChildrenService are invoked to retrieve additional child objects from the WebSphere Commerce server.
- If one or more top level explorer tree nodes are required as organizational elements, they must be declared as organizational object definitions. They can only be instantiated as elements of another object definition’s template declaration.
- All business object types that can be created, updated, or deleted must be declared as primary object definitions or as child object definitions of a primary object definition.
- If a business object only exists within the context of another object, and cannot be referenced or searched for without searching for its parent, that object type must be declared as a child object definition in a primary object definition or in another child object definition.
- Primary business objects must not have another primary business object as a direct child. An intermediate object (called a reference object) is required to describe the nature of the relationship between the two primary objects. This intermediate object type must be declared as a reference object definition.
- All business objects are made up of a list of uniquely named simple properties. If an object contains a variable list of similar child properties, that property must be modeled as a separate child object type.
- A business object must be uniquely identifiable by the value of one of the properties (identified as the ID property). The ID value of objects described by wcfChildObjectDefinition or wcfReferenceObjectDefinition are only required to be unique within the set of objects that have the same parent. Primary objects of the same type must all have a unique ID value.
- All primary objects must have a display identifier as the value of one of the object's properties (identified as the display name property). Note that any object definition can declare a displayNameProperty, but it is only required for primary objects. This display name is used as the text on a user interface widget that represents object instance. While it is preferred, there is no requirement for this value to be unique. Translatable properties should be avoided when choosing the display name property.
- If two business objects require different properties view declarations, they must be modeled as two separate object types. For example, Products and SKUs should be modeled as different object types, not as a single object type for catalog entries.