This chapter provides an overview of Web-Based Enterprise Management (WBEM) and Solaris WBEM Services, software that makes it easier for software developers to create management applications that run on Solaris and make the Solaris operating environment easier to manage.
This chapter covers the following topics.
Web-Based Enterprise Management (WBEM) is an industry-wide initiative that includes standards for web-based management of systems, networks, and devices on multiple platforms. This standardization enables system administrators to manage desktops, devices, and networks.
WBEM is designed to be compatible with all major existing management protocols, including Simple Network Management Protocol (SNMP), Distributed Management Interface (DMI), and Common Management Information Protocol (CMIP).
WBEM encompasses the following standards:
Common Information Model (CIM) - Information model for describing managed resources.
Managed Object Format (MOF) - Language for defining CIM classes and instances.
eXtensible Markup Language (XML) - Markup language for describing managed resources on the web.
The Distributed Management Task Force (DMTF), a group representing corporations in the computer and telecommunications industries, is leading the effort to develop management standards. The goal of the DMTF is to develop an integrated approach to managing networks across platforms and protocols, resulting in cost-effective products that interoperate as flawlessly as possible. For information about DMTF initiatives and outcomes, see the DMTF web site at www.dmtf.org.
This section provides a brief introduction to basic CIM terms and concepts as they are used in the Solaris WBEM Services product. For more information on CIM, see Appendix A, Common Information Model (CIM) Terms and Concepts.
CIM is an object-oriented information model for describing managed resources such as disks, CPUs, and operating systems. A CIM object is a representation, or model, of a managed resource, such as a printer, disk drive, or CPU. CIM objects can be shared by any WBEM-enabled system, device, or application.
CIM objects with similar properties and purposes are represented as CIM classes. Properties are attributes that describe a unit of data for a class. An instance is a representation of a managed object that belongs to a particular class. Instances contain actual data. For example, Solaris_ComputerSystem is a CIM class that represents a computer running the Solaris operating environment. The Solaris software running your workstation is an instance of the Solaris_OperatingSystem class. ResetCapability and InstallDate are examples of properties of the Solaris_ComputerSystem class.
CIM classes are grouped into meaningful collections called schemas. A schema is a group of classes with a single owner. A class must belong to only one schema. Schemas are used for administration and class naming. All class names must be unique within a particular schema. The schema name is the determining factor in differentiating classes and properties from others that may have the same name. The naming of schema, class, and property follow this syntax:
Schemaname_classname.propertyname
The Common Information Model categorizes information from general to specific. Specific information, such as a representation of the Solaris environment, extends the model. CIM consists of the following three layers of information:
Core Model - A subset of CIM not specific to any platform.
Common Model - Information model that visually depicts concepts, functionality, and representations of entities related to specific areas of network management, such as systems, devices, and applications.
Extensions - Information models that support the CIM Schema and represent a very specific platform, protocol, or corporate brand.
Collectively, the Core Model and the Common Model are referred to as the CIM Schema.
The Core Model provides the underlying, general assumptions of the managed environment--for example, that specific, requested data must be contained in a location and distributed to requesting applications or users. These assumptions are conveyed as a set of classes and associations that conceptually form the basis of the managed environment. The Core Model is meant to introduce uniformity across schemas intended to represent specific aspects of the managed environment.
For applications developers, the Core Model provides a set of classes, associations, and properties that can be used as a starting point to describe managed systems and determine how to extend the Common Model. The Core Model establishes a conceptual framework for modeling the rest of the managed environment.
The Core Model provides classes and associations to extend specific information about systems, applications, networks, devices, and other network features through the Common Model and extensions.
Areas of network management depicted in the Common Model are independent of a specific technology or implementation but provide the basis for the development of management applications. This model provides a set of base classes for extension into the area of five designated technology-specific schemas: Systems, Devices, Applications, Networks, and Physical.
Extension schemas are built upon CIM to connect specific technologies to the model. By extending CIM, a specific operating environment such as Solaris can be made available to a greater number of users and administrators. Extension schemas provide classes for software developers to build applications that manage and administer the extended technology. The Solaris Schema is an extension of the CIM Schema.
Solaris WBEM Services software provides Web-Based Enterprise Management (WBEM) services on the Solaris operating environment. These services make it easier for software developers to create management applications that run in the Solaris operating environment, and makes the Solaris operating environment easier to manage.
Solaris WBEM Services software provides secure access and manipulation of management data. The product includes a built-in Solaris provider that allows management applications to access information about managed resources (devices and software) in the Solaris operating environment.
The CIM Object Manager accepts connections from management applications using either RMI or XML/HTTP protocols, and provides the following services to connected clients:
Management services, in the form of a CIM Object Manager that checks the semantics and syntax of CIM data and distributes data between applications, the CIM Repository, and managed resources.
Security services that enable administrators to control user access to CIM information.
Logging services that consist of classes developers can use to create applications that dynamically record event data to a log record and retrieve data from a log record. Administrators can use this data to track and determine the cause of events.
XML services that convert XML data into CIM classes, enabling XML/HTTP-based WBEM clients to communicate with the CIM Object Manager.
Once connected to a WBEM-enabled system, WBEM clients can request WBEM operations, such as, creating, viewing, and deleting CIM classes and instances, querying for properties that have a specified value, enumerating (getting a list of) instances or classes in a specified class hierarchy.
Solaris WBEM Services software consists of software components that function at three layers: Application, Management, and Provider. These components interact with the operating system and hardware layers. Figure 1-1 shows the software components and their interaction at each layer.
Application Layer - WBEM clients process and display data from managed resources. Solaris WBEM Services includes the following applications.
Sun WBEM User Manager and Solaris Management Console (SMC) Users Tool - Applications that allow system administrators to add and delete authorized users and to set their access privileges to managed resources.
Solaris Management Console (SMC) Log Viewer - An application that displays log files. Using the log viewer, a user can view details of a log record, including the name of the user who issued a logged command and the client computer on which a logged event occurred.
Managed Object Format (MOF) Compiler - Program that parses a file containing MOF statements, converts the classes and instances defined in the file to Java classes, and then adds the Java classes to the CIM Object Manager Repository, a central storage area for management data.
MOF is a language for defining CIM classes and instances. MOF files are ASCII text files that use the MOF language to describe CIM objects. A CIM object is a representation, or model, of a managed resource, such as a printer, disk drive, or CPU.
Many sites store information about managed resources in MOF files. Because MOF can be converted to Java, applications that can run on any system with a Java Virtual Machine can interpret and exchange this information. You can also use the mofcomp command to compile MOF files at any time after installation. For more information about MOF, see the DMTF web page at http://www.dmtf.org.
Management Layer - Components at this layer provide services to connected WBEM clients.
Common Information Model (CIM) Object Manager - Software that manages CIM objects on a WBEM system. CIM objects are stored internally as Java classes. The CIM Object Manager transfers information between WBEM clients, the CIM Object Manager Repository, and managed resources.
CIM Object Manager Repository - Central storage area for CIM class and instance definitions.
Client and CIM Application Programming Interfaces (APIs) - WBEM client applications use these Java interfaces to request operations, such as creating or viewing classes or instances of managed resources, from the CIM Object Manager.
Provider Interface - Providers use these interfaces to transfer information about managed resources to the CIM Object Manager. The CIM Object Manager uses the provider interfaces to transfer information to locally installed providers.
Provider Layer - Providers act as intermediaries between the CIM Object Manager and one or more managed resources. When the CIM Object Manager receives a request from a WBEM client for data that is not available from the CIM Object Manager Repository, it forwards the request to the appropriate provider.
Solaris Provider - Provides the CIM Object Manager with instances of managed resources in the Solaris operating environment. Providers get and set information on managed devices. A native provider is a machine-specific program written to run on a managed device. For example, a provider that accesses data on a Solaris system will most likely include C functions to query the Solaris system. The Java Native Interface (JNI) is the native programming interface for Java that is part of the JDK. By writing programs using the JNI, you ensure that your code is completely portable across all platforms. The JNI allows Java code that runs within a Java Virtual Machine (VM) to operate with applications and libraries written in other languages, such as C, C++, and assembly.
Solaris Schema - A collection of classes that describe managed objects in the Solaris operating environment. The CIM and Solaris Schema classes are stored in the CIM Object Manager Repository. The CIM Schema is a collection of class definitions used to represent managed objects that occur in every management environment.
The Solaris Schema is a collection of class definitions that extend the CIM Schema and represent managed objects in a typical Solaris operating environment. Users can also use the MOF compiler (mofcomp) to add CIM Schema, Solaris Schema, or other classes to the CIM Object Manager Repository.
Operating System Layer - The Solaris provider allows management applications to access information about managed resources (devices and software) in the Solaris operating environment.
Hardware Layer - A management client can access management data on any supported Solaris platform.
One or more schemas can be stored in directory-like structures called namespaces. A CIM namespace is a directory-like structure that can contain other namespaces, classes, instances, and qualifier types. The names of objects within a namespace must be unique.
In Solaris WBEM Services, when WBEM client application connects to a particular namespace, all subsequent operations occur within that namespace. When connected to a namespace, the client can access the classes and instances in that namespace (if they exist) and in any namespaces contained in that namespace. For example, if you create a namespace called child in the root\cimv2 namespace, you could connect to root\cimv2 and access the classes and instances in the root\cimv2 and root\cimv2\child namespaces.
An application can connect to a namespace within a namespace. This is similar to changing to a subdirectory within a directory. Once the application connects to the new namespace, all subsequent operations occur within that namespace. If you open a new connection to root\cimv2\child, you can access any classes and instances in that namespace but cannot access the classes and instances in the parent namespace, root\cimv2.
Three namespaces are created by default during installation:
root - The top-level namespace that contains other namespaces.
root\cimv2 - Contains the default CIM classes and instances that represent objects on your system, such as, LogicalDisk and Netcard. This is the default namespace.
root\security - Contains the security classes used by the CIM Object Manager to represent access rights for users and namespaces.
When a WBEM client application accesses CIM data, the WBEM system validates the user's login information on the current host. By default, a user is granted read access to the CIM and Solaris Schema. The CIM Schema describes managed objects on your system in a standard format that all WBEM-enabled systems and applications can interpret.
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.
The CIM Object Manager uses object provider APIs to communicate with 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 classes
Get information from a device
Pass the information to the CIM Object Manager in the form of CIM classes
Map the information from CIM classes to native device format
Get the required information from the CIM class
Pass the information to the device in native device format
A WBEM client and WBEM system can run on the same system or on different systems. Multiple WBEM clients can establish connections to the same WBEM system. A typical WBEM system can serve four or five WBEM clients.
Solaris WBEM Services supports the Version 1.0 Specification for CIM Operations over HTTP. This specification uses XML to model CIM objects and messages. XML is a standard markup language for describing data on the Web. This standard extends XML markup to define CIM objects and operations. Because XML provides a standard way of describing data that can be sent across the Web, any WBEM client can access CIM data on any WBEM system that can parse XML data.
The Sun WBEM Software Development Kit (SDK) contains the components required to write management applications that can communicate with any WBEM-enabled management device. Developers can also use this tool kit to write providers, programs that communicate with managed objects to access data. All management applications developed using the Sun WBEM SDK run on the Java platform.
A WBEM client application is a program that uses Sun WBEM SDK APIs to manipulate CIM objects. A client application typically uses the CIM API to construct an object (for example, a namespace, class, or instance) and then initialize that object. The application then uses the Client APIs to pass the object to the CIM Object Manager and request a WBEM operation, such as creating a CIM namespace, class, or instance.
The Sun WBEM SDK installs and runs in any Java environment. It may be used as a standalone application or with Solaris WBEM Services. The Sun WBEM SDK is available for download from http://www.sun.com/solaris/wbem.