Prinsip RPC
Pada prinsipnya hubungan yang terjadi antara program client dan server pada RPC, adalah sebagai berikut :
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)
No comments:
Post a Comment