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.
Tidak ada komentar:
Posting Komentar