Anda di halaman 1dari 7

PAPER

Metode Komunikasi RMI (Remote Method Invocation)


Antar Client Pada Aplikasi Teamviewer

Di susun oleh :
FADHLAN RUCHIATNA

13.01.013.005

Teknik Informatika
Universitas Teknologi Sumbawa
Jl.Raya Olat Maras, No.1. Batu Alang, Sumbawa Besar-NTB
2015
Website : www.uts-sumbawa.ac.id

METODE KOMUNIKASI RMI (REMOTE METHOD INVOCATION)


ANTAR CLIENT
PADA APLIKASI TEAMVIEWER1
Oleh : Fadhlan Ruchiatna2
------------------------------------------------------------------------------------------------------Abstrak
Java adalah sebuah bahasa pemrograman dan juga sebuah platform. Java juga
merupakan sebuah bahasa pemrograman tingkat tinggi, salah satu fitur java yang
menarik yaitu RMI. RMI (Remote Method Invocation) adalah sebuah teknik pemanggilan
method remote yang secara umum lebih baik dari pada RPC (Remote Procedure Call). Pada
RMI menggunakan sebuah paradigma yaitu pemrograman berorientasi obyek (object
oriented programming). RMI memungkinkan kita untuk dapat mengirimkan sebuah obyek
sebagai parameter dari remote method. Dengan diperbolehkannya program java memanggil
method pada remote obyek, sehingga dengan adanya RMI membuat pengguna dapat
mengembangkan aplikasi java yang terdistribusi pada jaringan
Kata Kunci : java, RMI
------------------------------------------------------------------------------------------------------1. PENDAHULUAN
Remote Access adalah istilah yang menggambarkan dimana sebuah komputer yang
satu, bisa dikendalikan oleh komputer yang lainnya dengan menggunakan media jaringan
computer seperti Internet, atau menggunakan applikasi Teamviewer. Teamviewer adalah
suatu program yang cukup sederhana dan sangat mudah digunakan untuk beberapa
keperluan terutama melakukan akses PC secara remote melalui internet. Teamviewer juga
dapat dijalankan dengan menggunakan jaringan LAN (Local Area Network), tetapi jika kita
menggunakan LAN hanya terbatas pada koneksi jaringan lokal saja yang kita gunakan.
Penulisan paper ini bertujuan agar pembaca dapat mengenal java RMI
(Remote Method Invocation) untuk berkomunikasi antar client dengan aplikasi
TeamViewer. Manfaat dari penulisan paper ini yaitu pembaca dapat mengenal java RMI
lebih lanjut tentang pengertian RMI, implementasi RMI, cara kerja RMI, masalah
perancangan untuk RMI, serta keuntungan dan kelemahan RMI yang akan dibahas pada bab

1 Makalah ini ditulis untuk tugas tengah semester mata kuliah Kajian
Pemrograman Jaringan
2 Penulis adalah mahasiswa Teknik Informatika UTS. NIM 1301013005
1 | Page

pembahasan. Penulis berharap semoga dengan adanya paper ini dapat menjadi langkah awal
bagi pembaca yang ingin mengembangkan bahasa pemrograman jaringan.
2. PEMBAHASAN
Java diciptakan oleh sebuah tim yang dipimpin oleh Patrick naughton dan james
gosling dalam suatu proyek dari sun microsystem yang memiliki kode green dengan tujuan
untuk menghasilkan bahasa komputer sederhana yang dapat dijalankan diperalatan
sederhana dan tidak terikat pada arsitektur tertentu. Pemrograman java memiliki karakteristik
berorientasi obyek (object oriented programming), dengan implementasi yang sangat baik
sehingga kita tidak hanya belajar bagaimana membuat program yang baik (reusable, scalable,
dan maintanable) tetapi kita juga belajar bagaimana cara berfikir yang baik untuk mengenali
struktur masalah yang sedang kita hadapi dan memecahkan masalah tersebut secara
sistematis dengan pola-pola tertentu. Beberapa fitur menarik yang ditawarkan java API salah
satunya yaitu RMI (Remote Method Invocation).
Pengertian RMI
RMI

(Remote

Method

Invocation)

adalah

perluasan

dari

local

method

invocation yang memungkinkan sebuah obyek yang hidup dalam satu proses untuk memohon
method obyek yang berada diproses lain. (George Coulouris hal 166). Aplikasi RMI
seringkali terdiri dari dua program terpisah yaitu server dan client. Pada aplikasi server
biasanya membuat beberapa obyek remote yang menyediakan referensi terhadap

obyek-

obyek tersebut sehingga dapat diakses, serta menunggu client memanggil method
dari obyek-obyek remote tersebut. Pada aplikasi client mendapatkan referensi remote ke satu
atau lebih obyek remote di server dan menjalankan method dari obyek tersebut. RMI
menyediakan secara timbale balik. Pada aplikasi ini seringkali disebut sebagai aplikasi obyek
terdistribusi.
Aplikasi obyek terdistribusi seringkali melakukan hal-hal berikut ini :
- Melokasikan obyek remote
Aplikasi dapat menggunakan satu dari dua mekanisme untuk mendapatkan referensi
ke obyek remote. Aplikasi dapat mendaftarkan obyek remote dengan fasilitas
penamaan RMI yang disebut sebagai naming facility yaitu rmiregistry atau aplikasi
dapat mem-pass dan mengembalikan referensi obyek remote sebagai bagian dari
operasi normal.
- Berkomunikasi dengan obyek remote
2 | Page

