… apa adanya …

Remote Procedure Call (RPC)

Posted on: November 22, 2010


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-install kedalam 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.

 

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.

 

Prinsip RPC dalam program Client-Server

 

Skema RPC ini dilakukan juga pada proses-proses yang running di komputer berlainan

  • Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling
  • Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instans dari komponen (remote)
  • Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan

 

Langkah-langkah dalam RPC

  • Prosedur client memanggil client stub
  • Client stub membuat pesan dan memanggil OS client
  • OS client mengirim pesan ke OS server
  • OS server memberikan pesan ke server stub
  • Server stub meng-unpack parameter-parameter untuk memanggil server
  • Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
  • Server stub mem-pack hasil tsb dan memanggil OS server
  • OS server mengirim pesan (hasil) ke OS client
  • OS client memberikan pesan tersebut ke client stub
  • Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke client

Leave a comment

^_^

Calendar

November 2010
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
2930  

Blog Stats

  • 54,003 hits