Providers are classes that communicate with managed objects to access data. Providers forward this information to the CIM Object Manager for integration and interpretation. When the CIM Object Manager receives a request from a management application for data that is not available from the CIM Object Manager Repository, it forwards the request to a provider.
Object providers must be installed on the same machine as the CIM Object Manager. The CIM Object Manager uses object provider application programming interfaces (APIs) to communicate with locally installed providers.
When an application requests dynamic data from the CIM Object Manager, the CIM Object Manager uses the provider interfaces to pass the request to the provider.
Providers perform the following functions in response to a request from the CIM Object Manager:
Map the native information format to CIM Java classes
Get information from a device
Pass the information to the CIM Object Manager in the form of CIM Java classes
Map the information from CIM Java classes to native device format
Get the required information from the CIM Java class
Pass the information to the device in native device format
Providers are categorized according to the types of requests they service. The Sun WBEM SDK supports three types of providers:
Instance - Supply dynamic instances of a given class, for example, Solaris packages. Instance providers support one or more of the following operations:
Instance retrieval
Enumeration
Modification
Deletion
Property - Supply dynamic property values, for example, disk space.
Method - Supply methods of one or more classes. A method is a function that describes the behavior of a class. Methods must be implemented by a provider.
A single provider can support both methods and instances, which can be convenient.
Most providers are pull providers, which means they maintain their own data, generating it dynamically when necessary. Pull providers have minimal interaction with the CIM Object Manager and the CIM Repository. The data managed by a pull provider typically changes frequently, requiring the provider to either generate the data dynamically or retrieve it from a local cache whenever an application issues a request. A provider can also contact the CIM Object Manager.
A single provider can act simultaneously as a class, instance, and method provider by proper registration and implementation of all relevant methods.