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 39
Rules about Key properties when creating a subclass include:
• If a superclass already has (or inherits) key properties, no key
properties may be added to or deleted from its subclasses.
• All concrete classes must have keys. (A concrete class is a class that
may have instances.)
In conjunction with the identification of keys for a given class, one must
consider possible associations with the class. To effectively implement a
reference ("REF") property on an association (or aggregation), the
provider for the association must know the values for all key properties
for all the instances which will be referenced by that association class.
Methods
Methods specific to classes are sometimes called extrinsic methods to
differentiate them from intrinsic methods, such as enumerateInstances
or getInstance which are available to all classes. Extrinsic methods
identify that a class possesses some capability which a client could
request be performed on a particular instance of that class. Class-specific
methods have very similar considerations to those of properties.
However, they have some additional considerations in determining when
to define methods within a class which include:
• Implement a method when it is necessary to model an operation on
an instance that is not clearly modeled by setting the value of a
property, especially if one or more result values must be returned.
For example, while setting the operational state of a device or service
could be modeled by setting the value of a property (perhaps named
State), running a diagnostic or installing a software component
which may involve several input and output parameters.
• If the method could be implemented using an intrinsic method
supported by the CIM ServerCIM Server (for example
deleteInstance, createInstance, setProperty), consider
documenting that asan appropriate client usage (perhapsin a profile
or whitepaper describing schema usage), rather than implementing a
redundant extrinsic method.
STEP 5: Finalize Schema Details
This step finalizes the schema by considering it in the larger context of
standard schemas, other providers, and client usage. There are several
considerations that may be applicable for a given schema: