Upload
ngominh
View
239
Download
12
Embed Size (px)
Citation preview
Component Object Model (COM)
Oleh :
Edi Sugiarto, S.Kom, M.Kom
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)
• 1996 : ActiveX, DCOM.
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
sama
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
pengembangan aplikasi berbasis komponen.
• 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
Interface COM
• 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.
Interface COM
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
• Bahasa pemrograman yang independen
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
– Reduce Coding
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
– Menggantikan Visual Basic Extension (VBX)
– dikirim dalam bentuk dynamic link library dengan
ekstensi .ocx
– Pada 1996 dikenal dengan ActiveX Control
Kegunaan OLE
• Memungkinkan penggunakan informasi suatu
aplikasi dalam aplikasi lain.
• Mengelola Compound Documents
Contoh OLE dalam Visual Basic
OLE Automation
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 PenggunaanAutomation 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
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
diberikan melalui method QueryInterface.
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,
notepad, spreadsheet, dll.
ActiveX Control dalamlingkungan 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
keamanan.
ActiveX Control dalamlingkungan 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
– IE memelihara daftar hitam kontrol yang buruk.
Scenario PenggunaanActiveX Control
• Terdapat tiga skenario penggunaan ActiveX
Control sbb :
– Stand-Alone
– Disimpan di Lan namun dijalankan secara lokal
– Tersimpan pada Web Server namun dijalankan
secara lokal.
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
• Mengurangi penggunaan baris program
Contoh ActiveX dalamVisual 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.
DCOM Overview
• 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,
LPC digunakan untuk melakukan pencatatan komunikasi interprosses diantara proses-proses dalam komputer yang sama
• Ketika klien dan komponen berada pada mesin
yang berbeda, DCOM hanya menggantikan
komunikasi antar-proses lokal dengan protokol
jaringan
Ada Pertanyaan ?
Terima kasih
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
• http://research.microsoft.com/en-
us/um/people/ymwang/papers/HTML/COMEssay/S.htm
• 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
Daftar Pustaka