# Modelo de información común

El modelo de información común (CIM por sus siglas en inglés) es un estándar abierto que define cómo los elementos gestionados en un entorno TI son representados como un conjunto común de objetos y relaciones entre ellos.
El Grupo de Trabajo de Administración Distribuida (DMTF) mantiene el CIM para permitir una gestión coherente de estos elementos gestionados, independientemente de su fabricante o proveedor.

## Visión general

Una forma de describir el CIM es decir que permite a múltiples partes intercambiar información de gestión sobre estos elementos gestionados. Sin embargo, esto no alcanza para expresar que el CIM no solo representa estos elementos gestionados y la información de gestión, sino que también proporciona los medios para controlar y gestionar estos elementos activamente. Al utilizar un modelo común de información, el software de gestión puede ser escrito una vez y trabajar con muchas implementaciones del modelo común sin operaciones de conversión complejas ni costosas o pérdida de información.
El estándar del CIM es definido y publicado por el Grupo de Trabajo de Administración Distribuida (DMTF). Un estándar relacionado es la Gestión Empresarial Basada en Web (WBEM por sus siglas en inglés, también definida por el DMTF) que define una implementación particular de CIM, incluyendo protocolos para descubrir y acceder a dichas implementaciones CIM.

## Esquema y especificaciones

El estándar CIM incluye la especificación de la infraestructura CIM y el esquema CIM:
* Especificación de la Infraestructura CIM (CIM Infrastructure Specification): La Especificación de la Infraestructura CIM define la arquitectura y los conceptos de CIM, incluyendo un lenguaje mediante el cual se define el Esquema CIM (incluyendo cualquier esquema de extensión), y un método para mapear CIM a otros modelos de información, como SNMP. La arquitectura CIM se basa en UML, por lo que está orientada a objetivos: los elementos gestionados se representan como clases CIM y cualquier relación entre ellos se representa como asociaciones CIM. La herencia permite la especialización de elementos base comunes en elementos derivados más específicos.
* Esquema CIM (CIM Schema): El esquema CIM es un esquema conceptual que define el conjunto específico de objetos y las relaciones entre ellos que representan una base común para los elementos gestionados en un entorno de TI. El esquema CIM cubre la mayoría de los elementos actuales de un entorno informático, por ejemplo, sistemas informáticos, sistemas operativos, redes middleware, servicios y almacenamiento. Las clases pueden ser, por ejemplo: CIM_COMPUTERSYSTEM, CIM_OPERATINGSYSTEM, CIM_PROCESS, CIM_DATAFILE. El esquema CIM define una base común para representar estos elementos gestionados. Dado que la mayoría de los elementos gestionados tienen un comportamiento específico del producto y del proveedor, el esquema CIM es extensible para permitir a los productores de estos elementos representar sus características específicas sin problemas junto con la funcionalidad base común definida en el esquema CIM.
Las actualizaciones del esquema CIM se publican regularmente.
El CIM es la base para la mayoría de los otros estándares DMTF (es decir, WBEM o SMASH). También es la base del estándar SMI-S par a la gestión del almacenamiento.

## Implementaciones
### Implementaciones de infraestructura

Muchos proveedores ofrecen implementaciones de CIM en diversas formas.
Algunos sistemas operativos ofrecen una implementación de CIM, por ejemplo:
* La API de Windows Management Instrumentation (WMI) disponible en Microsoft Windows 2000 y superiores.
* La API de Windows Management Infrastructure (MI) para Microsoft Windows 2012 y superior.
* Algunas distribuciones de Linux con el proyecto SBLIM (Standards Based Linux Instrumentation for Manageability).
Algunas implementaciones son independientes de los sistemas que soportan, por ejemplo:
* Pegasus de Open Group
* El servidor J WBEM de WSI
También hay un creciente número de herramientas del mercado relacionadas con el CIM.

### Normas de gestión basadas en el esquema CIM

Las organizaciones de normalización han definido normas de gestión basadas en el esquema CIM:
* La Asociación de la Industria de Redes de Almacenamiento (SNIA por sus siglas en inglés) ha apostado fuertemente por el uso de CIM y WBEM: han definido su uso del CIM (llamado Iniciativa de Gestión del Almacenamiento - Especificación o SMI-S) como un estándar.
* Algunos fabricantes de servidores colaboran en el DMTF bajo la iniciativa SMASH para definir la gestión de servidores basada en CIM.
* La iniciativa DASH en el DMTF intenta definir la gestión de ordenadores de sobremesa basada en CIM.

### Protocolos de comunicación usados

Se han definido varios protocolos para los mensajes transmitidos entre clientes y servidores. Los protocolos de mensajes de transmiten sobre HTTP. Hay dos tipos de mensajes:
* mensajes operativos, que provocan una respuesta del receptor (RPC)
* mensajes de exportación, que son indicaciones/eventos

### Operaciones CIM sobre HTTP (CIM-XML)

CIM-XML forma parte de la familia de protocolos WBEM, y está estandarizado por el DMTF.
CIM-XML comprende tres especificaciones:
* Operaciones CIM sobre HTTP
* Representación de CIM medianteXML
* CIM DTD

### Gestión del WS

WS-MAN forma parte de la familia de protocolos WBEM, y está estandarizado por el DMTF.
WS-MAN comprende tres especificaciones:
* Especificación de mapeo WS-CIM
* Especificación del enlace CIM de WS-Management
* Especificación de servicios web para la administración (WS-Management)

#### Operaciones CIM sobre servicios RESTful

CIM-RS forma parte de la familia de protocolos WBEM, y está estandarizado por el DMTF.
CIM-RS comprende tres especificaciones:
* Operaciones CIM sobre servicios RESTful
* Especificaciones de protocolo CIM-RS
* Representación de la carga útil de CIM-RS en JSON.