Sistem komputer terdistribusi adalah sebuah sistem yang
memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari
satu lingkungan yang terpisah secara fisis. Ciri khas sistem komputer
terdistribusi adalah heterogenitas dalam berbagai hal: perangkat keras, sistem
operasi, dan bahasa pemrograman. Adalah tidak mungkin untuk mengembangkan
sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem
komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam
menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas
(interoperability).
Interoperabilitas adalah kemampuan saling bekerjasama antar
sistem komputer. Dalam konteks sistem komputer terdistribusi, meskipun
komponen-komponen aplikasi dibuat dengan bahasa pemrograman yang berbeda,
menggunakan development tools yang berbeda, dan beroperasi di lingkungan yang
beragam, mereka tetap harus dapat saling bekerjasama.
1. CORBA
CORBA (Common Object Request Broker Architecture) adalah
sebuah middleware yang dihasilkan oleh sebuah konsorsium yang bernama OMG (Object
Management Group). CORBA didesain agar komponen cerdas diizinkan untuk dapat
saling menjelajah satu dengan yang lain dan saling berinteraksi melalui suatu
objek bus yang bernama ORB (Object Request Broker). Melalui ORB inilah
objek–objek yang terletak di local atau di remote pada sistem terdistribusi
berbasis CORBA saling berkomunikasi. Untuk mendefinisikan sistem berbasis CORBA
terlebih dahulu kita harus mendefinisikan IDL (Interface Definition Language).
CORBA dikatakan
sebagai sebuah spesifikasi middleware yang ideal yang mendukung suatu sistem
terdistribusi yang menerapkan teknologi berbasis objek, selain itu CORBA juga
dikatakan sebagai suatu sistem yang terbuka, artinya bahwa teknologi CORBA
merupakan sebuah standarisasi yang terbuka bagi siapasaja yang ingin
menerapkan. Dengan adanya dua hal tersebut, pengembang dapat membangun sebuah
aplikasi yang dapat berkomunikasi walaupun satu dengan yang lainnya menggunakan
bahasa pemrograman yang berbeda.
2. COM
Component Object Model (COM) adalah teknologi yang diciptakan
oleh Microsoft untuk memungkinkan komunikasi antaraplikasi. Teknologi ini
sudah disediakan untuk beberapa platform
tetapi kebanyakan digunakan untuk platform Windows. Teknologi ini sudah
diperkenalkan oleh microsoft pada tahun 1993 tetapi baru populer pada tahun
1997. Perkembangan teknologi COM ini bermula dari teknologi OLE (Object Linking
and Embedding) yang dibuat untuk memungkinkan aplikasi dapat saling bertukar
data.
3. DCOM
Pada tahun 1996
diperkenalkan Distributed Component Object Model (DCOM) sebagai jawaban
Microsoft atas CORBA. DCOM dibandingkan dengan COM memiliki kelebihan mampu untuk terdistribusi dan
berkomunikasi antarkomponen melalui jaringan. DCOM dan CORBA saling
berkompetisi untuk menjadi standar dalam distribusi komponen melalui internet.
Namun dibalik kesulitan dalam hal keamanan, sebuah browser yang berjalan
menggunakan teknologi http sudah dapat menggantikan teknologi tsb.
4. RMI
RMI adalah perluasan dari local
method invocation yang memungkinkan sebuah objek yang hidup dalam satu proses
untuk memohon method objek yang berada di proses lain. (George Coulouris hal
166).
RMI adalah sebuah teknik
pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI
menggunakan paradigma pemrograman berorientasi obyek (Object Oriented
Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari
remote method. Dengan dibolehkannya program Java memanggil method pada remote
obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi
pada jaringan.
Aplikasi RMI seringkali terdiri
dari dua program terpisah yaitu server dan client. Aplikasi server semacam ini
biasanya membuat beberapa objek remote, menyediakan referensi terhadap
objek-objek tersebut sehingga dapat diakses, serta menunggu client memanggil
method dari objek-objek remote tersebut. Aplikasi client mendapatkan referensi
remote ke satu atau lebih objek remote di server dan menjalankan method dari
objek tersebut.
RMI menyediakan mekanisme dimana
server dan client berkomunikasi dan memberikan informasi secara timbal balik.
Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi.
Langkah Pembuatan Program dengan
RMI
Dalam RMI, semua informasi
tentang satu pelayanan server disediakan dalam suatu definisi remote interface.
Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan
method apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima
dan data apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote
interface menentukan karakteristik methods yang disediakan server yang dapat
dilihat oleh client. Client programmer harus dapat mengetahui methods apa yang
disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote
interface. Client mendapatkan referensi ke remote object melalui RMI registry.
Membangun suatu aplikasi
terdistribusi menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut
adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface
dan server
3. Pengembangan client (atau
applet) yang menggunakan remote interface
4. Mengkompilasi source files dan
mem-buat stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client
Implementasi RMI
Perusahaan programming Avitek
yang berlokasi di Amerika Serikat, membuat program sistem accounting untuk
intranet yang memungkinkan klien untuk meng-update dan mengubah data dengan
mudah. Tujuan dari proyek ini adalah untuk membuat dan mendukung pembuatan dari
bukti nyata untuk konsep penggunaan Java yang dikombinasikan dengan database.
Perusahaan CEAS Consulting yang
menyediakan jasa custom re-engineering dan otomasi proses untuk
perusahaan-perusahaan manufakturing dan teknik, telah membuat program sistem
terdistribusi untuk klien mereka.
Keuntungan RMI
•
Salahsatu keuntungan RMI adalah kemampuan untuk download bytecodes
(code) dari suatu object’s class, jika class tsb tidak terdefinisikan di VM-nya
penerima.
•
Type-type dan metode-metode object (class), yang terletak dalam satu VM,
dapat dikirim ke VM yang lain, yang mungkin saja remote.
•
Sifat-sifat object yang terkirim ini tidak berubah sama sekali
Kelemahan RMI
proses pembukaan socket yang
kadang-kadang tidak dapat diimplementasikan lewat jaringan internet, tapi hal
ini bisa diatasi dengan menggunakan Spring HttpInvoker, sama persis dengan RMI
tapi lewat protokol HTTP.
Referensi :
Link Anggota Kelompok :