RPC
Remote Procedure Call (RPC)
adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur
yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus
menyediakan layanan remote procedure. Pendekatan yang dilakuan
adalah sebuah server membuka socket, lalu
menunggu client yang meminta prosedur yang disediakan oleh server.
Bila client tidak tahu harus menghubungi port yang
mana, client bisa me- request kepada
sebuah matchmaker pada sebuah RPC port yang
tetap. Matchmaker akan memberikan port apa
yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam
pemrograman, yaitu menggunakan paradigma procedural programming.
Hal itu membuat kita sulit ketika menyediakan banyak remote procedure.
RPC menggunakan socket untuk berkomunikasi dengan proses
lainnya. Pada sistem seperti SUN, RPC secara default sudah
ter- installkedalam sistemnya, biasanya RPC ini digunakan untuk
administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses
sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke
jaringan.
RPC
( Remote Procedure Call )
RPC 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 ).Protokol RPC digunakan untuk membangun aplikasi klien-server yang terdistribusi.
RPC 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 ).Protokol RPC digunakan untuk membangun aplikasi klien-server yang terdistribusi.
Kelebihan RPC
·
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 socket, 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:
- Static relationship between client &
server at run-time.
·
Berdasarkan prosedural/structured programming yang
sudah ketinggalan jaman dibandingkan OOP.
• 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.
Gambar 1.
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 :
Berikut ini adalah diagram yang akan menjelaskan secara rinci mengenai proses yang terjadi pada klien dan server dalam eksekusi suatu prosedur RPC :
Gambar 2.
Proses Klien Server dalam RPC
1. 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.
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.
9. Stub
klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
10. Proses
unmarshalled kemudian dilakukan pada message ini dan nilai balikan aka diambil
untuk kemudian diproses pada proses lokal.
Proses
diatas akan dilakukan berulang-ulang ( rekursif ) dalam pengeksekusian RPC
dalam suatu remote sistem.
Contoh
aplikasi untuk meremote pada teknik RPC (Remote Procedure Call) adalah
menggunakan putty untuk melakukan SSH.
Kegunaan
utama SSH adalah untuk memasuki sistem komputer di tempat lain yang terhubung
melalui jaringan dengan cara yang aman. Tapi saat ini SSH dapat diturunkan
untuk berbagai hal yang amat dibutuhkan dalam komputasi jaringan atau lebih
besar lagi: internet.
Sedangkan
putty adalah software remote console/ terminal yang digunakan untuk meremote
komp dengan terhubungnya menggunakan port ssh atau sebagainya, Pada bahasan
disini diterang cara unutk meremote komp sistem operasi linux dengan
menggunakan komp sisem operasi windows tentunya putty disini diinstall
diwindows jadi digunakan putty versi windows.
Sebagai contoh :
Alternatif lain dari socket adalah dengan menggunakan Remote Procedure Call (RPC), yang mengabstraksi interface komunikasi ke level pemanggilan procedure. Programmer tidak akan menangani socket secara langsung, dan seolah-olah memanggil prosedur lokal, padahal argumen dari prosedur lokal tersebut dipaketkan dan dikirimkan ke tujuan jarak jauh. Tapi RPC tidak bisa langsung dipakai dalam sistem objek terdistribusi. Dalam sistem objek terdistribusi, diperlukan komunikasi antara objek-objek yang ada di level program, yang berada dibanyak tempat. Oleh karena itu, sistem objek terdistribusi memerlukan suatu Remote Method Invocation (RMI). Pada sistem yang memakai RMI, sebuah objek lokal yang dinamakan stub mengurus pemanggilan method pada objek jarak jauh.
Alternatif lain dari socket adalah dengan menggunakan Remote Procedure Call (RPC), yang mengabstraksi interface komunikasi ke level pemanggilan procedure. Programmer tidak akan menangani socket secara langsung, dan seolah-olah memanggil prosedur lokal, padahal argumen dari prosedur lokal tersebut dipaketkan dan dikirimkan ke tujuan jarak jauh. Tapi RPC tidak bisa langsung dipakai dalam sistem objek terdistribusi. Dalam sistem objek terdistribusi, diperlukan komunikasi antara objek-objek yang ada di level program, yang berada dibanyak tempat. Oleh karena itu, sistem objek terdistribusi memerlukan suatu Remote Method Invocation (RMI). Pada sistem yang memakai RMI, sebuah objek lokal yang dinamakan stub mengurus pemanggilan method pada objek jarak jauh.
SUMBER :
- http://sutiyonorms.blogspot.com/
- http://vajza.wordpress.com/2010/11/22/remote-procedure-call-rpc/
- http://narenciel.blogspot.com/2012/01/pengertian-rmi-dan-rpc.html#ixzz2NzujVR54