Merupakan 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 sering kali 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 menginvoke/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 danmemberikan informasi secara timbal balik. Aplikasi
semacam ini seringkali disebut aplikasi objek terdistribusi. 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.
Contoh RMI dikenal seperti Proxy dan
Skeleton.
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
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.
2 comments:
permisi gan, saya ada sedikit tulisan mengenai protokol websocket menggunakan bahasa java berikut gan: http://datacomlink.blogspot.co.id/2015/11/script-java-websocket-rfc-6455-server.html ditunggu feedback-nya ya gan, semoga menambah wawasan bersama.. terima kasih gan..
Ok ke TKP, makasih banyak infonya :)
Post a Comment