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
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
-
3 | Page
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
eksekusi kembali.
Repeated execution prosedur
Dari dua kemungkinan-kemungkinan dua operasi tersebut, memunculkan beberapa
semantic invocation.
Type-type dan metode-metode object (class), yang terletak dalam satu VM,
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)
untuk menerjemahkan
remote
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