Model Informasi Umum

Common Information Model (CIM) adalah model data yang dapat diperluas dan berorientasi objek yang berisi informasi tentang berbagai bagian perusahaan. CIM adalah standar lintas platform yang dikelola oleh Distributed Management Task Force (DMTF). Melalui WMI, pengembang dapat menggunakan CIM untuk membuat kelas yang mewakili hard disk drive, aplikasi, router jaringan, atau bahkan teknologi yang ditentukan pengguna, seperti AC jaringan. Dengan melihat dan membuat perubahan pada kelas CIM, manajer dapat mengontrol berbagai aspek perusahaan. Misalnya, manajer dapat mengkueri instans kelas CIM yang mewakili stasiun kerja desktop. Manajer kemudian dapat menjalankan skrip untuk memodifikasi instans stasiun kerja CIM. WMI akan menerjemahkan perubahan apa pun ke instans kelas CIM stasiun kerja menjadi perubahan pada stasiun kerja aktual.

CIM adalah model pemrograman independen bahasa yang menggunakan teknik berorientasi objek untuk menggambarkan perusahaan. Dengan menggunakan tiga tingkat warisan induk/anak, CIM dapat menggambarkan aspek umum dan spesifik perusahaan. CIM juga menggunakan teknik yang disebut "asosiasi" untuk menghubungkan berbagai bagian model perusahaan bersama-sama, dan menggunakan skema untuk membedakan lingkungan manajemen yang berbeda.

CIM dirancang untuk menyajikan tampilan objek logis dan fisik yang konsisten di lingkungan manajemen. CIM mewakili objek terkelola menggunakan konstruksi berorientasi objek yang disebut "kelas." Seperti kelas C++ atau COM, kelas CIM dapat menyertakan properti untuk menjelaskan data dan metode untuk menjelaskan perilaku. Seperti sekumpulan kelas COM, CIM tidak terikat dengan platform apa pun. Namun, WMI menyertakan ekstensi ke CIM yang menjelaskan platform sistem operasi Microsoft Windows.

CIM mendefinisikan tiga tingkat kelas:

  • Core

    Kelas inti mewakili objek terkelola yang berlaku untuk semua area manajemen. Kelas-kelas ini menyediakan kosakata dasar untuk menganalisis dan menjelaskan sistem terkelola. Kelas __Parameters dan __SystemSecurity adalah contoh kelas inti.

  • Common

    Kelas umum mewakili objek terkelola yang berlaku untuk area manajemen tertentu. Namun, kelas umum independen dari implementasi atau teknologi tertentu. Kelas umum adalah ekstensi dari kelas inti. Kelas CIM_UnitaryComputerSystem adalah contoh kelas umum.

  • Diperpanjang

    Kelas yang diperluas mewakili objek terkelola yang merupakan penambahan khusus teknologi ke kelas umum. Kelas yang diperluas biasanya berlaku untuk platform tertentu, seperti UNIX atau lingkungan Microsoft Win32. Kelas Win32_ComputerSystem adalah contoh kelas yang diperluas.

Pengembang dapat memperoleh kelas dari kelas lain. Kelas turunan mewakili kasus khusus kelas induk, dan mewarisi semua properti dan metode induk. Misalnya, Win32_ComputerSystem mewarisi dari CIM_UnitaryComputerSystem. Hubungan pewarisan dapat ditentukan menggunakan properti sistem __Derivation, __Dynasty, dan __SuperClass. Properti sistem __Derivation adalah array string yang mencantumkan seluruh rantai pewarisan hingga dan termasuk kelas akar, yang juga disertakan dalam __Dynasty. Properti sistem __SuperClass menunjukkan induk langsung dari kelas saat ini.

WMI juga mendukung asosiasi. Asosiasi adalah hubungan antara dua atau lebih kelas WMI yang berbeda. Misalnya, stasiun kerja yang sedang berjalan biasanya memiliki prosesor. Kelas asosiasi WMI Win32_ComputerSystemProcessor mengaitkan kelas stasiun kerja Win32_ComputerSystem dengan kelas prosesor Win32_Processor. Namun, kelas asosiasi tidak harus mengikat dua kelas dependen bersama-sama. Bahkan, tujuan utama kelas asosiasi adalah untuk menunjukkan hubungan antara kelas yang belum tentu bergantung satu sama lain. Untuk informasi selengkapnya, lihat Mendeklarasikan Kelas Asosiasi.

Akhirnya, WMI mendukung konsep skema. Dalam konteks WMI, skema adalah sekelompok kelas yang menggambarkan lingkungan manajemen tertentu. Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows menggunakan dua skema: skema CIM dan skema Win32. Nama kelas skema CIM dimulai dengan CIM_, dan nama kelas skema Win32 dimulai dengan Win32_. Skema CIM berisi definisi untuk kelas inti dan umum, sementara skema Win32 berisi definisi untuk kelas yang diperluas yang umum untuk lingkungan Win32. Namun, vendor pihak ketiga dapat membuat skema mereka sendiri untuk menjelaskan persyaratan khusus vendor. Karena skema dirancang agar tak terbatas dapat diperluas, pengembang selalu dapat menambahkan kelas baru untuk menggambarkan objek terkelola baru di lingkungan yang ada. Namun, untuk kesederhanaan, sebagian besar vendor memilih untuk membuat skema yang mewarisi properti dari skema CIM atau Win32.