Laman

Jumat, 16 Maret 2012

Remote Procedure Call (RPC)


Definisi :
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 digunakan untk membangun aplikasi klien server yang terdistribusi.

- Didasarkan pada memperluas konsep konvensional dari suatu prosedur dimana nantinya mempunyai alamat sama dengan lokasi prosedur dipanggil.

- RPC mengasumsi keberadaan TCP atau UDP untuk membawa pesan data dalam komniasi suatu program.
- Protokol RPC dibangun diatas protokol eXternal Data Representasi (XDR) yang merupakan sandar representasi data dalam komunikasi remote.


-  Protokol RPC mengijinkan pengguna untuk bekerja dengan remote sebagaimana bekerja dengan prosedur lokal.

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.

* Kurangnya location transparency :
- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.
- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.

Fitur dalam RPC
1.  Batching Calls
    Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
2. Broadcasting Calls
     Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
3. Callback Procedures
    Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien.
4. Select Subrutin
    Memeriksa deskripsi suatu file dan messages dalam antrian untuk melihat apakah siap dibaca atau ditulis, atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas) 

Prinsip dasar RPC

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 Client

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

Tidak ada komentar:

Posting Komentar