HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01
Schema Design and Implementation
Schema Design
Chapter 3 37
When searching the DMTF schema for applicable modeling elements,
one may discover that the structure of the CIM data does not readily
match the domain of interest. This is usually recognized by noting that
the designed management data is broadly scattered across many classes,
and that for most classes a provider would be able to fill in very few
values for properties or instrument very few of the methods. The
implication is that clients will have to search many classes and traverse
many associations to get the wealth of management data they require,
causing potential performance issues through too many interactions
between client and provider. Discarding the DMTF schema at this point
is probably NOT a good solution for resolving this issue. Instead it calls
for schema optimization, as discussed in STEP 7: Optimize below.
STEP 4: Identify Properties and Methods
Having selected the objects and relationships to represent managed
resources, the next step is to refine the schema by identifying properties
and methods. The properties and methods for a given class define the
unique characteristics of that class of object. Via inheritance, a subclass
also has all the properties and methods of its superclass. The DMTF has
already defined an extremely rich set of classes, properties, and methods.
Therefore, it is highly advantageous to derive a sub-class from an
existing CIM superclass and to use the superclass's already defined
properties as this enables a greater degree of interoperability for clients
and providers. Clients which need information at the superclass level
can obtain the superclass derived information from any subclass
(assuming the subclass provider chooses to implement the inherited
property or method).
Properties can be added to describe additional attributes of a given class
not present at the superclass level. It is important to ensure that a
property makes sense for all instances of a class. Otherwise additional
subclassing may be required wherein one subclass has the property and
others do not. Some other factors for consideration when identifying new
properties in a subclass include:
• Ensure that a similar property does not exist in any superclass or
any closely associated class (this check helps eliminate redundant
information or a difference in modeling approach than what a
general-purpose management client might expect).