Remote Procedure Call (RPC) adalah sebuah metoda yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah komputer (server) harus menyediakan layanan remote prosedur. Pendekatan yang dilakukan adalah, sebuah server membuka socket, menunggu client yang meminta prosedur yang disediakan oleh server. RPC masih menggunakan cara primitive dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure.
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.
Alur Remote Procedure Call |
Diagram diatas memberikan gambaran mengenai flow dari eksekusi dalam proses RPC.
Berikut ini adalah diagram yang akan menjelaskan secara rinci mengenai proses yang terjadi
pada klien dan server dalam eksekusi suatu prosedur RPC :
Proses Client Server dalam RPC |
Berikut penjelasan dari diagram diatas :
- Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
- Fungsi Network pada O/S (Operating system - Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
- Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
- Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
- Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
- Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
- Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
- Message ini akan dikirim kembali ke klien.
- Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
- Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan aka diambil untuk kemudian diproses pada proses lokal.
- Relatif mudah digunakan => Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
- Robust (Sempurna) = > Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.
Kekurangan RPC :
- Tidak fleksibel terhadap perubahan
- Kurangnya location transparency
Sumber :
- https://docs.google.com/viewer?a=v&q=cache:3y9Pn-ED5WoJ:www.undiksha.ac.id/e-learning/staff/mhsfiles/4/396-1.pdf+&hl=en&gl=id&pid=bl&srcid=ADGEESjNYv89UnMxnhOAe2lt8JQiQ44fjt3-_STByI-GHBAORqhOZ4nktJxLGG11CGvIvEUqq6Sfup38WxiHgs-ybCSKa7uyGnvjaytjUf1Vb3PAaBe18yd4t5RS6je8RzYhEVUpwS9V&sig=AHIEtbSby0ucsDkZ0vBj-j-GQNwKUR_GwQ (format pdf)
- http://iinpunyablog.blogspot.com/2010/03/rmi-dan-rpc.html
- http://myth90.blogspot.com/2012/01/rpc-remote-procedure-call.html
0 comments:
Post a Comment