Secara detail komunikasi antara obyek remote ditangani oleh RMI, bagi
programmer komunikasi remote terlihat seperti invokasi method java standar.
- Memanggil (load) bytecode untuk obyek yang di-pass
Dikarenan RMI mengizinkan pemanggil (caller) untuk mem-pass obyek ke obyek
remote, RMI menyediakan mekanisme yang diperlukan obyek me-load kode obyek,
dan juga mentransmisikan datanya.
Implementasi RMI
Remote referensi modul
- Remot referensi modul (Remote Modul Reference) yang bertanggung jawab untuk
menerjemahkan antara local dan remote referensi obyek dan untuk menciptakan remote
referensi obyek. Untuk mendukung tugasnya ini, remot referensi modul dalam
setiap proses memiliki tabel remote obyek yang mencatat korespondensi antara obyek
lokal referensi dalam proses dan remote referensi obyek (dimana system-wide) (George
Coulouris dkk, hal 176).
Tindakan remote referensi modul adalah sebagai berikut :
- Ketika remote obyek diteruskan sebagai argumen atau sebagai hasil untuk pertama
kalinya, remote referensi modul diminta untuk membuat remote referensi obyek yang
-

menambahkan tabel.
Ketika remote referensi obyek tiba dalam permintaan atau membalas pesan, remote
referensi modul diminta untuk menyesuaikan referensi obyek local, yang mungkin
mengacu baik pada proxy atau ke obyek remote. Dalam hal remote referensi obyek

tidak ada dalam tabel, menciptakan perangkat lunak RMI proxy baru dan meminta remote
referensi modul untuk menambahkannya ke tabel.
Software RMI terdiri dari suatu lapisan perangkat lunak antara aplikasi level obyek dan
komunikasi dan remote referensi modul. Peran middleware obyek adalah sebagai berikut :
- Proxy pada client : tempat penyimpanan local untuk remote objek
-

Dispatcher pada server : menerima request dan menggunakan methodid untuk

memilih message di skeleton


Skeleton : kelas jauh obyek memiliki kerangka, yang mengimplementasikan metode dalam
antarmuka remote. Mereka dilaksanakan cukup berbeda dari metode-metode di remote
obyek. Sebuah metode menguraikan kerangka argument dalam pesan permintaan dan
memanggil metode yang sesuai dalam remote obyek.

3 | Page

Cara kerja RMI


Pada model RMI, sebuah proses memanggil method dari obyek yang terletak pada
suatu host atau computer remote. Dalam paradigma ini, penyedia layanan mendaftarkan
dirinya dengan server direktori pada jaringan. Proses yang menginginkan suatu layanan
mengontak server direktori saat runtime. Jika layanan tersedia, maka referensi ke layanan
akan diberikan. Dengan menggunakan referensi ini, proses dapat berinteraksi dengan layanan
tersebut. Paradigma ini ekstensi penting dari paradigma RPC. Perbedaannya adalah objek
yang memberikan layanan didaftarkan (diregister) ke suatu layanan direktori global, sehingga
memungkinkan untuk ditemukan dan diakses oleh aplikasi yang meminta layanan tersebut.
Contoh aplikasi untuk meremote pada teknik RMI (Remote Method Invocation)
menggunakan teamviewer untuk meremote computer lain. Teamviewer adalah suatu program
yang cukup sederhana dan sangat mudah digunakan untuk beberapa keperluan terutama
melakukan akses PC secara remote melalui internet.
Masalah perancangan untuk RMI

Semantic pemanggilan RMI


doOperation() dapat diterapkan dalam beberapa cara untuk menyediakan jaminan

pengiriman yang berbeda.


Retry request message : pengiriman ulang request walaupun reply diterima atau server

diasumsikan gagal.
Duplicate filtering : apakah dilakukan filtering terhadap request yang sama atau tidak.
Ketika semua request yang dikirim ulang diterima server, ada dua kemungkinan yang

dilakukan obyek server


Retransmission of result : apakah mampu menyimpan (caching) hasil reply,
sehingga jika memang perlu melakukan retransmisi ulang tidak perlu melakukan

eksekusi kembali.
Repeated execution prosedur
Dari dua kemungkinan-kemungkinan dua operasi tersebut, memunculkan beberapa
semantic invocation.

Keuntungan dan kelemahan RMI


Keuntunngan RMI
- Salah satu keuntungan RMI adalah kemampuan untuk download zytecodes
(code) dari suatu objects class, jika class tersebut tidak terdefinisikan di VM- nya
penerima
4 | Page

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.

3. KESIMPULAN
Pada java API terdapat beberapa fitur menarik, salah satunya yaitu RMI
(Remote Method Invocation). RMI adalah perluasan dari local method invocation yang
memungkinkan sebuah obyek yang hidup dalam satu proses untuk memohon method obyek
yang berada diproses lain.
Implementasi RMI terdapat sebuah Remot referensi modul (Remote Modul
Reference)

yang bertanggung jawab

untuk menerjemahkan

antara local dan

remote

referensi obyek dan untuk menciptakan remote referensi obyek.


Demikianlah penulisan paper ini dibuat, semoga paper ini dapat bermanfaat bagi para
pembaca. Penulis berharap semoga dengan adanya paper ini dapat menambah wawasan bagi
pembaca dalam bidang pemrograman java.

5 | Page

Daftar Pustaka
http://muhammadtaufiqaminullah.blogspot.com/2013/05/pengertian-rmi-remote- methodinvocation.html
http://www.ryanscheineder.com/2008/04/pengertian-java.html
http://ishares.wordpress.com/2007/09/30/part-1-java-programming-using-rmi-remotemethod-invocation/
http://rifkiputra1991.blogspot.com/
http://www.geocities.ws/ginanjar_utama/writing/berfikirJava.pdf http://ngoprek2pc.blogspot.com/2012/07/mengenal-java.html http://susi.staff.jakstik.ac.id/files/pemrograman-java.pdf

6 | Page

Anda mungkin juga menyukai