A Common Information Model (CIM) egy számítástechnikai szabvány, amelyet információs rendszerek entitásainak gyártó és szolgáltatófüggetlen kezelésére fejlesztettek ki. Mivel a CIM objektumorientált, ezek az entitások objektumokkal reprezentálódnak. A CIM a WBEM (Web-based Enterprise Management) szabvány részét alkotja és áll egyrészt a specifikációból, amely a nyelvet, az elnevezéseket és a más management modellekre való leképezéseket definiálja, másrészt a sémából, amely nem más, mint a modell formális definíciója.

Specifikáció szerkesztés

A specifikáció definiálja azokat a fogalmakat és szabályokat, amelyekre a séma alapul. A specifikáció része egy objektumleíró nyelv, a Managed Object Format (MOF), amellyel magát a CIM sémát és annak termékspecifikus kiterjesztéseit definiálják. A fogalmak az UML-re alapulnak, így a CIM séma objektumorientált. A menedzselt elemek CIM osztályokkal, a köztük lévő kapcsolatok asszociációkkal reprezentálódnak. Az öröklődés felhasználásával általános alapelemeket definiálnak, s azokból származtatják a specifikusabb elemeket.

Osztályok szerkesztés

A MOF osztályok az objektumorientált programozásból ismert osztályfogalomnak felelnek meg. Tulajdonságaik és metódusaik lehetnek:


[Version("0.0.1"), Description (
 "Ez egy nagyon egyszerű, metódus nélküli osztály.")]

class KiadoIngatlan {

 uint16 Alapterulet;

 uint16 HaviBerletiDij;

 boolean IrodanakAlkalmas;

}

Tulajdonságok szerkesztés

MOF osztály tulajdonsága az alábbi alaptípusok valamelyike lehet:

Adattípus Jelentés
uint8 Előjel nélküli 8 bites egész
sint8 Előjeles 8 bites egész
uint16 Előjel nélküli 16 bites egész
sint16 Előjeles 16 bites egész
uint32 Előjel nélküli 32 bites egész
sint32 Előjeles 32 bites egész
uint64 Előjel nélküli 64 bites egész
sint64 Előjeles 64 bites egész
string UCS-2 sztring
boolean Logikai érték
real32 IEEE 4 bájtos lebegőpontos szám
real64 IEEE 8 bájtos lebegőpontos szám
datetime dátumot tartalmazó sztring típus
<osztálynév> ref Referencia
char16 16 bites UCS-2 karakter

Metódusok szerkesztés

A metódusok az objektumorientált programozásból ismert metódusoknak felelnek meg. A metódus szignatúrája (fejléce) tartalmazza a metódus nevét, visszatérési értékét, valamint az opcionális input és output paramétereket. Metódus visszatérési értéke valamely alaptípus lehet, nem lehet tömb. Metódus paramétere az alaptípusokon kívül lehet még azokból képzett tömb is illetve objektumreferencia is. Álljon itt egy egyszerű példa egy metódus fejlécére:

uint64 getMagyarAllamadossag(IN datetime valamiDatum);

Séma szerkesztés

A séma egy fogalmi séma, amely az informatikai környezet elemeinek objektumorientált reprezentációját írja le. A CIM-et gyakran úgy jellemzik, hogy lehetővé teszi a rendszerelemek állapotának lekérdezését. Ennél többről van szó, hiszen a CIM nem csak a lekérdezés eszköze, hanem lehetőséget ad a menedzselt elemek manipulálására is. A Common Information Model segítségével a management szoftvert elegendő egyszer megírni, és az univerzális használható lesz minden CIM-et implementáló rendszerrel anélkül, hogy külön fejlesztésre lenne szükség. A CIM séma megalkotásakor a legtöbb mai informatikai rendszerelemre gondoltak, úgy mint például a számítógép rendszerek, operációs rendszerek, hálózatok, middleware és a storage.

A CIM séma közös alapot biztosít ezen adminisztrált elemek reprezentálására. Mivel a legtöbb rendszerelem termék- illetve gyártóspecifikus, ezért a CIM séma kiterjeszthető, hogy tetszőleges tulajdonságok és viselkedések leírhatóak legyenek vele. A CIM séma három rétegű. A lealsó réteg a Core Model, amely a rendszermenedzselés minden területét érintő, átfogó osztályokat és asszociációkat tartalmazza. Erre épül, a Common Models réteg, amely a rendszermenedzselés egyes területeit hivatott lefedni. A legfelső réteg az Extension Schema, amely a technológiaspecifikus kiterjesztések definiálására alkalmas. Az ábrán látható a három említett réteg viszonya:

Extension Schema
Common Models
Core Model

Core Model szerkesztés

A Core Model definiálja a menedzselt környezet alapvető osztályait és asszociációit. Minden osztály a CIM_ManagedElement osztály leszármazottja. Az áttekinthetőség végett a Core Modelt modulokba szervezik a következőképpen:

Modul Tartalom
Capabilities Ősosztály a különböző menedzselt elemek funkcióinak leírására.
Collection Collection osztályok.
CoreElements Az alapvető CIM osztályok (például ManagedElement, ManagedSystemElement, LogicalElement, System, Service, …), és alapvető asszociációk (például Dependency, Component, LogicalIdentity, …)
Device A hardverek reprezentációja.
MethodParms Metódusparaméterek
Physical Fizikai elemek reprezentációja
PowerMgmt Energiagazdálkodás
ProductFRU Termékek
Qualifiers Minősítők
Redundancy A LogicalDevice-ból származtatott osztály, amely a storage-ek kezelését általánosítja.
Service Szolgáltatások.
Settings Beállítások.
Software Szoftverkomponensek kezelése.
Statistics Statisztikai információk kinyerése az egyes menedzselt elemekről.
StorageExtent A LogicalDevice-ból származtatott osztály storage-ok kezelésére.

Common Models szerkesztés

A Common Models a rendszermenedzselés különböző területeit fedi le, azonban nem tér ki konkrét technológiákra és implementációkra. A modellt jelenleg 12 területre osztják:

Terület Tartalom
Applications Alkalmazások
Event Eseménykezelés
Network Hálózatok menedzselése
Support Terméktámogatás
Database Adatbáziskezelés.
Interop A webalapú vállalati menedzsment (Web-Based Enterprise Management, WBEM)
Physical A fizikai eszközkészlet kezelése. Ide tartoznak a különböző bővítőkártyák és kábelezések leírásai.
Systems Számítógéprendszerek
Devices Hardverelemek
Metrics Metrikák
Policy Policy-k, irányelvek kezelése. Gyakori példa erre a biztonsági irányelvrendszer, idegen szóval security policy.
User Felhasználói azonosítók, felhasználói fiókok kezelése.

Extension Schema szerkesztés

Az Extension Schema lehetőséget ad termékspecifikus funkciók támogatására. A kiterjesztés lehet:

  • Új tulajdonság vagy metódus hozzáadása létező séma létező osztályához.
  • Új osztály hozzáadása létező sémához.
  • Új névtér és séma létrehozása.

További információk szerkesztés

  • A legtöbb DMTF (Distributed Management Task Force) specifikáció a CIM-re alapul (például a WBEM és a SMASH).
  • A CIM séma első verzióját 1997. április 9-én adta ki a DMTF.
  • Számos gyártó kínál különböző CIM implementációkat különböző formákban. Például a Windows Management Instrumentation API, ami a Windows 2000-ben jelent meg először, a CIM séma 2. verziójára alapul.