Tugas - RPC (Remote Procedure Call) - Komputer Blog

Tugas - RPC (Remote Procedure Call)

Tugas - RPC (Remote Procedure Call)


RPC (Remote Procedure Call) adalah metode yang memungkinkan mengakses sebuah prosedur yang ada di computer lain menggunakan server yang menyediakan layanan Remote Procedur.
Pendekatan yang dilakukan adalah Server membuka socket lalu menunggu client yang meminta prosedur yang disediakan oleh server.

Langkah – langkah :
1. Klien memanggil prosedur stub lokal dan meminta paket yang dibutuhkan klien
2. Prosedur stub lokal membawa paket yang sudah berisi parameter ke klien kemudian klien meminta stub mengirim paket ke jaringan
Tiap prosedur yang dipanggil dalam RPC, harus berkoneksi dengan server Remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai.
Kernel pada O/S dipanggil oleh stub untuk mengirim pesan. Lalu kernel akan mengirim pesan ke sistem Remote. Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim ke network.
Stub pada server kemudian mengeksekusi prosedur panggilan lokal. Jika eksekusi prosedur telah selesai, maka eksekusi diberikan kembali ke stub pada server. Stub server akan melakukan proses marshals lagi dan mengirimkan pesan nilai balikan (hasilnya) kembali ke jaringan. Paket yang sudah berhasil dieksekusi oleh stub dikembalikan ke klien. Klien akan membaca paket dengan menggunakan fungsi pada jaringan. Proses unmarshalled kemudian dilakukan pada paket ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal.
Proses diatas dilakukan berulang-ulang (rekursif) dalam pengeksekusian RPC dalam suatu remote sistem.
Fitur dalam RPC :
1. Batching Calls à mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
2. Broadcasting Calls à mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
3. Callback Procedure à 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)

Kelebihan RPC :
1. Pemrogram dapat berkonsentrasi pada software light, tidak perlu memikirkan low level detail seperti soket, marshaling & unmarshalling.
2. Robust (sempurna)
Sejak tahun 1980-an RPC telah banyak digunakan dalam pengembangan mission-critical application yang memerlukan scalability, fault tolerance & reability.
Kekurangan RPC :
1. Tidak fleksibel terhadap perubahan
2. Static relationship between client & server at run-time
3. Berdasarkan procedural/structured programming yang sudah ketinggalan jaman dibandingakan OOP
4. Kurangnya location transparency
5. Pemrogram hanya boleh melakukan pass by value, bukan pass by reference
6. Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time)
7. Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yang terpisah
Diberdayakan oleh Blogger.