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