Modèle d’informations commun
Common Information Model (CIM) est un modèle de données extensible orienté objet qui contient des informations sur différentes parties d’une entreprise. Le CIM est une norme multiplateforme gérée par le Groupe de travail de gestion distribuée (DMTF). Par le biais de WMI, un développeur peut utiliser le CIM pour créer des classes qui représentent des disques durs, des applications, des routeurs réseau ou même des technologies définies par l’utilisateur, telles qu’un climatiseur réseau. En consultant et en apportant des modifications à une classe CIM, un responsable peut contrôler différents aspects de l’entreprise. Par exemple, un gestionnaire peut interroger une instance de classe CIM représentant une station de travail de bureau. Le gestionnaire peut ensuite exécuter un script pour modifier l’instance de station de travail CIM. WMI traduit toute modification apportée à l’instance de classe CIM de station de travail en modification de la station de travail réelle.
Le CIM est un modèle de programmation indépendant du langage qui utilise des techniques orientées objet pour décrire une entreprise. À l’aide de trois niveaux d’héritage parent/enfant, le CIM peut décrire des aspects généraux et spécifiques d’une entreprise. Le CIM utilise également une technique appelée « association » pour lier différentes parties du modèle d’entreprise et utilise des schémas pour distinguer différents environnements de gestion.
Le CIM est conçu pour présenter une vue cohérente des objets logiques et physiques dans un environnement de gestion. Le CIM représente des objets managés à l’aide d’une construction orientée objet appelée « classe ». Comme une classe C++ ou COM, une classe CIM peut inclure des propriétés pour décrire des données et des méthodes pour décrire le comportement. Comme un ensemble de classes COM, le CIM n’est lié à aucune plateforme. Toutefois, WMI inclut une extension au CIM qui décrit les plateformes de système d’exploitation Microsoft Windows.
Le CIM définit trois niveaux de classes :
Noyau
Les classes principales représentent des objets managés qui s’appliquent à toutes les zones de gestion. Ces classes fournissent un vocabulaire de base pour l’analyse et la description des systèmes managés. Les classes __Parameters et __SystemSecurity sont des exemples de classes principales.
Commun
Les classes courantes représentent des objets managés qui s’appliquent à des zones de gestion spécifiques. Toutefois, les classes courantes sont indépendantes d’une implémentation ou d’une technologie particulière. Les classes courantes sont une extension des classes principales. La classe CIM_UnitaryComputerSystem est un exemple de classe commune.
Prolongé
Les classes étendues représentent des objets managés qui sont des ajouts spécifiques à la technologie aux classes courantes. Une classe étendue s’applique généralement à une plateforme spécifique, telle qu’UNIX ou l’environnement Microsoft Win32. La classe Win32_ComputerSystem est un exemple de classe étendue.
Un développeur peut dériver une classe d’une autre classe. Une classe dérivée représente un cas spécial de la classe parente et hérite de toutes les propriétés et méthodes du parent. Par exemple, Win32_ComputerSystem hérite de CIM_UnitaryComputerSystem. Les relations d’héritage peuvent être déterminées à l’aide des propriétés système __Derivation, __Dynastyet __SuperClass. La propriété système __Derivation est un tableau de chaînes qui répertorient l’intégralité de la chaîne d’héritage jusqu’à la classe racine, qui est également incluse dans __Dynasty. La propriété système __SuperClass affiche le parent immédiat de la classe actuelle.
WMI prend également en charge les associations. Une association est une relation entre deux classes WMI ou plus différentes. Par exemple, une station de travail en cours d’exécution a généralement un processeur. La classe d’association WMI Win32_ComputerSystemProcessor associe la classe de station de travail Win32_ComputerSystem à la classe de processeur Win32_Processor. Toutefois, une classe d’association n’a pas besoin de lier deux classes dépendantes ensemble. En fait, l’objectif principal d’une classe d’association est de montrer les relations entre les classes qui ne dépendent pas nécessairement les unes des autres. Pour plus d’informations, consultez Déclaration d’une classe d’association.
Enfin, WMI prend en charge le concept de schémas. Dans le contexte de WMI, un schéma est un groupe de classes qui décrivent un environnement de gestion particulier. Le Kit de développement logiciel (SDK) Microsoft Windows utilise deux schémas : le schéma CIM et le schéma Win32. Les noms des classes de schéma CIM commencent par CIM_, et les noms des classes de schéma Win32 commencent par Win32_. Le schéma CIM contient les définitions des classes principales et communes, tandis que le schéma Win32 contient les définitions des classes étendues communes à l’environnement Win32. Toutefois, un fournisseur tiers peut créer ses propres schémas pour décrire les exigences spécifiques au fournisseur. Étant donné que les schémas sont conçus pour être extensibles infiniment, un développeur peut toujours ajouter de nouvelles classes pour décrire de nouveaux objets managés dans un environnement existant. Toutefois, la plupart des fournisseurs choisissent de créer des schémas qui héritent des propriétés des schémas CIM ou Win32.