RPC (Remote Procedure Call)
RPC (Remote Procedure Call)
RPC (Remote Procedure Call) 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.
Contoh
1.
Prosedur client memanggil client stub. Klien memanggil prosedur stublokal.
Prosedur Stub akan memberikan parameter dalam suatu paket yangakan dikirim ke
jaringan. Proses ini disebut sebagai marshalling.
2. Client stub membuat pesan dan memanggil OS local.
Fungsi Network pada O/S (Operating system ± Sistem Operasi) akan
dipanggil oleh stub untuk mengirim suatu message.
3. OS client mengirim pesan ke OS remote. Kemudian Kernel
ini akan mengirim message ke sistem remote. Kondisi ini dapat berupaconnectionless
atau connection-oriented.
4. Remote OS memberikan pesan ke server stub. Stub pada
sisi server akan melakukan proses unmarshals pada paket yang dikirim pada
network.
5. Server stub meng-unpack parameter2 dan memanggil
server. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
6. Server mengerjakan operasi, dan me-return hasilnya ke
server stub. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan
kembali kestub pada server.
7. Server stub mem-pack hasil tsb dan memanggil OS lokalnya.
Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai
balikan( hasilnya ) kembali ke jaringan.
8. OS server mengirim pesan (hasil) ke client OS. Message
ini akan dikirim kembali ke klien.
9. Client OS memberikan pesan tersebut ke client stub.
Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
10. Client stub meng-unpack hasil dan me-return hasil ke
client. Proses unmarshalled kemudian dilakukan pada message ini dan nilai
balikanakan diambil untuk kemudian diproses pada proses lokal.

Comments
Post a Comment