JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris WBEM Developer's Guide     Oracle Solaris 11 Express 11/10
search filter icon
search icon

Document Information


1.  Overview of Solaris Web-Based Enterprise Management

2.  Using the CIM Object Manager

3.  Using the Sample Programs

4.  Writing a Client Program

5.  Writing WBEM Queries

6.  Writing a Provider Program

About Providers

Provider Data Sources

Types of Providers

Provider Naming Conventions

Implementing the Provider Interfaces

Writing an Instance Provider

Writing a Method Provider

Writing an Associator Provider

Writing an Indication Provider

How To Generate an Event Indication

Event Provider Methods

Creating and Delivering Indications

About Authorizations

Writing a Native Provider

Creating a Provider

How to Set the Provider CLASSPATH

How to Register a Provider

7.  Creating JavaBeans Components Using the MOF Compiler

8.  Administering Security

9.  Troubleshooting

A.  Solaris Schema


Creating a Provider

Follow these steps to create a provider:

  1. Create or edit your provider program.

  2. Compile the Java program to create the class files.

  3. Copy any shared object files (.so) to /usr/sadm/lib/wbem.

  4. Set your CLASSPATH to the location of your .class and .jar files.

  5. Register the provider.

How to Set the Provider CLASSPATH

You set the provider CLASSPATH to tell the CIM Object Manager where the .class and .jar files are located.

  1. Create an instance of the Solaris_ProviderPath class.

    For example:

    /* Create a namespace object initialized with root\system  
    (name of namespace) on the local host. */
    CIMNameSpace cns = new CIMNameSpace("", "root\system"); 
    // Connect to the root\system namespace as root. 
    cc = new CIMClient(cns, "root", "root_password");
    // Get the Solaris_ProviderPath class 
    cimclass = cc.getClass(new CIMObjectPath("Solaris_ProviderPath");
    // Create a new instance of Solaris_ProviderPath. 
    class ci = cimclass.newInstance();
  2. Set the pathurl property to the location of the files by using standard URL format.

    For example:

    /* Set the provider CLASSPATH to /myhome/myproviders */
    ci.setProperty("pathurl", new CIMValue(new String

    The standard URL format is shown in the following table.

    Provider CLASSPATH
    Standard URL Format
    Absolute path to directory
    Absolute path to .jar file
  3. Create the instance.

    For example:

    // Pass the updated instance to the CIM Object Manager 
    cc.createInstance(new CIMObjectPath(), ci);  

How to Register a Provider

You register a new or modified provider with the CIM Object Manager to communicate information about the data and operations that the provider supports. You also register a provider to notify the CIM Object Manager of the provider's location. The CIM Object Manager uses this information to load and initialize the provider, and to determine the appropriate provider for a particular client request.

  1. Create a Managed Object Format (MOF) file that defines the classes that the provider supports.

    Note - For more information on creating MOF files, see the DMTF Web site at

  2. Include the provider qualifier in the MOF file to specify the provider type and location for the CIMOM.

    For example:

    Class_name {

    This qualifier indicates the following information:

    • java: – The provider is written in the Java language and implements the javax.wbem.provider interfaces

    • com.sun.providers.myprovider – The name of the Java class that implements the provider

  3. Compile the MOF file by using the mofcomp(1M) command.

Example 6-4 Registering a Provider

This MOF file declares the Ex_SimpleCIMInstanceProvider class that is served by SimpleCIMInstanceProvider.

// ========================================================
// Title:       SimpleCIMInstanceProvider
// Filename:    SimpleCIMInstanceProvider.mof
// Description:
// ==================================================================

// ==================================================================
// Pragmas
// ==================================================================
#pragma Locale ("en-US")

// ==================================================================
//   SimpleCIMInstanceProvider
// ==================================================================
class Ex_SimpleCIMInstanceProvider
   // Properties
      [Key, Description("First Name of the User")]
   string First;
      [Description("Last Name of the User")]
   string Last;