Konsep RPC (Remote Procedure Call) pada Komunikasi Sistem Terdistribusi
Defnisi RPC
Umumnya protokol RPC yang digunakan pada saat ini adalah DCOM (Distributed Component Object Model). Saat ini ada alternatif protokol baru, yakni SOAP (Simple Object Access Protocol), yang berdasarkan pada teknologi XML.
Cara Kerja RPC
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.
- Fungsi Network pada O/S (Operating system – Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
- Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
- Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
- Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
- Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
- Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
- Message ini akan dikirim kembali ke klien.
- Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
- Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan 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.
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 memerlukanscalability, 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.
Link Terkait :
Sumber :