Management Developers Conference

NOVEMBER 17 - 20, 2008 SANTA CLARA MARRIOTT, SANTA CLARA, CALIFORNIA


Track - Developer


CMPI Provider Test Harness

Chip Vincent, IBM


CMPI is a CIMOM-agnostic provider interface supported across a variety of CIM environments, such as OpenPegasus, SFCB, WBEM Solutions, and WMI+A. The interface is designed to allow one to implement a provider once and deploy it in a variety of operating environments. However, the overall complexity of the CIM stack and the nuances between the implementations (and versions) can make testing the provider extremely difficult and expensive. Testing and troubleshooting is further complicated when providers from multiple vendors must operate within the same CIMOM.

The CMPI Provider Test Harness is a powerful provider test tool and diagnostic. It supports pluggable test cases, call intercepts, and even a variety of CMPI implementations. With this tool, it is possible to script tests to perform 100 percent code coverage of a provider in an OpenPegasus, SFCB, or WMI+A environment BEFORE integrating it with the CIMOM and other providers.

From the provider's perspective, the tool acts just like a CMPI broker. However, it is really a sophisticated wrapper for a real CMPI implementation. The wrapper even supports provider up-calls by re-routing requests to a CIMOM running in a separate process on the same system. This allows one to isolate a provider but still test complex provider-repository or provider-provider relationships.

The tool is still in the early stages of development but will be contributed to the open community once stable.

CMPI Provider Test Harness features overview:

Python CIM Providers

Bart Whiteley, Novell

This session will discuss recent developments in the Python CIM Provider Interface.  Python providers can now run under any CIMOM that supports CMPI.  The session will present the architecture of the Python provider adapter, Python provider concepts, and concrete examples of Python providers.


Java WBEM API (JSR48)

Jim Davis, WBEM Solutions

The JSR48 API is the standard Java API for developing CIM and WBEM Clients and Providers. The API includes support for the following:

    CIM            - A mapping of the Common Information Model (CIM) Meta Schema to Java.
    WBEM
        Client      - A protocol-neutral mapping of WBEM operations to Java.
        Listeners - A set of classes to listen for Indications.
        Providers - A set of interfaces for developing providers.

This session will describe the architecure and design of the API, describe each of the Interface areas, provide running code examples for clients, listeners, providers and CIM Mappings. The examples will use both CIM-XML and WS-Management.

Best Practices for Writing CMPI Providers

Marek Szermutzky, IBM


The Common Manageability Programming Interface (CMPI) is a standard interface for CIM providers supported by many popular CIM Servers. CMPI is binary compatible which makes development of CIM providers independent from a particular CIM Server implementation.  The presentation will cover the "Do's and Dont's" of writing CMPI providers based on practical experiences and samples. Commonly experienced stumbling stones are described and how those can be circumvented or avoided. Focus will be put on how to write high-performance, reliable and stable CMPI providers.

Testing Providers with PyWBEM

Tim Potter, Hewlett Packard


Testing is a vitally important part of provider development, and has different requirements of a CIM client. This presentation will cover the basics of the PyWBEM Python CIM client interface and follow with some useful techniques for testing providers. An introduction to the asynchronous client interface will also be given.

cmpi-bindings - Compiler-free provider development

Klaus Kämpf, Novell
Bart Whiteley, Novell


For a long time, when developing a CIM provider one had to choose a specific CIMOM and programming language, typically C or C++.
The CMPI programming interface removed the CIMOM limitation, pywbem added Python to the list of implementation languages.

In this presentation we show how to use the SWIG (www.swig.org) code generator to enable developers to write CIM providers in any SWIG supported language. This includes Python, Ruby, C#, Java, Perl, Tcl and many more.

WBEM Solutions Development & Test Tools

Carl Chan, WBEM Solutions, Inc.

Jim Davis, WBEM Solutions, Inc.


WBEM Solutions offers a variety of products and services to aid companies in providing enterprise ready WBEM-Based implementations. This session will provide an overview and demonstration of the following products

Inova Development Tools

Mike Brasher, Inova Development


Inova Development offers two tools to aid developers in creating providers:


This presentation will introduce both products and will include both an overview of the technologies and demonstration of the generation of providers with both technologies.

WBEM Solutions J WBEM Server

Jim Davis, WBEM Solutions

The WBEM Solutions J WBEM Server is the only enterprise level Java-based WBEM Server in the industry. The J WBEM Server is used in many shipping products today; embedded products, proxy-based products, client applications and services tier implementations. This session will describe the architecture, features, programming interfaces and the future roadmap. The J WBEM Server has many custom features, such as rebranding, built in infrastructutre profiles, IPv6 support, logging and tracing, configuration of IP address/port from behind firewall to name a few. This session will provide a complete description of how the J WBEM Server is used by customers today as well as the licensing terms.

OpenPegasus

Karl Schopmeyer, Inova Development


This presentation will present an overview of the OpenPegasus CIM Server and environment including the current status of the project and expected new functionality in the next generation.  It will also provide information on the use of Pegasus in embedded systems.

Griffin - a Multi-protocol Manageability Framework

Tim Potter, Hewlett Packard


This presentation will describe an experimental CIMOM written in the functional programming language Erlang. Erlang is peculiarly suited to writing network servers and has an unusual set of concurrency, fault-tolerant and robustness features not present in other commonly used languages. The Griffin project is attempting to be not merely another CIMOM, but a flexible platform for implementing services based on manageability protocols.

ECUTE open source tooling overview and demo

David Judkovics, IBM
Andreas Maier, IBM


This session will give an update on the ECUTE family of open source tools. ECUTE stands for "Extensible CIM UML Tooling Environment" and is a component within the SBLIM open spource project on sourceforge. ECUTE provides a number of CIM related tools: The ECUTE Modeler is an implementation of the DMTF defined UML profile for CIM and allows to use the Eclipse UML editor to define CIM models. The ECUTE CIM Explorer is a comfortable browser for CIM servers. Finally, the ECUTE CIM-XML Analyzer allows to inspect the traffic between a CIM client and CIM server.

OpenTestMan Update

Akash Malhotra, AMD


OpenTestMan (OTM) is an Open Source DASH test tool that was introduced at MDC 2007. In the last year, it has matured, increased in scope, improved its user interface, and gained a number of users. This presentation will briefly recap the purpose, design and uses of the tool, then move on to new features, coverage and improvements in the tool over the last year. A live demo is included.

DASH and Active Directory

Prasad Ayyalasomayajula, AMD


The DASH Implementation Specification does not describe a method for authenticating and authorizing DASH users, but a very common way of doing this in enterprise workstation environments is using Microsoft® Active Directory. This presentation describes the technical challenges of putting Active Directory capability in embedded environments and integrating it with the DASH Simple User and Role-based Authorization profiles. Architecture and code from a reference implementation of AD support will be shown, and there will be a live demo. Information about how to obtain the reference implementation will be given.

Microsoft System Center Configuration Manager and DASH.

Bob Blair, AMD


Microsoft System Center is a widely deployed framework for managing desktop and mobile workstations enterprise-scale environments. This presentation will describe and demonstrate a DASH plugin for the Configuration Manager component of System Center, that allows enterprises to take advantage of DASH features while deploying and managing software and configuration. The plugin is build using the open source DASH SDK introduced as MDC 2007. The presentation includes a description of the architecture of the plugin, how the DASH SDK was leveraged, information on how to download and install the plug-in, and a live demo.