Common Manageability Programming Interface
Encyclopedia
The Common Manageability Programming Interface (CMPI) is an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

 that defines a programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 between a CIM
Common Information Model (computing)
The Common Information Model is an open standard that defines how managed elements in an IT environment are represented as a common set of objects and relationships between them...

 server and CIM providers.

Overview

The CMPI standard is defined by the CMPI Working Group of The Open Group
The Open Group
The Open Group is a vendor and technology-neutral industry consortium, currently with over three hundred member organizations. It was formed in 1996 when X/Open merged with the Open Software Foundation...

 and is implementation neutral.

The CMPI programming interface is defined for the C programming language. Its C header files
Header file
Some programming languages use header files. These files allow programmers to separate certain elements of a program's source code into reusable files. Header files commonly contain forward declarations of classes, subroutines, variables, and other identifiers...

 are enabled for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

. In addition, there are C++ utility macros that allow accessing the interface in a way that is more typical to C++.

Benefits

Before the introduction of CMPI, each CIM server implementation had its own specific programming interface for CIM providers (e.g. WMI
Windows Management Instrumentation
Windows Management Instrumentation is a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification...

 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 across a variety of operating environments with no or minimal adaptation work. This protects the investment in these CIM providers.

Standards development

The original input to the CMPI standard was submitted by IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 to The Open Group
The Open Group
The Open Group is a vendor and technology-neutral industry consortium, currently with over three hundred member organizations. It was formed in 1996 when X/Open merged with the Open Software Foundation...

in 2003. Along with the submission, an implementation was conducted as part of the SBLIM project.

In late 2004, CMPI V1.0 was released by The Open Group as a Technical Standard.

The current version of CMPI is V2.0 and was released in late 2006.

List of products or projects supporting CMPI

Note: The following list is likely incomplete. Please help to complete the list.

CIM servers


CIM providers


Tools


CMPI 2.0 Standard


CMPI 1.0 Standard


General links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK