Senin, 17 Maret 2014

Remote Procedure Call

Definisi RPC
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). 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.

Protokol RPC mengijinkan pengguna (users) untuk bekerja dengan
prosedur remote sebagaimana bekerja dengan prosedur lokal. Prosedur
panggilan remote (remote procedure calls) didefinisikan melalui rutin yang
terkandung didalam protokol RPC. Tiap message dari panggilan akan
disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah
suatu protokol untuk ”meneruskan pesan” yang mengimplemntasikan
protokol non-RPC lain seperti panggilan remote batching dan broadcasting.
Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.




Kelebihan dan Kekurangan RPC
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: hubungan anatara client dan server bersifat static.

- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.


Prinsip Dasar RPC


Skema RPC ini dilakukan juga pada proses-proses 



Langkah-langkah dalam RPC 

1. Prosedur client memanggil client stub
2. Client stub membuat pesan dan memanggil OS client
3. OS client mengirim pesan ke OS server
4. OS server memberikan pesan ke server stub
5. Server stub meng-unpack parameter-parameter untuk memanggil server
6. Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7. Server stub mem-pack hasil tsb dan memanggil OS server
8. OS server mengirim pesan (hasil) ke OS client
9. OS client memberikan pesan tersebut ke client stub
10. Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke Clientyang 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 (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan).




source:
http://en.wikipedia.org/wiki/Remote_procedure_call


Link Terkait:
1
2
3
4 

1 komentar: