HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01
Client Implementation
Navigating Schema
Chapter 5 97
Finding Associated Instances
The use of propagated keys effectively creates associations between
classes without explicitly defining an association class for which
instances would need to exist in order for a client to be able to find
associated objects. When a client receives an instance of an explicitly
defined association class, the paths to referenced objects are obtained
directly from the properties of the association instance. In contrast, when
a client application encounters an association linking two classes
through the use of propagated keys, it must construct object paths from
the values of the propagated keys in order to access the referenced
objects.
For example, as shown above, instances of CIM_LogicalDevice are
associated with a CIM_System by the presence of two keys,
SystemCreationClassName and SystemName, that are propagated from
the keys of CIM_System. The referenced CIM_System can be accessed by
constructing an object path specifying:
• class name of CIM_System
• key named CreationClassName whose value is the value of the
SystemCreationClassName key (perhaps it was
CIM_ComputerSystem)
• key named Name whose value is the value of the SystemName key
(let's say it was sys7.hp.com)
The object path so constructed would then look like:
CIM_System.CreationClassName="CIM_ComputerSystem",Name="sys7.hp.com"
Specifying Empty Propagated Key Properties
As discussed in the provider implementation section on Keys, a short cut
may be available when getting an instance of a class that contains
propagated keys. Instead of requiring filling in the propagated key
properties when obtaining an instance of a scoped class, the client may
be able to use the empty string as the value for the propagated keys.
Support for the short cut realizes a performance benefit for both clients
and providers. Thus, clients can realize greater interoperability in
managing heterogeneous platforms through not needing to specify
different key values for each platform. Further, clients do not need to
obtain and store key information from a class where there is likely to be