Common Manageability Programming Interface
The Common Manageability Programming Interface (CMPI) is an open standard that defines a programming interface between a CIM Server and CIM Providers.
Overview
The CMPI standard is defined by the CMPI Working Group of The Open Group and is implementation neutral.
The CMPI programming interface is defined for the C programming language. Its C header files are enabled for C++. In addition, there are C++ utility macros that allow accessing the interface in a way that is more typical to C++.
Benefits of CMPI
Before the introduction of CMPI, each CIM Server implementation had its own specific programming interface for CIM Providers (e.g. WMI COM API, OpenPegasus C++ API, OpenWBEM C++ API, etc.). CMPI allows CIM Providers to be developed that are mostly or completely agnostic to the type of CIM Server they are being used with. Therefore, CMPI Providers can be deployed accross a variety of operating environments with no or minimal adaptation work. This protects the investment in these CIM Providers.
CMPI Standards Development
The original input to the CMPI standard was submitted by IBM to The Open Group in 2003. In 2004, CMPI V1.0 was released by The Open Group as an adopted standard. The current adopted version of CMPI is V2.0.
List of products or projects supporting CMPI
CIM Servers
CIM Providers
- SBLIM CMPI providers for Linux
- XenSource CMPI providers for Xen
- CMPI providers for libvirt/KVM
- CIM support on IBM z/OS
- CIM support on IBM AIX
Tools
- Extensible CIM UML Tooling Environment (ECUTE)
- CIMPLE Provider Development Environment (SimpleWBEM)
- Konkret CMPI
- OpenDRIM C++ Template
Links
CMPI 2.0 Standard
CMPI 1.0 Standard
- CMPI 1.0 Specification
- CMPI 1.0 Technical Corrigendum 1
- CMPI 1.0 Technical Corrigendum 2
- CMPI 1.0 header files on SBLIM project