Common Information Model
Model CIM (Common Information Model) je rozšiřitelný objektově orientovaný datový model, který obsahuje informace o různých částech podniku. CIM je multiplatformní standard udržovaný distribuovanou úlohou správy (DMTF). Prostřednictvím rozhraní WMI může vývojář pomocí CIM vytvářet třídy, které představují jednotky pevného disku, aplikace, síťové směrovače nebo dokonce uživatelsky definované technologie, jako je například síťový klimatizace. Zobrazením a provedením změn třídy CIM může manažer řídit různé aspekty podniku. Správce může například zadat dotaz na instanci třídy CIM představující desktopovou pracovní stanici. Správce pak může spustit skript pro úpravu instance pracovní stanice CIM. Rozhraní WMI by přeložilo jakoukoli změnu instance třídy CIM pracovní stanice na změnu skutečné pracovní stanice.
CIM je programovací model nezávislý na jazyce, který k popisu podniku používá objektově orientované techniky. Pomocí tří úrovní dědičnosti nadřazenosti/podřízenosti může CIM popsat obecné i specifické aspekty podniku. CIM také používá techniku nazvanou "přidružení" k propojení různých částí podnikového modelu a používá schémata k rozlišení různých prostředí pro správu.
CIM je navržený tak, aby v prostředí pro správu zobrazoval konzistentní pohled na logické a fyzické objekty. CIM představuje spravované objekty pomocí objektově orientované konstrukce označované jako "třída". Podobně jako C++ nebo COM může třída CIM obsahovat vlastnosti popisovat data a metody popisování chování. Podobně jako sada tříd MODELU COM není CIM svázaná s žádnou platformou. Rozhraní WMI však zahrnuje rozšíření CIM, které popisuje platformy operačního systému Microsoft Windows.
CIM definuje tři úrovně tříd:
Jádro
Základní třídy představují spravované objekty, které se vztahují na všechny oblasti správy. Tyto třídy poskytují základní slovník pro analýzu a popis spravovaných systémů. Třídy __Parameters a __SystemSecurity jsou příklady základních tříd.
Společný
Běžné třídy představují spravované objekty, které se vztahují na konkrétní oblasti správy. Běžné třídy jsou však nezávislé na konkrétní implementaci nebo technologii. Běžné třídy jsou rozšířením základních tříd. Třída CIM_UnitaryComputerSystem je příkladem společné třídy.
Rozšířený
Rozšířené třídy představují spravované objekty, které jsou doplňky specifické pro technologii do běžných tříd. Rozšířená třída se obvykle vztahuje na konkrétní platformu, jako je unix nebo prostředí Microsoft Win32. Třída Win32_ComputerSystem je příkladem rozšířené třídy.
Vývojář může odvodit třídu z jiné třídy. Odvozená třída představuje zvláštní případ nadřazené třídy a dědí všechny vlastnosti a metody nadřazeného objektu. Například Win32_ComputerSystem dědí z CIM_UnitaryComputerSystem. Relace dědičnosti lze určit pomocí systémových vlastností __Derivation, __Dynastya __SuperClass. Systémová vlastnost __Derivation je pole řetězců se seznamem celého řetězce dědičnosti až do kořenové třídy, která je také zahrnuta v __Dynasty. Vlastnost __SuperClass systému zobrazuje bezprostřední nadřazenou položku aktuální třídy.
Rozhraní WMI také podporuje přidružení. Přidružení je vztah mezi dvěma nebo více různými třídami služby WMI. Spuštěná pracovní stanice má například obvykle procesor. Třída přidružení rozhraní WMI Win32_ComputerSystemProcessor přidruží třídu pracovní stanice Win32_ComputerSystem ke třídě procesoru Win32_Processor. Třída přidružení však nemusí svázat dvě závislé třídy dohromady. Primárním účelem třídy přidružení je ve skutečnosti zobrazit vztahy mezi třídami, které nemusí být nutně závislé na sobě. Další informace naleznete v tématu deklarování třídy přidružení.
Rozhraní WMI nakonec podporuje koncept schémat. V kontextu rozhraní WMI je schéma skupinou tříd, které popisují konkrétní prostředí pro správu. Sada Microsoft Windows Software Development Kit (SDK) používá dvě schémata: schéma CIM a schéma Win32. Názvy tříd schématu CIM začínají CIM_a názvy tříd schématu Win32 začínají Win32_. Schéma CIM obsahuje definice pro základní a běžné třídy, zatímco schéma Win32 obsahuje definice pro rozšířené třídy, které jsou společné pro prostředí Win32. Dodavatel třetí strany ale může vytvořit vlastní schémata pro popis požadavků specifických pro dodavatele. Vzhledem k tomu, že schémata jsou navržená tak, aby byla neomezeně rozšiřitelná, vývojář může vždy přidat nové třídy popisující nové spravované objekty v existujícím prostředí. Pro zjednodušení se však většina dodavatelů rozhodne vytvořit schémata, která dědí vlastnosti ze schémat CIM nebo Win32.