Общая информационная модель

Модель CIM представляет собой расширенную объектно-ориентированную модель данных, содержащую сведения о различных частях предприятия. CIM — это кроссплатформенный стандарт, поддерживаемый целевой группой распределенного управления (DMTF). При помощи WMI разработчик может использовать CIM для создания классов, представляющих жесткие диски, приложения, сетевые маршрутизаторы или даже пользовательские технологии, например сетевой кондиционер. Просматривая класс CIM и внося в него изменения, администратор может контролировать различные аспекты корпоративной среды. Например, администратор может запросить экземпляр класса CIM, представляющий настольную рабочую станцию. Затем администратор может выполнить сценарий для изменения экземпляра рабочей станции CIM. WMI преобразует любое изменение экземпляра класса CIM для рабочей станции в изменение на реальной рабочей станции.

CIM — это независимая от языка модель программирования, которая использует объектно-ориентированные методы для описания предприятия. Используя три уровня наследования "родители-потомки", CIM может описывать как общие, так и конкретные аспекты предприятия. CIM также использует метод , называемый "связью", чтобы связать различные части корпоративной модели вместе, и использует схемы для различения различных сред управления.

CIM предназначен для представления согласованного представления логических и физических объектов в среде управления. CIM представляет управляемые объекты с помощью объектно-ориентированной конструкции, называемой "классом". Как и класс C++ или COM, класс CIM может включать свойства для описания данных и методы для описания поведения. Как и набор com-классов, CIM не привязан к какой-либо платформе. Однако WMI включает расширение CIM, описывающее платформы операционной системы Microsoft Windows.

CIM определяет три уровня классов:

  • Основные сведения

    Основные классы представляют управляемые объекты, которые применяются ко всем областям управления. Эти классы предоставляют базовый словарь для анализа и описания управляемых систем. Примерами основных классов являются классы __Parameters и __SystemSecurity .

  • Распространенные

    Общие классы представляют управляемые объекты, которые применяются к определенным областям управления. Однако общие классы не зависят от конкретной реализации или технологии. Общие классы являются расширением основных классов. Класс CIM_UnitaryComputerSystem является примером общего класса.

  • Расширенное

    Расширенные классы представляют собой управляемые объекты, которые являются технологическими дополнениями к общим классам. Расширенный класс обычно применяется к определенной платформе, например UNIX или среде Microsoft Win32. Класс Win32_ComputerSystem является примером расширенного класса.

Разработчик может наследовать класс от другого класса. Производный класс представляет особый случай родительского класса и наследует все свойства и методы родительского класса. Например, Win32_ComputerSystem наследуется от CIM_UnitaryComputerSystem. Связи наследования можно определить с помощью системных свойств __Derivation, __Dynasty и __SuperClass. Системное свойство __Derivation — это массив строк, содержащий всю цепочку наследования до корневого класса, который также включен в __Dynasty. Системное свойство __SuperClass показывает непосредственный родительский элемент текущего класса.

Инструментарий WMI также поддерживает связи. Связь — это связь между двумя или более разными классами WMI. Например, запущенная рабочая станция обычно имеет процессор. Класс ассоциации WMI Win32_ComputerSystemProcessor связывает класс рабочей станции Win32_ComputerSystem с классом процессора Win32_Processor. Однако классу ассоциации не нужно связывать два зависимых класса. На самом деле основная цель класса ассоциации заключается в том, чтобы показать связи между классами, которые не обязательно зависят друг от друга. Дополнительные сведения см. в разделе Объявление класса ассоциации.

Наконец, WMI поддерживает концепцию схем. В контексте WMI схема — это группа классов, описывающих определенную среду управления. Пакет sdk для Microsoft Windows использует две схемы: CIM и Win32. Имена классов схемы CIM начинаются с CIM_, а имена классов схем Win32 начинаются с Win32_. Схема CIM содержит определения для основных и общих классов, а схема Win32 содержит определения для расширенных классов, которые являются общими для среды Win32. Однако сторонний поставщик может создать собственные схемы для описания требований конкретного поставщика. Так как схемы предназначены для бесконечного расширения, разработчик всегда может добавить новые классы для описания новых управляемых объектов в существующей среде. Однако для простоты большинство поставщиков предпочитают создавать схемы, наследующие свойства от схем CIM или Win32.