Apa Itu Remote Procedure Calls (RPC)?
Dalam
komputasi terdistribusi , panggilan prosedur jarak jauh ( RPC ) adalah
ketika program komputer menyebabkan prosedur ( subrutin ) untuk
dieksekusi di ruang alamat yang berbeda (biasanya di komputer lain di
jaringan bersama), yang dikodekan seolah-olah itu typical (
neighborhood) prosedur panggilan, tanpa software engineer secara
eksplisit mengkodekan detail untuk interaksi jarak jauh. Artinya,
developer pada dasarnya menulis kode yang sama apakah subrutin itu lokal
ke program yang menjalankan, atau jarak jauh. Ini adalah bentuk
interaksi klien-worker (pemanggil adalah klien, pelaksana adalah
worker), biasanya diimplementasikan melalui sistem penyampaian pesan
permintaan-respons. Dalam paradigma pemrograman berorientasi objek, RPC
diwakili oleh pemanggilan metode jarak jauh (RMI). Model RPC menyiratkan
tingkat transparansi lokasi , yaitu bahwa prosedur panggilan sebagian
besar sama baik lokal maupun jarak jauh, tetapi biasanya tidak identik,
sehingga panggilan lokal dapat dibedakan dari panggilan jarak jauh.
Panggilan jarak jauh biasanya lipat lebih lambat dan kurang dapat
diandalkan dibandingkan panggilan lokal, jadi penting untuk
membedakannya.
RPC adalah suatu bentuk komunikasi antar-expositions (IPC), dalam compositions yang berbeda memiliki ruang alamat yang berbeda: jika pada mesin have yang sama, mereka memiliki ruang alamat virtual yang berbeda, meskipun ruang alamat fisiknya sama; sedangkan jika mereka berada di have yang berbeda, ruang alamat fisiknya berbeda. Banyak teknologi yang berbeda (seringkali tidak kompatibel) telah digunakan untuk mengimplementasikan konsep tersebut.
RPC adalah suatu bentuk komunikasi antar-expositions (IPC), dalam compositions yang berbeda memiliki ruang alamat yang berbeda: jika pada mesin have yang sama, mereka memiliki ruang alamat virtual yang berbeda, meskipun ruang alamat fisiknya sama; sedangkan jika mereka berada di have yang berbeda, ruang alamat fisiknya berbeda. Banyak teknologi yang berbeda (seringkali tidak kompatibel) telah digunakan untuk mengimplementasikan konsep tersebut.
Implementasi Remote Procedure Calls (RPC)
Untuk
implemtasi RPC prosesnya tidak jauh beda dengan RMI, di RM kita
mengenal tentang proxy dan skeleton, sedangkan untuk RPC kita mengenal
tentang istilah Stub (Client Stub dan Server Stub).
Ilustrasi tentang implementasi RPC |
Remote Reference Modul (RRM) dan Communication Modul (CM) berada pada susunan Sistem Operasi.
Contoh
Implementasi RPC adalah SUN Microsystem Open Network Computing (ONC) :
RPC Spesification, eXternal Data Representation (XDR) standar, UDP atau
TCP tansport protokol. Xerox Couries : RPC model, Data Representation
standard, Xerox Network System (XNS), Squenced Packet Protocol (SPP)
sebagai transport protocol, Apollo's Network Computing Architecture
(NCA), RPC protocol, Network Data Representation (NDR)
Cara Kerja Remote Procedure Calls (RPC)
Cara
kerja dari Remote Procedire Calls (RPC) adalah memanggil setiap
prosedur yang terdapat pada RPC, proses pemanggilan prosedur ini harus
terkoneksi degnan server remote dan mengirimkan setiap parameter yang
dibutuhkan oleh rpc, kemudian menunggu balasan dari server lalu
melakukan proses dan selesai. Proses ini disebut dengan stub pada
Client. Sedangka untuk Stub pada server adalah untuk menunggu tiap pesan
yang berisi permintaan tentang prosedur tertentu.
Gambar diagram di atas merupakan gambaran mengenai jalannnya eksesuksi dalam proses RPC.
Berikut ini adalah penjelasan lebih detail mengenai diagram di atas :
Penjelasan dari diagram di atas adalah :
- Client dapat memanggul prosesdur Stub lokal dan memberikan parameter yang akan dikirim melalui jaringan. proses ini disebut juga dengan Marshalling.
- Pada Fungsi Network Operasing System (OS) akan di panggil oleh stub untuk mengirimkan suatu pesan.
- Pada bagian kernel akan mengirimkan pesan ke sistem remote. Pada kondisi ini dapat berupa connectionless atau connection-oreiented.
- Pada server stub akan melakukan suatu proses Unmarshals pada sebuah paket yang dikirimkan ke network.
- Pada stub server kemudian akan mengeksekusi sebuah prosedur panggilan lokal.
- Jika pada bagian eksekusi prosedur telah selesai, maka eksekusi akan di kembalikan ke stub server.
- Untuk stub server akan melalukan proses Marshall lagi dan mengirimkan sebuah pesan berisi nilai hasil kembali ke jaringan.
- Pesan ini akan dikirimkan kepada client.
- Untuk stub client akan membaca sebuah pesan dengan menggunakan sebuah fungsi pada jaringan.
- Terakhir, melalukan proses Unmarshall kemudian dilakukan pada pesan dan nilai hasil akan di ambil dan untuk diproses pada saat proses lokal.
0 on: "Pengertian Remote Procedure Calls (RPC)"