Track - WBEM API's
The CIM-API: a new way of using CIM
Andre Asselin, IBM
CIM-API is an effort through the Open Group to develop an industry standard API whose key feature is access to CIM infrastructure in-process or out-or-process. The use cases for such a facility include embedded environments, access to remote CIM data via alternate network protocols (e.g. SMASH CLP, web services, etc.), and hierarchical structuring of CIM-based management solutions. This session will show the main use cases with code examples, explain the CIM-API design and key implementation decisions, and summarize the implementation design for OpenPegasus. Overall, we will show why the use of CIM-API will be an important enabler of CIM technology in general, and will expand the range of its applicability.
Common Manageability Programming Interface (CMPI)
David Sudlik, IBM
The Common Manageability Programming Interface (CMPI) is a standard interface for CIM providers published by The Open Group. It is supported by many popular CIM Servers such as OpenPegasus, OpenWBEM and SBLIM Small Footprint CIM Broker (sfcb). CMPI is a binary compatible provider interface that makes the development of CIM providers independent from a particular CIM Server implementation. The session covers the concepts of CMPI and shows the CMPI Provider Interface by the means of code examples, including updates based on the 2.0 version of the standard.
Java WBEM API (JSR48)
Jim Davis, WBEM Solutions
Abstract
Implementing a Profile: Advanced Provider Development using JSR48
Matt Hamre
Carl Chan
WBEM Solutions
This advanced session will walk the attendees through the process of creating an implementation of a profile. It will start with a review of a profile specification and the determiniation of what needs to be developed. The session will then walk the attendees through the process of creating association, instance, method and indication providers that adhere to the specification. This session will use the JSR48 - Java WBEM API.
Python Provider and WBEM Client Interfaces
Bart Whiteley, Novell
Tim Potter, Hewlett Packard
This presentation will be a brief tutorial on Python WBEM Client and Python Provider Interfaces with examples and demonstrations.
PyWBEM is a CIM client library written entirely in the Python programming language and distributed under the GNU GPL. PyWBEM is written with an emphasis on usability and simplicity and is suitable for tasks ranging from simple testing and exploration, to writing an entire CIMOM. This presentation will be a brief tutorial of the PyWBEM API with examples and demonstrations.
Python is a natural language for many systems management tasks on Linux and Unix platforms. Python Provider Interfaces can boost productivity for provider writers. Tools and examples for Python providers will be covered.
Techniques for Quickly and Easily Coding CIM Providers
Dan Nuffer, Quest Software, Inc.
A presentation of a number of techniques learned from years of writing CIM providers for commercial software products. The techniques are applicable for all CIM/WBEM environments and are not a re-hash of good-programming-style tips but specific ideas that reduce complexity, duplication, and coding errors of CIM instrumentation.
Techniques:
First class CIM objects with class code generated from MOF. This removes the chance for typos in names (e.g. “CreationClasName”) and makes the code much more straightforward and easy to maintain.
Provider skeleton generated from MOF.
Using an instanceFromClass function that correctly creates CIM instances given a CIM class.
Using a filterProperties function that correctly processes complex interaction between localOnly, deep and propertyList parameters.
Using a template method design pattern to simplify writing providers which don't need the full flexibility offered by the provider interface. A generic implementation is provided for the standard provider interface, which makes calls to a simplified interface that is instrumented by the provider. This simplifies the code and reduces duplication. A number different models for instance providers will be presented, each applicable for different requirements and the most efficient way of retrieving data from the instrumentation. An example of a simplified associator provider interface will also be presented.
Creating an interface and separating provider code from instrumentation, so that instrumentation code can be re-used in different contexts. Taking this concept further and using code generation, the entire provider can be generated so that all a developer needs to instrument is a generic non-CIM specific interface.
Non-native code provider interfaces. Providers can be written as an executable script which reads input and outputs text which is then parsed to obtain the result.
Other techniques may be included as time permits.
WBEM Performance
Ying Zeng, Nortel
As the deployment of architectures such as Web Based Enterprise Management (WBEM) allow service, network and device management to become increasingly integrated, the performance of the management system becomes a critical factor. This paper describes the results of a series of performance tests carried out on various implementations of WBEM to determine the architectural and implementation bottlenecks.
Verifying WBEM Interoperability
Steve Hand, Symantec Corporation
This session will explore the use of a CIM-XML and WS-MAN client to configure a CIM Agent while recording the traffic. Later, the session will explore how the SNIA WBEM Protocol tester validates the traffic.
An Interface for Managing Aggregations in CIM
Tim Potter, HP
The structure of the CIM schema is based on diagrams written in the Unified Modelling Language (UML). In UML, relationships between objects are expressed either using associations or aggregations but aggregations can only be accessed using an interface designed for associations. This presentation examines a more efficient way of managing aggregations and some results from modifying the OpenPegasus CIM server.
CIM V3 Status
Jeff Piazza, Hewlett Packard
The session presents the current status of CIM V3 (CIM "Next Generation"). It focuses on the proposed changes to the CIM meta model, and how they can be used to do better modeling in the CIM schema.
