Apa Itu Distributed Component Object Model (DCOM)?
Distributed Component Object Model (DCOM) adalah ekstensi dari Component Object Model (COM) yang memungkinkan komponen perangkat lunak berkomunikasi satu sama lain di berbagai komputer dalam jaringan area lokal (LAN), jaringan area luas (WAN), atau melalui internet. Microsoft menciptakan DCOM untuk mendistribusikan aplikasi berbasis COM dengan cara yang tidak bisa dilakukan oleh COM sendiri.
Selama bertahun-tahun, COM telah menjadi dasar bagi berbagai produk dan teknologi Microsoft. COM mendefinisikan standar interoperabilitas biner untuk menciptakan komponen perangkat lunak yang dapat digunakan kembali dan berinteraksi satu sama lain saat runtime. Ini mencakup protokol standar dan format data yang digunakan objek COM untuk berkomunikasi, bahkan ketika berjalan pada perangkat keras yang berbeda. COM juga menyederhanakan pemanggilan fungsi antar komponen tanpa memerlukan komponen perantara.
DCOM memperluas COM dengan memungkinkan komunikasi antara klien dan komponen meskipun mereka berada di mesin yang berbeda. Untuk memfasilitasi komunikasi ini, DCOM menggantikan komunikasi antar proses lokal yang digunakan dalam COM tradisional dengan protokol jaringan. Secara efektif, DCOM memberikan “kabel” yang lebih panjang dibandingkan COM, tetapi klien dan komponen tidak menyadari perbedaannya.
Bagaimana Arsitektur DCOM?
Protokol komunikasi DCOM berbasis Distributed Computing Environment/Remote Procedure Calls (DCE/RPC), yang menyediakan standar untuk mengonversi struktur data dalam memori menjadi paket jaringan. Protokol DCOM menggunakan RPC untuk mengekspos objek aplikasi sambil menangani detail teknis protokol jaringan. Dengan demikian, klien dapat memanggil metode komponen tanpa tambahan beban yang signifikan.
Aplikasi DCOM tidak memerlukan protokol transportasi jaringan tertentu untuk komunikasi antara klien dan komponen. DCOM dapat menggunakan berbagai protokol jaringan secara transparan, seperti User Datagram Protocol (UDP), NetBIOS, TCP/IP, dan Internetwork Packet Exchange/Sequenced Packet Exchange. DCOM juga menyediakan kerangka keamanan yang dapat digunakan dengan protokol-protokol tersebut, baik yang berbasis koneksi maupun tidak.
DCOM juga menyertakan mekanisme marshaling yang memungkinkan komponen menyuntikkan kode ke sisi klien. Kode ini berfungsi sebagai objek proxy yang dapat mencegat beberapa pemanggilan metode dari klien dan menggabungkannya menjadi satu RPC. Selain itu, DCOM memiliki mekanisme garbage collection terdistribusi yang secara otomatis melepaskan referensi yang tidak terpakai ke objek COM, membantu mengosongkan memori pada sistem host. Proses garbage collection ini berlangsung secara transparan bagi aplikasi.
Sejak diperkenalkan, DCOM terus terintegrasi ke dalam sistem operasi Windows. Namun, di luar ekosistem Microsoft, DCOM tidak banyak digunakan seperti yang pernah diharapkan. Selain itu, adanya penemuan kerentanan keamanan baru-baru ini membuat Microsoft menerapkan pembaruan keamanan bertahap untuk DCOM. Pembaruan pertama dirilis pada 2021, yang kedua dijadwalkan untuk 2022, dan pembaruan final terkait keamanan ini direncanakan akan dilakukan pada 2023.
DCOM merupakan pendekatan Microsoft untuk lingkungan jaringan yang mencakup objek program dan data. Dalam banyak hal, DCOM mirip dengan Common Object Request Broker Architecture (CORBA) yang diperkenalkan oleh Object Management Group. Sama seperti DCOM, CORBA menyediakan spesifikasi untuk objek terdistribusi. Namun, karena masalah keamanan dan skalabilitas, baik DCOM maupun CORBA tidak mencapai tingkat adopsi universal seperti yang pernah diharapkan ketika internet mulai berkembang.