Web-Based Enterprise Management (WBEM) providers act as intermediaries between CIMOM and one or more managed objects. When CIMOM receives a request from a management application for data that is not available from the CIMOM repository or for notifications of events that CIMOM does not support, it forwards the request to a provider. Providers supply data and event notifications for managed objects that are specific to their particular domain.
Providers are standard COM/DCOM servers that can be implemented using the full range of supported server types:
The WBEM SDK includes several built-in providers. The built-in providers, also referred to as standard providers, supply data from well-known sources such as the system registry and the Win32 subsystem.
The WBEM technology also supports the creation of custom providers by third-party developers. These providers service requests relating to managed objects that are environment-specific. Providers typically use the MOF language to define and create classes. They use the CIMOM API to access the CIMOM repository and to respond to CIMOM requests made initially by applications.
The following diagram illustrates the architecture of providers. The PerfMon Provider, Registry Provider, and WMI Provider are examples of standard providers. Provider X, Provider Y, and Provider Z are examples of custom providers. Both the standard and custom providers can access data from the CIMOM repository through the CIMOM API.
The WBEM technology categorizes providers by the different features that they support. Every provider can support one or more feature set. For each feature, a different method is implemented. There are basically two types of providers: those that support data retrieval and modification and those that support event notification. Providers can be categorized further as follows:
Provider type | Description |
---|---|
Class | Retrieves, modifies, deletes, and/or enumerates a provider-specific class. Can also support query processing. |
Event | Generate notifications of events. |
Event consumer | Supports event notification by mapping a physical consumer with a logical consumer. |
Instance | Retrieves, modifies, deletes, and/or enumerates the instances of system and/or provider-specific classes. Can also support query processing. |
Method | Invokes methods for a provider-specific class. |
Property | Retrieves and/or modifies individual property values. |
Each of the features listed for the property, instance, and class providers are optional. These providers can choose to support one or more of the possible features. Providers indicate which features they support through the registration process and through their implementation of the corresponding method in the CIMOM API. A provider that does not support a particular feature returns WBEM_E_NOT_SUPPORTED from the corresponding method.
However, to avoid making unnecessary calls, CIMOM always checks a provider's registration first to determine if it can handle a request. If CIMOM detects that the provider can not handle the request because it does not support a feature, CIMOM never makes the request.