Definisi RPC :
RPC (Remote Procedure Call) adalah suatu
protokol yang menyediakan suatu mekanisme komunikasi antar proses yang
mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa
adanya eksekusi kode pada sistem yang jauh (remote system). RPC mengasumsi
keberadaan dari low-level protokol transportasi seperti TCP atau UDP untuk
membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas
protokol eXternal Data Representation (XDR), yang merupakan standar dari
representasi data dalam komunikasi remote. Protokol XDR mengubah parameter dan
hasil dari tiap servis RPC yang disediakan.
Proses
RPC :
Berikut
penjelasan dari diagram diatas :
1. Klien memanggil prosedur stub lokal.
Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke
jaringan. Proses ini disebut sebagai marshalling.
2. Fungsi Network pada O/S (Operating
system - Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
3. Kemudian Kernel ini akan mengirim
message ke sistem remote. Kondisi ini dapat berupa connectionless atau
connection-oriented.
4. Stub pada sisi server akan melakukan
proses unmarshals pada paket yang dikirim pada network.
5. Stub pada server kemudian mengeksekusi
prosedur panggilan lokal.
6. Jika eksekusi prosedur ini telah
selesai, maka eksekusi diberikan kembali ke stub pada server.
7. Stub server akan melakukan proses
marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke
jaringan.
8.
Message ini akan dikirim kembali ke
klien.S
9.
Stub klien akan membaca message ini
dengan menggunakan fungsi pada jaringan.
10. Proses
unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal.
11. Proses
diatas akan dilakukan berulang-ulang (rekursif) dalam pengeksekusian RPC dalam suatu remote sistem.
Cara Kerja RPC :
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.
Flowchart :
Flowchart :
Studi Kasus RPC :
Contoh studi kasus RPC yaitu pada jasa penge-print-an di
rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa
komputer client dan sebuah printer yang hanya terhubung dengan server. User
dari computer client ingin mencetak data dari komputernya. Biasanya user
memindah data dengan bantuan device external seperti disket, flash disk, hard
disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien.
Solusi : Dengan RPC, untuk mencetak
data dari computer client, computer client mengirim pesan “cetak” kepada
computer server. Kemudian computer server menerima perintah tersebut dan
kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan
pesan pada client berupa informasi “file telah dicetak”.
1.
http://xceaster.files.wordpress.com/2009/07/remote-procedure-call.pdf (Tanggal
akses 19 Maret 2013)
2. http://sea7star.blogspot.com/2012/03/remote-procedure-call-rpc.html (Tanggal
akses 19 Maret 2013)
3.
http://id.scribd.com/doc/33389539/Tugas-Mk-Istem-Terdistibusi-Makalah-RPC (Tanggal
akses 19 Maret 2013)