HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01
Client Implementation
Navigating Schema
Chapter 5 99
Aggregations are a special form of assocation. Aggregations have all the
attributes of associations, however with the additional semantics that
classes scoped to another class via an aggregation make up the scoping
class (instead of merely being "associated" with it).
Best Practices
Listed below are several client application "best practices" for navigating
schema.
Enumerating DMTF-Defined CIM Classes
Client applications can maximize platform interoperability by using
DMTF-defined classes (classes with names usually having the CIM_
prefix). Clients can successfully use DMTF superclasses, yet still obtain
information from platform-specific subclasses, since:
• providers will subclass from the appropriate DTMF classes, and
• the CIM Server will pass enumeration operations to providers for all
subclasses.
For example, a general-purpose client could enumerate instances of
CIM_USBPort, obtaining property values of interest, rather than
referencing a particular vendor's subclass (e.g.vendor ACME's USB port,
supported by the ACME_USBPort subclass of CIM_USBPort). When
performing one of the enumeration operations, the client must specify
appropriate values for the DeepInheritance and LocalOnly flags as
discussed below (see also the DMTF Specification for CIM Operations for
additional details). Thus, when a client performs one of the these
operations on a DMTF-defined class, the CIM Server will return all
instances of the DMTF-defined class, which include those of any
subclasses.
Only those clients that actually plan to use additional properties or
methods of a vendor subclass need to write their application specific to
the added information in that subclass. Clients may find they can
support their management needs with the properties and methods in the
DMTF classes only.
Deep Inheritance Flag
The DeepInheritance flag indicates that the enumerateInstances
operation should return all properties defined in the designated class
and its subclasses. A value of FALSE would indicate that none of the