Saturday, November 28, 2015

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.


  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.

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

No comments:

Post a Comment