KONSEP RPC
(REMOTE PROCEDURE CALL)
DEFINISI
RPC
adalah suatu protokol yang menyediakan suatu mekanisme
komuikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu
komputer tanpa terasa adanya eksekusi kode sistem yang jauh (remote system).
– 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.
PRINSIP RPC
Pada prinsipnya hubungan yang terjadi antara program client
dan server pada RPC, adalah sebagai berikut :

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.
Layer RPC
Bagian antar-muka (interface ) dari RPC dibagi menjadi 3
lapisan / bagian (layer ) yaitu :
1. Lapisan Tertinggi (Highest Layer)
Lapisan ini merupakan lapisan yang sangat bersentuhan
langsung dengan sistem op-erasi, mesin dan jaringan tempat RPC berjalan. Layer
ini umumnya banyak digunakan pada pembuatan dan pemprograman RPC karena
penggunaan layer ini sama saja dengan penggunaan RPC. Banyak servis / layanan
pada layer ini yang berhubungan langsung dengan informasi yang banyak
dibutuhkan, misalnya fungsi rnuser() yang berguna untuk memberikan informasi
jumlah user / pengguna pada sistem remote.
Berikut ini jenis-jenis servis lainnya yang banyak
digunakan pada layer ini :
2. Lapisan Menengah (Intermediate
Layer )
Lapisan ini merupakan implementasi dari RPC sesungguhnya.
Pada layer ini, seorang user tidak harus berhubungan dengan soket, sistem
operasi atau implementasi lo-level lainnya. Pada layer ini, seorang user hanya
melakukan proses remote pada suatu mesin. Layer ini merupakan layer yang
digunakan untuk semua program RPC. Pada layer ini terdapat rutin-rutin mengenai
”registerrpc()”, ”callrpc”, dan scv run. Dua rutin yang disebut pertama adalah
rutin-rutin yang fundamental. ”registerrpc() digunakan untuk memperoleh nomor
unik dari tiap prosedur identifikasi dalam tiap sistem. Sedangkan ”callrpc()”
digunakan untuk mengeksekusi prosedur remote. Im-plementasi layer diatasnya
dilakukan pada layer ini.
3. Lapisan Terendah (Lowest Layer )
Lapisan ini merupakan lapisan yang mengatur tentang soket
dan sistem call. Lapisan ini tidak memberikan data dan servis secara detail
untuk dapat digunakan. Umumnya program yang dibuat untuk lapisan ini merupakan
program yang paling efisien. Per-masalahan yang timbul pada sistem ini
berkaitan dengan penyesuaian implementasi RPC untuk sistem operasi yang
berbeda.
Protokol RPC
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. Protokol RPC mengijinkan pengguna untuk bekerja dengan
prosedur remote sebagaimana bekerja dengan prosedur lokal.Prosedur panggilan
remote didefinisikan melalui rutin yang terkandung didalam protokol RPC. Tiap
pesan dari panggilan akan disesuaikan dengan pesan balikan. Protokol RPC
sendiri sebenarnya adalah suatu protokol untuk ”meneruskan pesan” yang
mengimplementasikan protokol non-RPC lain seperti panggilan remote
batchingdan broadcasting. Protokol ini juga mendukung adanya prosedur
callback dan select subroutinepada sisi server. (Spangler, 2004)
·
KESIMPULAN
Dari kesimpulan
menurut yang saya dapat dari RPC itu adalah suatu server untuk mengakses sebuah
procedure yang berada di computer lain sehingga client tersebut bisa untuk
me-request kepada sebuah matchmaker pad sebuah RPC port yang tetap.

Tidak ada komentar:
Posting Komentar