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 41
Schema Interfaces Between Providers (Associations and
Aggregations)
A significant consideration (see also Provider Design Considerations
below) in understanding a provider's interaction with other providers is
that of how classes instrumented by separate providers are related. In
CIM, classes are related via associations and aggregations. When two
related classes are supported by two separate providers, the association
(or aggregation) linking the classes is an interface point between those
providers.
Providers for all association (aggregation) classes must know the values
of the key properties for instances on both sides of the association.
However, the classes referenced by an association are not necessarily
supported by the same provider as the association itself. It is important
that all providers supporting instances or references to the instances
have a common understanding of the values for the key properties in the
instances. In selecting a provider to support the association class, there
are several considerations:
The provider must know the values for the keys on both sides of the
association.
Is it possible that both providers would not be installed? It may be
important that the provider supporting the association have an
installation script dependency on the other provider.
Is there some third provider that knows how to associate these
classes, perhaps at a higher level in the schema hierarchy? Careful
definition of the key properties is essential.
Based on these considerations, determine which provider should own
and implement the association.
Future Schema Enhancements/Extensions
If capabilities which may become future enhancements can be identified,
it is also helpful to consider how these areas would affect the schema.
Backward compatibility of schema is highly desirable. It ensures that
existing clients will not be adversely affected by upgrading to a new
version of the schema. A simple rule is that CIM schemas can be ensured
to be backward compatible by just adding (not deleting or changing)
classes, properties, methods, and relationships. Additional details are
discussed in Rules for Updating Schema below.