Model Objek Komponen

Microsoft Component Object Model (COM) adalah sistem yang independen, terdistribusi, dan berorientasi objek platform untuk membuat komponen perangkat lunak biner yang dapat berinteraksi. COM adalah teknologi fondasi untuk OLE Microsoft (dokumen majemuk), ActiveX (komponen berkemampuan Internet), serta yang lain.

Untuk memahami COM (dan oleh karena itu semua teknologi berbasis COM), sangat penting untuk memahami bahwa itu bukan bahasa berorientasi objek tetapi standar. COM juga tidak menentukan bagaimana aplikasi harus disusun; bahasa, struktur, dan detail implementasi diserahkan kepada pengembang aplikasi. Sebaliknya, COM menentukan model objek dan persyaratan pemrograman yang memungkinkan objek COM (juga disebut komponen COM, atau terkadang hanya objek) untuk berinteraksi dengan objek lain. Objek-objek ini dapat berada dalam satu proses, dalam proses lain, dan bahkan dapat berada di komputer jarak jauh. Mereka dapat ditulis dalam bahasa yang berbeda, dan mereka mungkin secara struktural cukup berbeda, itulah sebabnya COM disebut sebagai standar biner; standar yang berlaku setelah program diterjemahkan ke kode mesin biner.

Satu-satunya persyaratan bahasa untuk COM adalah bahwa kode dihasilkan dalam bahasa yang dapat membuat struktur penunjuk dan, baik secara eksplisit atau implisit, memanggil fungsi melalui pointer. Bahasa berorientasi objek seperti C++ dan Smalltalk menyediakan mekanisme pemrograman yang menyederhanakan implementasi objek COM, tetapi bahasa seperti C, Java, dan VBScript dapat digunakan untuk membuat dan menggunakan objek COM.

COM mendefinisikan sifat penting objek COM. Secara umum, objek perangkat lunak terdiri dari sekumpulan data dan fungsi yang memanipulasi data. Objek COM adalah salah satu tempat akses ke data objek dicapai secara eksklusif melalui satu atau beberapa set fungsi terkait. Set fungsi ini disebut antarmuka, dan fungsi antarmuka disebut metode. Selanjutnya, COM mengharuskan satu-satunya cara untuk mendapatkan akses ke metode antarmuka adalah melalui penunjuk ke antarmuka.

Selain menentukan standar objek biner dasar, COM mendefinisikan antarmuka dasar tertentu yang menyediakan fungsi umum untuk semua teknologi berbasis COM, dan menyediakan sejumlah kecil fungsi yang diperlukan semua komponen. COM juga menentukan bagaimana objek bekerja sama melalui lingkungan terdistribusi dan telah menambahkan fitur keamanan untuk membantu memberikan integritas sistem dan komponen.

Topik berikut di bagian ini menjelaskan masalah COM dasar yang terkait dengan merancang objek COM: