Component Object Model
(COM)
Oleh :
Component Object Model
(COM)
• Merupakan binary-interface standar untuk komponen perangkat lunak yang
diperkenalkan microsoft pada 1993
• Digunakan untuk memungkinkan interproses komunikasi dan penciptaan objek yang
dinamis dalam berbagai bahasa pemrograman • COM sering digunakan sebagai istilah yang
meliputi OLE, OLE Automation, ActiveX, dan DCOM.
History
• 1987 : diperkenalkan Dynamic Data Exchange (DDE)
• 1988 : Antony William mendistribusikan dua makalah internal pada microsoft tentang
gagasan komponen software.
– Object Architecture: Dealing With the Unknown – or –
Type Safety in a Dynamically Extensible Class Library
pada 1988
– On Inheritance: What It Means and How To Use It pada 1990
• 1991 : diperkenalan Object Linking and Embedding
• 1991 : muncul Visual Basic Extensions (VBX) • 1992 : OLE versi 2
• 1994 : diperkenalkan OLE Custom Controls (OCXs)
Component Object Model
foundation
Binary Standart
• COM menyediakan cara yang standar untuk
pemanggilan fungsi pada platform yang berbeda
• COM menyediakan Virtual Function Table (Vtable) untuk mengimplementasikan Binary Standart.
• Dengan demikian setiap bahasa yg dapat melakukan pemanggilan fungsi melalui pointer dapat melakukan pemanggilan fungsi dengan binary standart yang
COM Component
• Component pada COM biasanya memiliki data yang saling terkait.
• Component pada COM tidak berinteraksi
langsung dengan component COM yang lain namun berinteraksi melalui interface pointer. • Hal tersebut merupakan fitur utama arsitektur
COM untuk sepenuhnya melestarikan enkaspsulasi data
Interface COM
• Dalam COM, aplikasi berinteraksi satu sama lain melalui koleksi fungsi yg disebut
interface.
• Sebagai contoh OLE services hanyalah antarmuka COM (COM interface)
• Pada perkembangan selanjutnya pengguna dapat mendefinisikan interface sebagai
• Interface is not a Class
– Interface bukanlah kelas jadi tidak dapat diinstance dengan sendirinya karena tidak membawa
implementasi
– Hal ini menjadi dasar Konsep polimorfisme dalam interface
• Interface is not a COM Component
– Interface hanyalah sekelompok fungsi yg terkait dan merupakan binary standart
• COM Client only interact with pointer to interface
– COM Client berinteraksi satu sama lain melalui pointer untuk mengakses fungsi pada interface • COM components can implement multiple
interfaces
• Interface are Strongly Type
– Setiap interface meiliki identifier sendiri • Interfaces are immutable.
Fitur dan Fungsi
• Tidak ketergantungan terhadap bahasa pemrograman
• Mudah digunakan
• Memisahkan interface dan implementasi • Reusabilitas yang tinggi
• Mengimplementasikan aplikasi terdistribusi lintas proses
Keuntungan Interface COM
• Kemampuan fungsi dari aplikasi berevolusi dari waktu ke waktu
• Interaksi antar objek yang cepat dan sederhana • Interface yang bersifat guna ulang
• Transparan
Object Linking and
Embedding (OLE)
Object Linking and Embedding
(OLE)
• Merupakan teknologi yang dikembangkan
microsoft yang memungkinkan dokumen dan objek lain ditanamkan dan dihubungkan.
• Beberapa pengembang mengaplikasikan dalam bentuk OLE Control eXtension (OCX)
• Manfaat Utamanya : – Customize
History
• OLE versi 1.0
– dirilis pada 1991
– Evolusi dari Dynamic Data Exchange (DDE) – Berkembang COM dan DCOm
• OLE versi 2.0
– Dirilis pada 1992 – OLE Automation
• OLE Custom Control
– Diperkenalkan pada 1994
– dikirim dalam bentuk dynamic link library dengan ekstensi .ocx
Kegunaan OLE
• Memungkinkan penggunakan informasi suatu aplikasi dalam aplikasi lain.
Contoh OLE dalam Visual
Basic
OLE Automation
• Merupakan mekanisme inter-komunikasi berbasis COM yang ditujukan pada
penggunaan bahasa scripting.
• Pada awalnya didukung bahasa pemrograman visual basic namun sekarang dapat digunakan oleh bahasa pemrograman yang berjalan pada platform windows.
• tujuanya agar program client dapat mengontrol OLE Server melalui bahasa pemrograman.
OLE Automation (Lanj)
• Microsoft merancang OLE Automation
sebagai solusi bagi masalah pemrograman makro lintas aplikasi dan tidak tergantung dengan satu bahasa pemrograman.
Contoh Penggunaan
Automation dalam VB
Dim excelApp as Object Set excelApp =
CreateObject("Excel.Application")
excelApp.Workbooks.Add
excelApp.Range("A1:C6").Select
excelApp.ActiveCell.Formula = "Hello World!" excelApp.Visible = True
ActiveX
• Merupakan suatu kerangka untuk
mendefinisikan perangkat lunak yang reuseable dan independent dalam bahasa pemrograman
• Diperkenalkan pada 1996 oleh Microsoft sebagai perusahaan pengembang teknologi COM dan OLE
• Merupakan elemen yang diprogram yang sebelumnya dikenal sebagai OLE Controls (OCXs) atau OLE Custom Control.
ActiveX
• Istilah ActiveX pertamakali diperkenalkan oleh Microsoft pada “Internet Profesional Developer Conference” maret 1996.
• Kata ActiveX merupakan slogan untuk “Aktifkan Internet”.
ActiveX Control
• ActiveX Control dapat dikatakan sebagai OLE yang telah dikembangkan.
• ActiveX Control pada dasarnya adalah sebuah objek OLE sederhana yang mendukung
interface IUnknown.
• IUnknown merupakan interface tertinggi pada COM yg memungkinkan klien mendapatkan pointer ke interface lain pada objek yg
ActiveX Control
• ActiveX Control dalam Visual Basic versi 6 dapat anda jumpai dalam ekstensi .OCX.
• ActiveX Control berfungsi untuk menambah fungsionalitas program dengan memanggil
komponen yang siap pakai dan membaur serta muncul sebagai bagian dari program.
• Biasanya digunakan untuk menambah fungsi-fungsi user interface seperti 3D Toolbar,
ActiveX Control dalam
lingkungan Web Browser
• Pada awalnya ActiveX resmi beroperasi pada Internet Explorer 3.0 Web Browser.
• Tekniknya apabila browser menemukan
halaman yg menetapkan kontrol ActiveX maka otomatis akan mendownload dan menginstal
kontrol tersebut tanpa intervensi pemakai. • Dalam hal ini menimbulkan masalah
ActiveX Control dalam
lingkungan Web Browser
• Sehingga microsoft menetapkan standar keamanan terhadap ActiveX.
– Digital Signature ketika instalasi paket
– Kontrol harus menyatakan dirinya aman untuk scripting
– Peningkatan keamanan pada setting default
Scenario Penggunaan
ActiveX Control
• Terdapat tiga skenario penggunaan ActiveX Control sbb :
– Stand-Alone
– Disimpan di Lan namun dijalankan secara lokal – Tersimpan pada Web Server namun dijalankan
Mengapa ActiveX Control
menjadi Penting?
• Dalam lingkungan pemrograman, ActiveX meningkatkan produktivitas
• Menjadi arsitektur utama untuk
mengembangkan komponen software yang diprogram.
• Sebagai komponen yang guna ulang
Contoh ActiveX dalam
Visual Basic
Menampilkan file .swf melalui ActiveX ShockwaveFlash
Distributed Component
Object Model (DCOM)
DCOM
• Distributed COM merupakan perluasan dari Component Object Model untuk mendukung komunikasi antar objek pada komputer yang berbeda (dlm LAN, WAN).
• Tujuanya adalah untuk memecahkan permasalahan pengembangan aplikasi terdisitribusi.
• Pada prinsipnya COM mendefinisikan bagaimana komponen dan klien mereka berinteraksi tanpa sistem perantara.
• Namun dalam sistem operasi saat ini, proses terlindungi satu sama lain
• Komunikasi dalam bentuk interprosses yg disediakan sistem operasi, bukan secara langsung
DCE RPC (Distributed Computing Environtment Remote Procedure Call) memungkinkan pemanggilan remote prosedur untuk lingkungan sistem tersebar,
• Ketika klien dan komponen berada pada mesin yang berbeda, DCOM hanya menggantikan
komunikasi antar-proses lokal dengan protokol jaringan
Daftar Pustaka
• Greg Perry (2000), “Sams Teach Yourself Visual Basic 6 in 21 Days, Professional Reference Edition”, Macmillan Computer
Publishing, ISBN: 0672315424.
• Francesco Balena (1999),”Programming Microsoft Visual Basic 6.0”, Microsoft Press, ISBN : 0-7356-0558-0
• Dobb, “Microsoft's Component Object Model (COM) is a
component-software architecture that allows applications and systems to be built from components supplied by different
software vendors”, 1994
•
• Dr. Dobbs Journal and Microsoft Corporation, “The
Component Object Model: Technical Overview”, 1994
• Lu Xiuxing (2010), “ActiveX Control Development of Virtual
Instrument Based on COM Technology”, Northwestern
Polytechnical University