Merancang Kelas Managed Object Format (MOF)

Penyedia WMI terdiri dari file Managed Object Format (MOF) dan file DLL. File MOF mendefinisikan kelas tempat implementasi penyedia memasok data.

Definisi kelas MOF dikompilasi oleh utilitas mofcomp dan disimpan di repositori WMI, juga dikenal sebagai repositori Common Information Model (CIM). Cara yang kurang umum untuk membuat kelas adalah melalui metode COM API untuk WMI.

Catatan

Untuk memastikan bahwa semua definisi kelas WMI Anda untuk objek terkelola dipulihkan ke repositori WMI jika WMI mengalami kegagalan dan menghidupkan ulang, gunakan instruksi pra-prosesor pemulihan otomatis #pragma dalam file MOF Anda.

 

Bagian berikut dibahas dalam topik ini:

Menentukan Objek yang Akan Dikelola

Setelah Anda mengidentifikasi bagian perusahaan Anda untuk dikelola, tentukan objek yang akan dikelola. Definisi harus menyertakan data yang diperlukan, dan memungkinkan Anda menerapkan aturan bisnis yang relevan secara akurat. Anda dapat menentukan objek pada tingkat terperinci, tetapi yang terbaik adalah memutuskan antara tingkat detail yang terkandung dalam definisi, dan kebutuhan untuk memberikan detail yang cukup agar berguna. Pintasan di awal proses dapat menghemat waktu, tetapi dapat menyebabkan lebih banyak pekerjaan di masa depan.

Tutorial CIM di situs web Distributed Management Task Force (DMTF) berisi informasi yang sangat baik tentang proses desain. Untuk informasi selengkapnya, lihat www.dmtf.org.

Pertimbangkan faktor-faktor berikut saat Anda mengembangkan dan menerapkan desain skema:

  • Kualifikasi

    Pengualifikasi menyediakan informasi tentang cara menjelaskan kelas, objek, properti, metode, dan parameter; dan diterapkan pada definisi kelas dan properti. Dalam kode MOF, kualifikasi diapit dalam tanda kurung siku dan dapat mencakup [kunci] atau [asosiasi]. Untuk informasi selengkapnya, lihat Menambahkan Kualifikasi dan Kualifikasi WMI.

  • Ruang nama

    Namespace adalah unit logis untuk mengelompokkan kelas dan objek, serta mengontrol cakupan dan visibilitas. Biasanya, namespace berisi sekumpulan kelas dan objek yang mewakili objek terkelola di lingkungan tertentu. Untuk informasi selengkapnya, lihat Membuat Hierarki Dalam WMI.

  • Object

    Objek yang dimodelkan mungkin merupakan elemen fisik atau logis dari skema. Misalnya, Anda dapat memodelkan drive disk fisik seperti hard disk drive, atau disk logis yang dapat menjadi partisi pada disk fisik. Desain yang menggunakan kelas untuk memodelkan drive disk fisik, lalu memperluas kelas tersebut untuk memodelkan disk logis lebih dapat diperluas daripada yang mencoba membuat kelas terpisah untuk setiap jenis disk.

  • Data

    Data mungkin dinamis atau statis. Jika data bersifat dinamis, Anda harus membuat penyedia kelas untuk data tersebut.

    Untuk memungkinkan pengguna mengubah data, Anda harus menentukan apakah Anda ingin properti dapat ditulis secara langsung atau dapat dimodifikasi hanya dengan menggunakan metode yang dipanggil pengguna.

Menentukan Properti atau Metode

Umumnya, properti kelas WMI mirip dengan properti di kelas C++. Jika satu-satunya tindakan yang diterapkan kode Anda untuk bagian data adalah mendapatkan nilai atau mengatur nilai, maka data harus didefinisikan sebagai properti kelas WMI.

Metode WMI umumnya melakukan tindakan yang mengubah status objek terkelola. Misalnya, jika tindakannya adalah mengaktifkan atau menonaktifkan pengoperasian objek perangkat keras, maka metode mungkin lebih disukai untuk membuat properti baca/tulis. Anda dapat memutuskan juga untuk membuat properti yang menampilkan status perangkat keras.

Saat membuat kelas atau instans, Anda dapat menyertakan komentar. Gunakan teknik ini untuk mendokumen kelas Anda atau menjelaskan teknik pemrograman Anda. Untuk informasi selengkapnya, lihat Membuat Komentar. Selain itu, Anda dapat menambahkan data untuk memenuhi syarat tujuan objek data. Untuk informasi selengkapnya, lihat Menambahkan Kualifikasi.

Menghubungkan Objek satu sama lain

Ada dua cara untuk menghubungkan objek satu sama lain: dengan membuat objek terpisah dan objek asosiasi yang menghubungkannya, atau dengan menyematkan satu objek di objek lainnya. CIM tidak mendukung objek yang disematkan, jadi agar sesuai dengan CIM, Anda harus menggunakan metode pertama. Namun, WMI mendukung objek yang disematkan, jadi gunakan salah satu metode untuk mewakili hubungan antar objek. Anda dapat menemukan contoh objek yang disematkan di Kelas Win32. Misalnya, Win32_SecurityDescriptor memiliki objek yang disematkan Win32_ACE, yang memiliki objek tersemat lain, Win32_Trustee.

Pertimbangkan hal berikut saat memutuskan cara mewakili hubungan antar objek:

Mengembangkan Penyedia WMI

Menyediakan Data ke WMI

Jenis Data MOF